From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1KLf5u-0001u2-PW for qemu-devel@nongnu.org; Wed, 23 Jul 2008 10:13:30 -0400 Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1KLf5u-0001tO-4l for qemu-devel@nongnu.org; Wed, 23 Jul 2008 10:13:30 -0400 Received: from [199.232.76.173] (port=52471 helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1KLf5t-0001tH-U7 for qemu-devel@nongnu.org; Wed, 23 Jul 2008 10:13:30 -0400 Received: from yx-out-1718.google.com ([74.125.44.152]:44827) by monty-python.gnu.org with esmtp (Exim 4.60) (envelope-from ) id 1KLf5t-0006bs-NA for qemu-devel@nongnu.org; Wed, 23 Jul 2008 10:13:29 -0400 Received: by yx-out-1718.google.com with SMTP id 3so416020yxi.82 for ; Wed, 23 Jul 2008 07:13:29 -0700 (PDT) Message-ID: <48873C69.4040808@codemonkey.ws> Date: Wed, 23 Jul 2008 09:12:57 -0500 From: Anthony Liguori MIME-Version: 1.0 Subject: Re: [Qemu-devel] [BUG] QEMU BIOS - El Torito no emulation boot address incorrect seg:off References: <4886FD90.6040409@utu.fi> In-Reply-To: <4886FD90.6040409@utu.fi> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Reply-To: qemu-devel@nongnu.org List-Id: qemu-devel.nongnu.org List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org Jarno Rajala wrote: > Hello > > I believe I've located a minor bug in QEMU BIOS. According to the El > Torito specification the no emulation mode should load the boot code > to the real mode address seg:0 and start executing from there. > However, QEMU jumps to 0:seg*16, which is the same absolute address, > but wrong segment:offset. It could be a bug, but then again, specifications aren't always correct. At any rate, the BIOS code is part of the Bochs project so I would suggest bringing it up there. Regards, Anthony Liguori > The QEMU BIOS version I have is > > QEMU BIOS - build: 02/13/08 > $Revision: 1.194 $ $Date: 2007/12/23 19:46:27 $ > Options: apmbios pcibios eltorito rombios32 > > The following boot code illustrates the problem. It prints JJ to the > top of the screen on a real PC, but prints JA instead on QEMU. (The > boot image is set to load into the segment 0x7c8) > > test_code: > call .call > .call: > pop bx > mov ax,cs > shl ax,4 > add ax,bx > .l1 > cmp ax,0x7c83 > jne .l1 > mov ax,0xb800 > mov es,ax > mov [es:0],word 0x074a > mov ax,cs > cmp ax,0x7c8 > jne .l2 > mov [es:2],word 0x074a > jmp .loopy > .l2 > cmp ax,0 > jne .loopy > mov [es:2],word 0x0741 > .loopy: > jmp .loopy > > Jarno Rajala > > >