[SeaBIOS] ohci bulk?
Kevin O'Connor
kevin at koconnor.net
Thu Sep 23 14:56:03 CEST 2010
On Wed, Sep 22, 2010 at 08:09:06PM -0700, H. Peter Anvin wrote:
> On 09/22/2010 07:05 PM, Kevin O'Connor wrote:
> >>
> >> Actually you can switch to protected mode and turn the page tables on if
> >> you want.
> >
> > That's a good idea. Though it still sounds tricky to handle page
> > faults.
>
> Yes, probably. On the other hand, if the BIOS low-level hardware
> drivers are executed in V86 mode without a 1:1 mapping you're pretty
> much dead anyway (since DMA would be all wrong.)
I was thinking in terms of a general SMI handler that could be used to
replace all 16bit code.
I suppose one could write a simple SMI handler that just set the OHCI
cmdstatus bits. That probably wouldn't be too hard and it wouldn't be
too complex.
> >>> I didn't think there was a way for the user code to know it was
> >>> running in vm86 mode - I thought it appeared just like regular
> >>> real-mode. One could try to go into protected mode and try to catch
> >>> the failure, but I'd guess most OSs that run code in vm86 mode would
> >>> trap and abort in that situation.
> >> No, the SMSW instruction can be used to distinguish protected mode and
> >> therefore V86 mode.
> >
> > Thanks. Do you know of a way to backup the hidden segment registers?
> > The BIOS can be invoked in real mode or bigreal mode. I didn't see a
> > way for the BIOS to determine this so that it can properly return in
> > the same mode (real vs bigreal).
>
> There isn't one (other than binary search of the faulting space) except SMM.
I think that pretty much only leaves SMM then.
-Kevin
More information about the SeaBIOS
mailing list