On 30/03/15 10:51, Paolo Bonzini wrote: > On 28/03/2015 20:19, Mark Cave-Ayland wrote: >> On 28/03/15 19:04, BALATON Zoltan wrote: >> >>> Hello, >>> >>> Commit c3c1bb99d1c11978d9ce94d1bdcf0705378c1459 (exec: Respect >>> as_tranlsate_internal length clamp) seems to break vga output with >>> qemu-system-ppc on x86_64 host. Since this commit, the output window >>> does not get to the OpenBIOS console but stays black. (Easy to reproduce >>> by just starting qemu-system-ppc.) >>> >>> The reason may be that this change has exposed another bug somewhere >>> else but this is all quite obscure to me. Does anyone have any idea what >>> could be wrong or where to look further. Any help is appreciated. >> >> Hi Zoltan, >> >> Yes indeed, this has been picked up in the last few days and is on the >> list of issues to be dealt with for -rc2. So watch this space... > > This is an OpenBIOS bug; the port at 0x1ce is 1 byte wide, but OpenBIOS > is accessing it as 2 bytes. > > Of course, there's a QEMU regression too and I'm thinking of how to fix it.
Hmmm that's interesting because the documentation refers to both registers being 16-bit: http://wiki.osdev.org/Bochs_VBE_Extensions. And indeed the pseudo-code uses outpw/inpw for accesses, even though the index and data registers are only 1 byte apart (0x1ce and 0x1cf) in I/O space. Maybe OpenBIOS is getting the endian conversion incorrect for the word access? (i.e. it's not converting to little endian). ATB, Mark.