Microsoft, Intel goof up Windows 7’s “XP Mode”
- ️Fri May 08 2009
The CPU support picture for Windows 7 was blessedly simple, at least until this week, when Microsoft complicated things for one corner of its upcoming OS. This new wrinkle was the discovery that Windows 7's recently announced XP Mode would only work on processors that supported either Intel's VT or AMD's AMD-V. The vast majority of AMD's lineup, except for Sempron, has AMD-V and will work, but the Intel situation is much more complicated, and in some ways, worse.
In a nutshell, Intel's VT-x and AMD's AMD-V work by introducing a set of instructions that make x86 fully virtualizable without the use of binary translation. This was originally supposed to have speed advantages, though when VT first made its debut the transitions in and out of the hypervisor were slow enough that BT arguably still had the edge. But this hasn't been true for some time, and now VT is the way to go if you're rolling out a new x86-based virtualization package, like Microsoft's hyper-V or Virtual Iron's software. (For more on the issue of performance and VT versus binary translation, see this thread, where some Intel and VMware folks go a few rounds on the topic.)
But VirtualPC, the virtualization package that Microsoft bought and on which XPM is based, is a binary translation solution, just like VMware. So the question then becomes, why did Microsoft mandate VT support for XPM?
I don't know the answer to this, nor do I know why Intel doesn't include VT support across its entire lineup. A handy list put together by Ed Bott* gives you an idea of how spotty VT support is even among Intel's more recent parts, and that list still doesn't include Atom, which includes non-VT supporting entries in its line. As you can see, quite a few users won't be able to use XPM when Windows 7 comes out, especially on the corporate desktop, where many companies have opted for cheaper, non-VT parts. [*Ed: I had originally attributed the list to Tom's Hardware, but it comes from Ed Bott. That's my fault for not reading closely enough.]