[Discuss] VMWare Player question

Bill Bogstad bogstad at pobox.com
Thu Oct 20 12:52:47 EDT 2011


On Wed, Oct 19, 2011 at 8:20 PM, Richard Pieri <richard.pieri at gmail.com> wrote:
> On Oct 18, 2011, at 8:56 PM, Edward Ned Harvey wrote:
>>
>> Nothing will support a 64bit guest on a 32bit host.
>
> I digress here, because this is not strictly true.  IBM devised a method for running some 64-bit applications on 32-bit AIX servers.  I digress because this was not virtualization.  It was a clever use of a wrapper that mapped 64-bit functions to their 32-bit counterparts and then mapped the returns back as 64-bit data.  It was terribly slow, totally unsuited for production use.  IBM did it for developers to test their code given older hardware.
>
> VMware could have made it happen.  Back before VT-x and AMD-V, VMware didn't really virtualize the x86.  VMware *emulated* the x86.  Ask Google about trap-and-emulate and why it doesn't work on the Intel architecture.

I'm not sure how you are defining "emulate" here.   As I understand
it, most x86 instructions were executed directly by the CPU even in
the pre VT-X/AMD-V days for VMware and most similar programs.
Instructions that accessed hardware and other specialized instructions
were either trapped or replaced in line by calls to vmware code.
Full emulation of a baroque architecture like the x86 would have been
incredibly slow.  This web page

http://www.vmware.com/virtualization/history.html

appears to confirm my recollection for VMware for x86.

Doing AMD64 on x86 only cpus would have required full emulation and
would have been equally painful to full emulation of x86 code.  I
believe that the first products that did virtualization for AMD64
initially did the same thing as for x86 code: only trap/emulate a few
instructions and execute the rest natively.   VT-X/AMD-V made it
easier to do AMD64 virtualization at acceptable speeds, but wasn't
required.  This wikipedia article

http://en.wikipedia.org/wiki/X86_virtualization

implies that the first AMD 64bit cpus did have some issues with using
the software virtualization route, but that AMD added a few features
to make it technically possible to do so.  Both Intel and AMD
eventually added much better support via VT-X/AMD-V, but at least some
AMD 64 bit cpus could support software assisted virtualization without
it.

Bill Bogstad



More information about the Discuss mailing list