On Wed, 2012-01-11 at 01:08 +0100, Alexander Graf wrote: > On 11.01.2012, at 01:07, Anthony Liguori wrote: > > > On 01/10/2012 06:07 PM, Alexander Graf wrote: > >> From: Benjamin Herrenschmidt<b...@kernel.crashing.org> > >> > >> The virtio config area in PIO space is a bit special. The initial > >> header is little endian but the rest (device specific) is guest > >> native endian. > >> > >> The PIO accessors for PCI on machines that don't have native IO ports > >> assume that all PIO is little endian, which works fine for everything > >> except the above. > >> > >> A complicated way to fix it would be to split the BAR into two memory > >> regions with different endianess settings, but this isn't practical > >> to do, besides, the PIO code doesn't honor region endianness anyway > >> (I have a patch for that too but it isn't necessary at this stage). > >> > >> So I decided to go for the quick fix instead which consists of > >> reverting the swap in virtio-pci in selected places, hoping that when > >> we eventually do a "v2" of the virtio protocols, we sort that out once > >> and for all using a fixed endian setting for everything. > >> > >> Unfortunately, that mean moving virtio-pci from Makefile.objs to > >> Makefile.target so we can use TARGET_WORDS_BIGENDIAN which would > >> otherwise be poisoned. > >> > >> Signed-off-by: Benjamin Herrenschmidt<b...@kernel.crashing.org> > >> Signed-off-by: Alexander Graf<ag...@suse.de> > >> [agraf: keep virtio in libhw and determine endianness through a > >> helper function in exec.c] > > > > Both: > > > > Reviewed-by: Anthony Liguori <aligu...@us.ibm.com> > > Cool :). Queued up in ppc-next.
Fix the commit log, you aren't moving it to Makefile.target anymore :-) Cheers, Ben.