From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:35661) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1YcWo5-0002t5-Si for qemu-devel@nongnu.org; Mon, 30 Mar 2015 06:20:35 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1YcWo4-00022E-Ed for qemu-devel@nongnu.org; Mon, 30 Mar 2015 06:20:33 -0400 Message-ID: <5519235C.6090004@ilande.co.uk> Date: Mon, 30 Mar 2015 11:20:12 +0100 From: Mark Cave-Ayland MIME-Version: 1.0 References: <5516FEDE.3030809@ilande.co.uk> <55191C97.8070308@redhat.com> In-Reply-To: <55191C97.8070308@redhat.com> Content-Type: text/plain; charset=windows-1252 Content-Transfer-Encoding: 7bit Subject: Re: [Qemu-devel] ppc vga output breakage since commit c3c1bb99 List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Paolo Bonzini , BALATON Zoltan , qemu-devel@nongnu.org Cc: Peter Crosthwaite , qemu-ppc@nongnu.org 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.