What is SAHF and LAHF and why do I need it to install
vSphere 5.1?
Hardware Requirements for ESXi 5.5
ESXi 5.1 will
install and run only on servers with 64-bit x86 CPUs
ESXi 5.1
requires a host machine with at least two cores
ESXi 5.1
supports only LAHF and SAHF CPU instructions
ESXi 5.1
requires the NX/XD bit to be enabled for the CPU in the BIOS
Most of the
requirements are fairly straightforward, the 64-bit CPU requirement has been
there since vSphere 4 was introduced, but
many people probably don’t know what NX/XD & LAHF/SAHF
are. The NX/XD bit is a CPU feature called Never eXecute, hence the NX name. What the NX
bit does is enable the ability to mark certain areas of memory as
non-executable with a flag. When this happens the processor will then refuse to
execute any code that resides in those areas of memory. Any attempt to execute
code from a page that is marked as no execute will result in a memory access
violation. This feature adds a layer of security to a computer by providing a
protected area against malicious code such as viruses and buffer overflow
attacks.
any
virtualization admins know what NX/XD is but LAHF & SAHF
CPU instructions are a processor function that you have probably
never heard of. LAHF stands for Load AH from Flags
and SAHF stands for Store AH into Flags. LAHF
& SAHF are used to load and store instructions for certain status flags.
Instructions are basic commands composed of one or more symbols that that
are passed to a CPU as input. These instructions related to LAHF & SAHF are
used for virtualization and floating-point condition handling. You really don’t
need to understand how they work as they are related to the core
CPU architecture but if you want to understand them better you can read
more about them here.
Support for LAHF and SAHF instructions appeared shortly after
NX/XD was introduced. AMD introduced support for the instructions with their
Athlon 64, Opteron and Turion 64 revision D processors in March 2005 and Intel
introduced support for the instructions with the Pentium 4 G1 stepping in
December 2005. So again most most servers built after 2006 should have CPUs
that support LAHF/SAHF. Similar to NX/XD which can be enabled or disabled in
the server BIOS, support for LAHF/SAHF is typically tied into the Virtualization
Technology (VT) option in a server BIOS which is often referred to Intel VT or
AMD-V which is their respective support for virtualization CPU technology. The
option to enable this on a HP Proliant BIOS is shown below:
So how do you know if your server’s CPUs support NX/XD & LAHF/SAHF?
As I said before if you’ve purchased a server in the last 5 or so
years, it most likely will support it. If it doesn’t support it the ESXi
installer will warn you when you install it as shown below:
No comments:
Post a Comment