How to Check if Your CPU Supports Second Level Address Translation (SLAT)

For testing I created the xen server but on that server I unable to create the image getting error as HVM is required for this operation so I checked out that our processor is not SLAT supported.

What Is SLAT?

Second Level Address Translation is a technology introduced in both Intel and AMD flavors of processors. Both companies call their version of the technology different names, Intel’s version is called EPT(Extended Page Tables) and AMD calls theirs RVI (Rapid Virtualization Indexing). Intel introduced Extended Page Tables in its processors that were built on the Nehalem architecture, while AMD only introduced RVI in their third generation of Opteron processors codenamed Barcelona. Hyper-V uses this to perform more VM memory management functions and reduce the overhead of translating guest physical addresses to real physical addresses. By doing this, Hypervisor CPU time is significantly reduced, and more memory is saved for each VM.

How It Works

The processor has a Translation Lookaside Buffer (TLB) that supports virtual to physical memory address translation. A TLB is a cache on the processor that contains recently used mappings from the page table. When a virtual to physical address translation is required, the TLB checks it’s cache to determine whether or not it contains the mapping information. If the TLB contains a match, the physical memory address is provided and the data is access. If the TLB doesn’t contain a record, a page error occurs, and the Windows checks the page table for the mapping information. If Windows finds a mapping, it is written to the TLB, the address translation takes place, and then the data is accessed. Because of this buffer, the hypervisors overhead is substantially decreased.

So What?

With all the hype surrounding Windows 8, it has been made known that Windows 8 will come with Hyper-V as a vitalization platform. While that might not appeal to everyone at first glance, it has been thought that this will be the only form of backwards compatibility, somewhat like XP Mode. SLAT will be required for Hyper-V in Windows 8.

How Do I Know If I Have SLAT?

To find out if your processor supports SLAT, you will need to download a copy of CoreInfo(see link at end). Once you have downloaded it you will need to extract it. You should extract it so that coreinfo is in the root of your C:\ drive.

You need open an elevated command prompt, read “run as administrator”.

Now you will need to navigate to the C: Drive, you can do this by typing “cd c:\”

To see if your processor supports SLAT you will need to run “coreinfo.exe -v”. On an Intel if your processor supports SLAT it will have an asterix in the EPT row. This is seen in the screenshot below.

On an AMD if your processor supports SLAT it will have an asterix in the NPT row.

If your processors dont support SLAT you will see a dash in the EPT or NPT rows.

You can download CoreInfo here.

Posted in Windows

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: