qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Qemu-devel] BIOS calls in 16bit protected mode


From: Kevin O'Connor
Subject: [Qemu-devel] BIOS calls in 16bit protected mode
Date: Wed, 13 Jun 2012 23:13:05 -0400
User-agent: Mutt/1.5.21 (2010-09-15)

Hi,

I am trying to determine if there are legacy applications or operating
systems that invoke standard BIOS real-mode interrupt handlers while
in 16bit protected mode.  (The legacy real-mode entry points - like
"int 0x13" - not the declared 16bit protected mode entry points
defined by the PnP and APM specs.)

I am considering changes to SeaBIOS that would make 16bit protected
mode callers much less likely to work.  (Specifically, enhancing
SeaBIOS to use memory in the e-segment which is unlikely to be mapped
in protected mode.)

Most documents I've seen state that calling the real-mode entry points
in protected mode will not work.  Though, I am aware that the PCI BIOS
spec specifically requires this support for calls to "int 0x1a
ah=0xb1".

The advantage of making these changes is that it will allow SeaBIOS to
use notably less stack space and therefore be more compatible with old
applications that call the BIOS with very little stack space.  For
example, these changes enable DOS 1.0 to boot and run under SeaBIOS.

What would really help is pointers to applications and/or program
images that use 16bit protected mode calls to real-mode entry points.
Specifications or documents detailing valid or invalid uses would also
be helpful.

For those that are willing to run tests, one can compare the standard
SeaBIOS v1.7.0 image (for KVM/QEMU) at:

http://git.seabios.org/downloads/get/bios.bin-1.7.0.gz

to a test image with the new code at:

http://git.seabios.org/downloads/get/bios.bin-test-20120613.gz

Thanks,
-Kevin



reply via email to

[Prev in Thread] Current Thread [Next in Thread]