Are you SLAT Compatible? WP8 SDK Tip 01
Windows Phone 8 SDK has some new requirements you might not be aware of.
Firstly, it requires Windows 8 64-bit version. I’ve already run into a few folks who had the 32-bit version of Windows 8 installed and were unable to run the phone tools. Make sure you have Windows 8 64-bit edition.
The emulator is pretty spectacular in WP8 SDK, but there are a few more requirements for you. The emulator runs in Hyper-V. Hyper-V is only available in Windows 8 Pro Edition. So to be able to run the WP8 SDK emulator you must have Windows 8 Professional 64 bit edition. Making sure you read that, it must be the – Professional --- edition.
The emulator’s Hyper-V requirement requires a processor that supports Second Level Address Translation ( SLAT ) enabled hardware. SLAT support was introduced to Hyper-V circa Windows Server 2008 as a mechanism to reduce overhead during address mapping for virtual machines. Since Hyper-V R2 on Windows 8 requires SLAT hardware, so does the WP8 SDK Emulator.
There are two methods to check if you have SLAT hardware. The best route is download the SLATStatusCheck tool from CodePlex ( http://slatstatuscheck.codeplex.com/ ). This tool runs is a WPF 4.5 app which very simply indicates if you have SLAT compatible hardware or not. The tool is open source if you want to see how to do the checks yourself in code.
The other route is CoreInfo.exe, a tool available from SysInternals ( http://technet.microsoft.com/en-us/sysinternals/cc835722.aspx ). When you run CoreInfo.exe with a “-v” parameter, you will have a “*” next to the “EPT Supports Intel extended page tables (SLAT)” entry. Note coreinfo must be run in an admin level command prompt.
CoreInfo can sometimes lie! If you’ve already got Hyper-V running, it may erroneously return a “false negative” on the slat capabilities. CoreInfo even tells you this in a screen entry (which I overlooked) – “Note: CoreInfo must be executed on a system without a hypervisor running for accurate results”. Note that SLATStatusCheck returns the correct results regardless of whether Hyper-V is running or not. The screen show below shows a false SLAT result off my Samsung Series 9 .
Hopefully this gives you an idea of some of the system requirements its going to take to get the WP8 SDK up and going, and help you avoid some frustrations. Can’t wait to see some of the great apps you folks are working on!
- Second Level Address Translation Benefits in Hyper-V R2 - http://www.virtualizationadmin.com/articles-tutorials/microsoft-hyper-v-articles/general/second-level-address-translation-benefits-hyper-v-r2.html
- How to check if the Processor (CPU) supports the function SLAT? http://www.softwaretipspalace.com/how-to/260-check-slat-support-on-intel-amd-processors-cpu.html
- SLAT Status Check Tool - http://slatstatuscheck.codeplex.com/
- CoreInfo download from SysInternals - http://technet.microsoft.com/en-us/sysinternals/cc835722.aspx
- WP8 SDK Requirements ( and download links ) - https://dev.windowsphone.com/en-us/downloadsdk