On 01/16/2012 05:08 PM, Andreas Färber wrote:
> Am 15.01.2012 10:19, schrieb Avi Kivity:
> > On 01/13/2012 05:09 AM, Andreas Färber wrote:
> >> Convert to new-style read/write callbacks.
> >>
> >>
> >> -static uint32_t PPC_PCIIO_readl (void *opaque, target_phys_addr_t addr)
> >> +static uint64_t ppc_pci_io_read(void *opaque, target_phys_addr_t addr,
> >> + unsigned int size)
> >> {
> >> PREPPCIState *s = opaque;
> >> - uint32_t val;
> >> - val = pci_data_read(s->bus, PPC_PCIIO_config(addr), 4);
> >> - return val;
> >> + switch (size) {
> >> + case 1:
> >> + case 2:
> >> + case 4:
> >> + return pci_data_read(s->bus, PPC_PCIIO_config(addr), size);
> >> + default:
> >> + abort();
> >> + }
> >> }
> >
> > Huh? just call pci_data_read() unconditionally.
>
> Just so that I understand, is that because PReP is 32-bit ppc? In the
> above mechanical conversion, size 8 would abort.
The memory core never issues size 8 transactions, since the code is
unprepared for it. When we will support it, you'll have to explicitly
declare it with .impl.max_access_size = 8 or something.
> BTW did we agree on an indentation style for switch?
What you wrote conforms to the de facto standard.
--
error compiling committee.c: too many arguments to function