Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 08 Nov 1997 13:08:13 +1030
From:      Mike Smith <mike@smith.net.au>
To:        Jonathan Mini <mini@d198-232.uoregon.edu>
Cc:        hackers@FreeBSD.ORG
Subject:   Re: x86 gods; advice? Suggestions? 
Message-ID:  <199711080238.NAA00641@word.smith.net.au>
In-Reply-To: Your message of "Fri, 07 Nov 1997 18:16:14 -0800." <19971107181614.32380@micron.mini.net> 

next in thread | previous in thread | raw e-mail | index | archive | help
> > > > It has to run with DPL = 0.
> > > 
> > > Why?
> > 
> > Because it has to in order to meet the spec.  If you're interested, or 
> > think you have some ideas on this, you can grab the spec from 
> > microsoft's website.  Make sure you get the clarification as well, as 
> > there's a very confusing error in one of the critical digrams...
> 
> hehehe. It should be possible to just give it i/o access to all of the ports,
> or if you feel parinoid, just a subset, and then ``emulate'' the exception 13
> instruction cases. (there aren't many)

Ugh.  You are taking a very small piece of code and making it *very* 
complicated.  It *must* be called from inside the kernel because at the 
point where it's needed there is nowhere else to be calling it from.

>   Personally, I feel very insecure running a BIOS at DPL = 0. I certainly
> woulndn't like letting third party software muck with everything. (even if it
> is on a ROM (ok, a flashable ROM))

Like I said, if you have a better idea, I am seriously interested in 
pursuing it.

> > It's actually pretty easy; with any luck I'll be happy enough with the 
> > vm86 stuff to commit it tomorrow.
> 
>   Hear me cheer! I have been working on vm86 BIOS/DOS interaction for a while
> now for my own projects. If you have something elegant it will be a godsend.
> :)

It's not entirely elegant, or even mostly mine, but there's a single-line
call you can make anywhere (once its safe to sleep) inside the kernel that 
will run a vm86-mode interrupt for you.

mike





Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199711080238.NAA00641>