[SeaBIOS] ohci bulk?
H. Peter Anvin
hpa at zytor.com
Wed Sep 22 20:21:28 CEST 2010
On 09/22/2010 05:52 AM, Kevin O'Connor wrote:
> On Wed, Sep 22, 2010 at 06:40:58AM +0200, Peter Stuge wrote:
>> Kevin O'Connor wrote:
>>> When in 16bit mode, one can only reliably access the first 1Meg of
>>> ram.
>>
>> Flat real mode?
>
> The BIOS can put the machine in big real mode when it launches the OS,
> but it can't expect that it will always be called in big real mode.
> The BIOS could attempt to transition to 32bit mode (or big real mode)
> in the disk handler, but it may have been called in vm86 mode which
> would then effectively cause a crash. (It also wipes out the hidden
> segment registers which may confuse the OS.) Use of vm86 mode is not
> uncommon - freedos does it and so does (I'm told) Linux.
>
The standard way to deal with this in the BIOS (and *only* the BIOS can
do this!) is to trap into SMM and have an SMI handler do the I/O.
Taking an SMI drops the CPU into big real mode regardless of what the
previous CPU mode was.
-hpa
More information about the SeaBIOS
mailing list