On 04.01.2010, at 12:07, Michael S. Tsirkin wrote: > On Mon, Jan 04, 2010 at 07:45:16PM +0900, Isaku Yamahata wrote: >> +static PCIDevice *pci_host_dev_find_fn_noswap(PCIHostState *s, uint32_t >> addr) >> +{ >> + return pci_host_find_dev_active(s->bus, pci_host_pci_addr(s, addr)); >> +} >> + >> +static PCIDevice *pci_host_dev_find_fn(PCIHostState *s, uint32_t addr) >> +{ >> +#ifdef TARGET_WORDS_BIGENDIAN >> + addr = bswap32(addr); >> +#endif >> + return pci_host_find_dev_active(s->bus, pci_host_pci_addr(s, addr)); >> +} >> + > > BTW, I think we really should think about the right way to address the > swap/noswap issue without using a preprocessor. Maybe make pci host > bridge explicitly specify whether to swap bytes? How about adding a > field in PCIHostState to make it do this?
Sounds reasonable. But let's take baby steps here. I don't want to end up with a 10000 lines patch :-). Alex