VMware/ESX/CPUID

From Segfault
< VMware‎ | ESX
Jump to navigation Jump to search

The CPU Identification Utility outputs on our Sun Fire V40z (bare-metal or in a VM, set to 32 or 64 bit - makes no difference):

     Family: 0f Model: 05 Stepping: a

     ID1ECX     ID1EDX     ID81ECX    ID81EDX
     0x00000000 0x078bfbff 0000000000 0xe1d3fbff

Vendor                       : AMD
Brand String                 : "AMD Opteron(tm) Processor 848"
SSE Support                  : SSE1, SSE2
Supports NX / XD             : Yes
Supports CMPXCHG16B          : No
Supports RDTSCP              : No
Supports 3DNow! Prefetch     : Yes
Supports FFXSR               : No
Supports Extended Migration  : No
Supports 64-bit Longmode     : Yes
Supports 64-bit VMware       : No             <=== The last line :)
Supported EVC modes          : none

The README says:

   a. 64-bit Support: 
   On AMD systems the last line will indicate "Yes" on any 64-bit enabled
   Opteron (Rev E or later). AMD's version of hardware virtualization support
   (referred to as SVM, Pacifica or AMD-V) is not required. 
   

Our /proc/cpuinfo says:

[root@v40z2 ~]# cat /proc/cpuinfo 
processor       : 0
vendor_id       : AuthenticAMD
cpu family      : 15
model           : 5
model name      : AMD Opteron(tm) Processor 848
stepping        : 10
cpu MHz         : 2190.647
cache size      : 1024 KB
fpu             : yes
fpu_exception   : yes
cpuid level     : 1
wp              : yes
flags           : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 syscall nx mmxext lm 3dnowext 3dnow
bogomips        : 4384.40
TLB size        : 1024 4K pages
clflush size    : 64
cache_alignment : 64
address sizes   : 40 bits physical, 48 bits virtual
power management: ts fid vid ttp

And indeed, we cannot boot 64-bit guests:

    This kernel requires an x86-64 CPU, but only detected an i586 CPU.
    Unable to boot - please use a kernel appropriate for your CPU.

According to First Generation AMD OpteronTM Processor Part Numbers, this V40z could be Rev E4, Rev CG (as seen below) or a Rev C0.

 AMD Opteron Processor 800 Series
  C0/CG Stepping: 844 (1.8GHz), 848 (2.2GHz), 850 (2.4GHz)
  E1/E4 Stepping: 848 (2.2GHz), 850 (2.4GHz), 852 (2.6GHz), 854 (2.8GHz)
  E1/E4 Stepping (Dual-Core): 870 (2.0GHz), 875 (2.2GHz), 880(2.4GHz)

Wikipedia has:

 Opteron 800-series "SledgeHammer" (130 nm)
 All models support: MMX, SSE, SSE2,       Enhanced 3DNow!, NX bit, AMD64
 Opteron 848 / 2.2 GHz / 1MB L2 / Socket 940 / 
 OSA848CEP5AM (C0)
 OSA848CEP5AV (CG)
 
 Opteron 800-series "Athens" (90 nm)
 All models support: MMX, SSE, SSE2, SSE3, Enhanced 3DNow!, NX bit, AMD64
 Opteron 848 / 2.2 GHz / 1MB L2 / Socket 940
 OSA848FAA5BM (E4)
 OSK848FAA5BM (E4)