Thomas,

Lets start with the stuff every one else wants to read. The overhead of trap handling , especially where you are running two level virtual memory, is significant.

So on S/390 IBM introduced the SIE instruction (Start Interpretive Execution). The equivalent Intel and AMD features are called VT-X and AMD-V respectively.

These allow the CPU microcode to virtually execute some privileged instructions that would otherwise require a trap and context switch so slowing things down.

You will find that VirtualBox requires these extensions, and it won’t start if they are not enabled..

 

Not every architecture can be virtualized by trapping as you describe.  The requirements are defined by the Popek and Goldberg requirements.

 

https://en.wikipedia.org/wiki/Popek_and_Goldberg_virtualization_requirements

 

So S/370 and Motorola 68010 are a couple of CPUs that satisfy them. The M68000 and the 370XA, ESA390, IBM z don’t….

.. I believe the same applies to X86/X64 so if you want to virtualize these without VT-X or AMD-V you need to build a SIMH style emulator.

Early versions of VMWare Workstation worked this way, and it was slow. I know I used it :-)

A modern tool which does this is DOSBox which is why it works on other platforms

 

Dave

 

 

 

From: Thomas DeBellis <tommytimesharing@gmail.com>
Sent: Friday, April 14, 2023 6:02 PM
To: hecnet@lists.dfupdate.se
Subject: [HECnet] Re: VSI VMS x86 on HECnet

 

What instructions did you have in mind? 

The reason I'm asking is because virtualization is a very old concept (in computer terms) dating to the late 1960's.  You don't actually need special instructions, just to handle a trap that would take you out of problem state (like doing I/O).  I think you need the VM bit on x86 to handle real mode applications and operating systems (I.E., DOS) because you don't get the trap.  Was there something else?

IBM enhanced their hardware to provide more support for virtualization and these are called LPAR's.

The unreleased Jupiter instantiation of the PDP-10 architecture also had a VM bit; again, I think to support user mode applications which expected unrestricted access to hardware.  Tops-10 supports this and Tops-20 has a limited form of it (USRIO%).  In any event, it would have allowed you to boot Tops-20 under Tops-20, a fine concept.

I don't recall that either the VAX or Alpha supported virtualization.  One imagines that perhaps this was thought unnecessary because the available internal instruction set simulators and the lowering cost of the hardware.

 


On 4/14/23 11:13 AM, dave.g4ugm@gmail.com wrote:
Wilm,
On any fairly recent CPU you should get near native performance when running
a Virtual Machine. Both AMD and INTEL CPUs have instructions to support
virtualization so there is no need to emulate instructions in the way SIMH
or the Alpha Emulators do. 
Dave

 
From: Wilm Boerhout <wboerhout@gmail.com>
Sent: Friday, April 14, 2023 4:00 PM
To: 'The Hobbyist DECnet mailing list' <hecnet@lists.dfupdate.se>
Subject: [HECnet] VSI VMS x86 on HECnet
 
Only a little work was needed to put another VSI x86 node on HECnet.
 
NLx86 (29.213, registry pending) is a guest of VirtualBox 7.0.6 on my HP Zbook15u G4 laptop (from 2017)
 
It's surprisingly fast, considering the virtualization in between, and the
age of the laptop.
 
Wilm