On Sat, Jul 20, 2013 at 12:11:34PM +0200, Paolo Bonzini wrote: > Il 20/07/2013 03:11, Alexey Kardashevskiy ha scritto: > > On 07/20/2013 10:55 AM, Alexey Kardashevskiy wrote: > >> On 07/20/2013 01:48 AM, Alexey Kardashevskiy wrote: > >>> Ok. So. > >>> > >>> What broke is... > >>> I could try explaining but backtraces are lot better :) > >>> > >>> Shortly - virtio_pci_config_ops.endianness was ignored before (was bad but > >>> we had a workaround in spapr_io_ops), now it works so double swap happens > >>> and everything gets broken. > >>> > >>> If we talk about VGA (in powerpc, it is all about powerpc), I guess > >>> memory_region_iorange_write() will go through mr->ops->old_portio branch > >>> and won't do any byte swapping (so spapr_io_ops will do the job), so we > >>> are > >>> fine here. I do not understand yet why it works on mac99 though, too late > >>> here :) > >> > >> I understood. VGA does not work for mac99 either with this command line: > >> ./qemu-system-ppc64 -m "1024" -M "mac99" -vga "std" > >> So it works for pseries only because of parity bug in spapr_io_ops. > > Yes, this is what Herve was fixing for PREP too. > > > oops. I am wrong and VGA works on mac99 in upstream because isa_mmio_ops > > does the swapping in this case and portio_ops does not swap (in upstream). > > Uff... I guess we have to look at all cases for big-endian machines, and > make sure there is an odd number of exchanges. Aurelien/Alex/Herve, > where can I find images for mips malta, mips jazz, ppc4xx and prep? > Edgar, what about sh4eb (IIRC one of the two machine types supported PCI)?
Sorry, I don't know (I haven't done much SH). Best regards, Edgar