[SeaBIOS] [Qemu-devel] QEMU regression problems

Gerhard Wiesinger lists at wiesinger.com
Wed Apr 21 21:16:54 CEST 2010


On Mon, 19 Apr 2010, Kevin O'Connor wrote:

> On Mon, Apr 19, 2010 at 08:19:55AM +0200, Gerhard Wiesinger wrote:
>> Kevin O'Connor wrote:
>>> The SeaBIOS log would really help.  This can be done by adding:
>>>
>>> -chardev stdio,id=seabios -device isa-debugcon,iobase=0x402,chardev=seabios
>>>
>>> to the qemu command line.
>> OK, I made some research on the topic. Problem is that QEMM pushes
>> the Extended BIOS data area to High RAM on some machines (QEMU,
>> P733). Therefore 640k low memory is available and checkit reports
>> 640kB + 6kB=646kB EBIOS DATA AREA. Whats strange that on a physical
>> Pentium 733 machine this works correctly (details see below and
>> attached files), maybe someone can try to find the problem with
>> QEMM+Checkit 3.0 (maybe there is still some other BIOS function
>> incorrectly implemented). QEMM parameter NOXBDA avoids moving the
>> XBDA up to HI RAM and therefore checkit reports 640kB well.
>>
>> SeaBIOS seems to be correct (see below and attached patch files and
>> description below).
>> Total Memory: 256MB (262144kB), Base RAM: 637kB
>> Extended BIOS Data Area size: 3 kB, segment=9f40
>>
>> SCSI option ROM:
>> After option ROMS, Total Memory: 256MB (262144kB), Base RAM: 634kB
>> Extended BIOS Data Area size: 6 kB, segment=9e80
>
> Which scsi option rom?  Can you forward the log using the command line
> above?  Another thing that may help is increasing the debug level in
> seabios (set CONFIG_DEBUG_LEVEL to 8 in src/config.h and recompile).
>
> SeaBIOS will lock parts of ram from 0xc0000-0xfffff so that the option
> roms aren't writable.  I wonder if that is confusing qemm when it
> tries to locate the ebda into that area.

SCSI option ROM, LSI 53C895A (BTW: Is there another SCSI emulation available?):
http://www.lsi.com/DistributionSystem/AssetDocument/files/support/ssp/sdms/Bios/lsi_bios.zip

Log file can be downloaded at: http://www.wiesinger.com/tmp/seabios.log
command line option: -chardev stdio,id=seabios -device isa-debugcon,iobase=0x402,chardev=seabios
CONFIG_DEBUG_LEVEL to 8 in src/config.h

Is the area from 0xc0000-0xfffff only read only when an option ROM is 
installed at some part of the memory area (e.g. option ROM at 0xD0000 to 
0xDFFFF only 0xD0000 to 0xDFFFF is made read only) or the comple area 
is made read only?

Thnx.

Ciao,
Gerhard

--
http://www.wiesinger.com/



More information about the SeaBIOS mailing list