>> What things?  IIRC, ring0/1/2 are mostly identical except that you can
>> play with DPLs.  x86 has three supervisor levels and one user level.
>
>I don't have a list, but I did look up HLT yesterday. It's one byte, only
>executes in ring0.
>
>In other levels, it can be used as a kind of system call (as has been done for
>many years on other architectures).

Okay, but there's no benefit over using int3.

>> This doesn't solve any of the performance issues with the current
>> system... it would just complicate it more.
>
>I've been wondering whether writing a VM to run under Linux is the best way to
>achieve it; the bext VM I know is IBM's VM/ESA, written to run "on the metal."

VM/ESA runs on an architecture that was made specifically for virtualisation.
That's not comparable with x86... on IBM's platform, we don't need horrible
things like prescanning in the first place!

Using linux in stead of running on the bare hardware is just a convenience ---
we are already running the guest in our own context.  The only real difference
would be that it would be much more difficult to create hardware emulation,
because we can't use the facilities provided by the host.

>OS/2 has a pretty good one too; it runs DOS including DRDOS and (probably)
>CP/M-86. But it's only 8086 using the V86 box. Runs well though, and can run
>Windows 3.1 drivers.

Sure.  But not much more... there's a limit to what you can achieve with v86.

-- Ramon



Reply via email to