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.]

OK, when I said I didn't know why Intel doesn't support VT on all its parts, that was just rhetorical. I actually do know why—it's just that it's a really boneheaded move on Intel's part.

Intel uses VT for product segmentation, regarding it as a high-end feature and charging more for it. This is very annoying if, like me, you believe that everyone will shortly be running a hypervisor on every device that isn't a mobile phone (and eventually phones will get them too, if VMware has its way). But as annoying as this approach to product segmentation is, it makes a certain amount of sense given Intel's situation in the post-clockspeed era.

Throughout most if its history, Intel has done product segmentation mainly by speed bin. But in a power-sensitive world where the clockspeed gap between bins is much closer together, Intel is left to differentiate on features and core count. So their insistence on doing product segmentation with VT is understandable, but it still stinks.

Ultimately, though, the primary question that remains to be answered is why Microsoft is requiring VT support for XP Mode. It's likely that Redmond's reasons will become more clear as Windows 7 gets closer to release and more details of XPM come out, but until then, I'd love to hear everyone's take on this.

Further reading