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