Virtual cores? you mean threads? Threads and Turbo Boost are processors feature already available for the Xeons in the new Mac Pro, not from Mac OS X.
I used the term "virtual cores" for effect. 8 cores with HT is not the same as 8 cores wo/HT if the OS knows how to use it.
HT support is present in the processors, but the OS must be smart enough to manage HT properly. For example, the first "core" will expose ID's 0 and 1, the second "core" 2 and 3, etc. An HT-aware OS will use ID's 0, 2, 4 and 8 before going back and using 1, 3, 5 and 7. Windows XP needed the same optimizations.
Also, you need to do much tighter management of wait loops so that the "partner thread" for a core can have better access to it. There are also certain threads that can be optimized to use the units that can be easily shared between partner threads. A core has some resources that are duplicated, other resources that are shared. If, for example, you know that your driver threads don't need the unique resources, those threads can be given affinity to be set up as partner threads.
You get much more from HT if you know what you're doing than if you use it as though you have just have twice the number of simultaneous threads. I've managed a significant performance increase on certain hand-assembled pieces of code for Microsoft Windows, enough to make the virtual thread just as good as having another full "core."