From mboxrd@z Thu Jan 1 00:00:00 1970 Date: Fri, 11 Mar 2005 10:59:56 +0530 From: Martin C.Atkins To: Fans of the OS Plan 9 from Bell Labs <9fans@cse.psu.edu> Subject: Re: [9fans] Intel Vanderpool VM extensions Message-Id: <20050311105956.4df7bb93.martin_ml@parvat.com> In-Reply-To: <20050310225505.C25865@mrwint.cisco.com> References: <32d987d5050309160066ee7dbe@mail.gmail.com> <9f4f2b72ce86b9733f083084d2bd3c5d@plan9.ucalgary.ca> <3e1162e60503091721265f5089@mail.gmail.com> <32d987d5050309213760290ec9@mail.gmail.com> <32d987d5050309213926861c81@mail.gmail.com> <4230A9DB.4070203@village.com> <20050310225505.C25865@mrwint.cisco.com> Mime-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Topicbox-Message-UUID: 22ee657e-ead0-11e9-9d60-3106f5b1d025 On Thu, 10 Mar 2005 22:55:05 +0000 Derek Fawcus wrote: >.. > > . >.. > Interesting... I'd not heard of this. SoI had a quick glance... > > Does this stuff make the x86 completely virtualisable without > jumping through the hoops that vmware / qemu have to follow? I don't know. Looks complicated, doesn't it? It was a lack of vision that they didn't make the architecture virtualizable, right from the start (when the 386 was defined, or even earlier), like PowerPC. Does PowerPC (for example) need special instructions? Ugh! I though it was enough if the 'right' instructions did the 'right' things. This is all very...., very Intelly, isn't it? BTW: [Is ARM natively virtualizable? I can't remember, but I suspect not] As I understand it, the hoops that Vmware has to go through are somewhat different from those that qemu uses. Vmware 'interprets' code in pages containing non-virtualizable instructions, and lets the rest execute natively, while qemu just 'interprets' everything. Hence qemu can run x86 operating systems on non-x86 processors (and vice-versa), but Vmware should be faster (especially for application code). Of course, both use similar JIT-like techniques to make the 'interpretation' go as fast as possible. However, this means that yes, Vanderpool would/should (assuming they've got it "right" :-) make vmware 'trivial' (like MOL (maconlinux) is, on the Mac), but no, it will not help qemu at all, since the JIT interpretation of code is central to qemu's approach. [Although there is no reason, in principle, why qemu couldn't also "give up on" interpretation in the 'right' circumstances (x86 on x86, user-mode pages, etc), a direction that I believe bochs is following, thus blurring the differences further. It would probably need a kernel module 'helper' to do this, though.] That's my understanding, anyway. Please correct/clarify... Martin -- Martin C. Atkins martin_ml@parvat.com Parvat Infotech Private Limited http://www.parvat.com{/,/martin}