Re: [off-topic] Fully virtualisable CPUs

Alan Cox (alan@cymru.net)
Fri, 6 Sep 1996 09:44:39 +0100 (BST)


> Sorry about being off-topic, but what makes a CPU fully virtualisable
> (that it can run several OSes in different VMs)? And what make the x86
> not so? Is there any improvement in the latter x86 CPUs (Pentium, PPro)
> that makes virtualising easier?

Not that off topic I think..

With all processors trying to do something that needs supervisor access
causes an exception. The difference with a processor you can virtualise is
that any instructions which allow you to query things like the supervisor
state and other supervisor mode instructions also causes a trap. That means
the underlying code (even a user mode program) can catch all of these traps
and the program it is managing thinks it is in supervisor mode when in
reality its in user mode but being 'helped' along.

On the intel chips instructions that report the CPU state don't cause
an exception. Pity as if they did we could conceivably just boot windows95
or nt or OS/2 or whatever in a window (and vice versa).

Alan