Hypervisor Boot-time CPUID Feature Requirements

The following table contains a list of CPUID values that are required for the hypervisor to boot.

IndexRegisterDescriptionStart bitEnd bitVirtualized feature set definition between processors in the same system

0x00000000

EAX

Maximum valid standard CPUID index

0

31

Hardware-specific

If the underlying hardware is AMD-based, the value must be at least 0x00000001.

If the underlying hardware is Intel-based, the value must be at least 0x00000004.

EBX

Processor vendor string

0

31

Must match.

ECX

Processor vendor string

0

31

Must match.

EDX

Processor vendor string

0

31

Must match.

0x00000001

EAX

Stepping

0

3

Base model

4

7

Must match.

Base family

8

11

Must match.

Processor type

12

13

Must match.

RsvdZ

14

15

Extended model

16

19

Must match.

Extended family

20

27

Must match.

RsvdZ

28

31

EBX

Miscellaneous information

Brand identifier

0

7

CL Flush size

8

15

Must match.

Maximum LPs in a physical package

16

23

Must match.

Initial APIC ID

24

31

ECX

Feature flags and identifiers

SSE3

0

0

RsvdZ

1

2

MONITOR

3

3

DS-CPL

4

4

VMX

5

5

If the underlying hardware is Intel-based, must be set everywhere.

If the underlying hardware is AMD-based, not applicable.

RsvdZ

6

6

EST

7

7

TM2

8

8

SSSE3

9

9

CNXTID

10

10

RsvdZ

11

12

CMPXCHG16B

13

13

xTPR

14

14

RsvdZ

15

22

Population count

23

23

RsvdZ

24

25

XSAVE

26

26

Must match.

OSXSAVE

27

27

Must match.

RsvdZ

28

30

Hypervisor present

31

31

Must be cleared everywhere.

EDX

Feature information

FPU

0

0

Must be set everywhere.

VME

1

1

Must be set everywhere.

DE

2

2

Must be set everywhere.

PSE

3

3

Must be set everywhere.

TSC

4

4

Must be set everywhere.

MSR

5

5

Must be set everywhere.

PAE

6

6

Must be set everywhere.

MCE

7

7

Must be set everywhere.

CMPXCHG8B

8

8

Must be set everywhere.

APIC

9

9

Must be set everywhere.

RsvdZ

10

10

SEP

11

11

Must be set everywhere.

MTRR

12

12

Must be set everywhere.

PGE

13

13

Must be set everywhere.

MCA

14

14

Must be set everywhere.

CMOV

15

15

Must be set everywhere.

PAT

16

16

Must be set everywhere.

PSE-36

17

17

Must be set everywhere.

PSN

18

18

CLFSH

19

19

Must be set everywhere.

RsvdZ

20

20

DS

21

21

ACPI

22

22

MMX

23

23

Must be set everywhere.

FXSR

24

24

Must be set everywhere.

SSE

25

25

Must be set everywhere.

SSE2

26

26

Must be set everywhere.

SS

27

27

HTT

28

28

TM

29

29

RsvdZ

30

30

PBE

31

31

0x80000000

EAX

Highest extended CPUID leaf

0

31

Hardware specific.

If the underlying hardware is AMD-based, the value must be at least 0x80000008.

If the underlying hardware is Intel based, the value must be at least 0x80000001.

EBX

Processor vendor string

0

31

ECX

Processor vendor string

0

31

EDX

Processor vendor string

0

31

0x80000001

EAX

Stepping

0

3

Base model

4

7

Must match.

Base family

8

11

Must match.

Processor type

12

13

Must match.

RsvdZ

14

15

Extended model

16

19

Must match.

Extended family

20

27

Must match.

RsvdZ

28

31

EBX

Brand ID

0

15

Must match.

RsvdZ

16

27

Package type

28

31

Must match.

ECX

Extended feature flag and feature identifiers

LahfSahf

0

0

CmpLegacy

1

1

SVM

2

2

If underlying hardware is AMD-based, must be set everywhere.

If underlying hardware is Intel-based, not applicable.

ExtApicSpace

3

3

AltMovCr8

4

4

ABM

5

5

SSE4A

6

6

MisAlignSse

7

7

3DNowPrefetch

8

8

OSVW

9

9

RsvdZ

10

10

SSE5

11

11

SKINIT

12

12

WDT

13

13

RsvdZ

14

31

EDX

Extended feature flags

FPU

0

0

Must be set everywhere.

VME

1

1

Must be set everywhere.

DE

2

2

Must be set everywhere.

PSE

3

3

Must be set everywhere.

TSC

4

4

Must be set everywhere.

MSR

5

5

Must be set everywhere.

PAE

6

6

Must be set everywhere.

MCE

7

7

Must be set everywhere.

CMPXCHG8B

8

8

Must be set everywhere.

APIC

9

9

Must be set everywhere.

RsvdZ

10

10

SysCallSysRet

11

11

Must be set everywhere.

MTRR

12

12

Must be set everywhere.

PGE

13

13

Must be set everywhere.

MCA

14

14

Must be set everywhere.

CMOV

15

15

Must be set everywhere.

PAT

16

16

Must be set everywhere.

PSE36

17

17

Must be set everywhere.

RsvdZ

18

19

Execute disabled/No execute

20

20

Must be set everywhere.

RsvdZ

21

21

MmxExt

22

22

MMX

23

23

Must be set everywhere.

FXSR

24

24

Must be set everywhere.

FFXSR

25

25

Page1GB

26

26

RDTSCP

27

27

RsvdZ

28

28

LM

29

29

Must be set everywhere.

3DNowExt

30

30

3DNow

31

31

0x80000005

L1 Cache and TLB identifiers (all registers)

EAX

L1ITlb2and4MSize

0

7

If underlying hardware is AMD-based, must match.

If underlying hardware is Intel-based, not applicable.

L1ITlb2and4MAssoc

8

15

If underlying hardware is AMD-based, must match.

If underlying hardware is Intel-based, not applicable.

L1DTlb2and4MSize

16

23

If underlying hardware is AMD-based, must match.

If underlying hardware is Intel-based, not applicable.

L1DTlb2and4MAssoc

24

31

If underlying hardware is AMD-based, must match.

If underlying hardware is Intel-based, not applicable.

EBX

L1ITlb4KSize

0

7

If underlying hardware is AMD-based, must match.

If underlying hardware is Intel-based, not applicable.

L1ITlb4KAssoc

8

15

If underlying hardware is AMD-based, must match.

Must match on AMD,

If underlying hardware is Intel-based, not applicable.

L1DTlb4KSize

16

23

If underlying hardware is AMD-based, must match.

If underlying hardware is Intel-based, not applicable.

L1DTlb4KAssoc

24

31

If underlying hardware is AMD-based, must match.

If underlying hardware is Intel-based, not applicable.

ECX

L1DcLineSize

0

7

If underlying hardware is AMD-based, must match.

If underlying hardware is Intel-based, not applicable.

L1DcLinesPerTag

8

15

If underlying hardware is AMD-based, must match.

If underlying hardware is Intel-based, not applicable.

L1DcAssoc

16

23

If underlying hardware is AMD-based, must match.

If underlying hardware is Intel-based, not applicable.

L1DcSize

24

31

If underlying hardware is AMD-based, must match.

If underlying hardware is Intel-based, not applicable.

EDX

L1IcLineSize

0

7

If underlying hardware is AMD-based, must match.

If underlying hardware is Intel-based, not applicable.

L1IcLinesPerTag

8

15

If underlying hardware is AMD-based, must match.

If underlying hardware is Intel-based, not applicable.

L1IcAssoc

16

23

If underlying hardware is AMD-based, must match.

If underlying hardware is Intel-based, not applicable.

L1IcSize

24

31

If underlying hardware is AMD-based, must match.

If underlying hardware is Intel-based, not applicable.

0x80000006

L2 Cache and L2 TLB identifiers

EAX

L2ITlb2and4MSize

0

11

If underlying hardware is AMD-based, must match.

If underlying hardware is Intel-based, not applicable.

L2ITlb2and4MAssoc

12

15

If underlying hardware is AMD-based, must match.

If underlying hardware is Intel-based, not applicable.

L2DTlb2and4MSize

16

27

If underlying hardware is AMD-based, must match.

If underlying hardware is Intel-based, not applicable.

L2DTlb2and4MAssoc

28

31

If underlying hardware is AMD-based, must match.

If underlying hardware is Intel-based, not applicable.

EBX

L2ITlb4KSize

0

11

If underlying hardware is AMD-based, must match.

If underlying hardware is Intel-based, not applicable.

L2ITlb4KAssoc

12

15

If underlying hardware is AMD-based, must match.

If underlying hardware is Intel-based, not applicable.

L2DTlb4KSize

16

27

If underlying hardware is AMD-based, must match.

If underlying hardware is Intel-based, not applicable.

L2DTlb4KAssoc

28

31

If underlying hardware is AMD-based, must match.

If underlying hardware is Intel-based, not applicable.

ECX

L2 Line Size

0

7

If underlying hardware is AMD-based, must match.

If underlying hardware is Intel-based, not applicable.

L2 Lines per tag

8

11

If underlying hardware is AMD-based, must match.

If underlying hardware is Intel-based, not applicable.

L2 Associativity

12

15

If underlying hardware is AMD-based, must match.

If underlying hardware is Intel-based, not applicable.

L2 cache size in kilobytes

16

31

If underlying hardware is AMD-based, must match.

If underlying hardware is Intel-based, not applicable.

EDX

L3LineSize

0

7

If underlying hardware is AMD-based, must match.

If underlying hardware is Intel-based, not applicable.

L3LinesPerTag

8

11

If underlying hardware is AMD-based, must match.

If underlying hardware is Intel-based, not applicable.

L3Assoc

12

15

If underlying hardware is AMD-based, must match.

If underlying hardware is Intel-based, not applicable.

RsvdZ

16

17

If underlying hardware is AMD-based, must match.

If underlying hardware is Intel-based, not applicable.

L3Size

18

31

If underlying hardware is AMD-based, must match.

If underlying hardware is Intel-based, not applicable.

0x80000008

EAX

PhysAddrSize

0

7

Must be less than or equal to 48

LinAddrSize

8

15

RsvdZ

16

31

EBX

RsvdZ

0

31

ECX

NC

0

7

If underlying hardware is AMD-based, must match.

If underlying hardware is Intel-based, not applicable.

RsvdZ

8

11

ApicIdCoreIdSize

12

15

If underlying hardware is AMD-based, must match.

If underlying hardware is Intel-based, not applicable.

RsvdZ

16

31

EDX

RsvdZ

0

31

0x8000000A

SVM revision and feature identification

EAX

SvmRev

0

7

If underlying hardware is AMD-based, must match.

If underlying hardware is Intel-based, not applicable.

RsvdZ

8

31

EBX

NASID

0

31

If underlying hardware is AMD-based, must match.

If underlying hardware is Intel-based, not applicable.

ECX

RsvdZ

0

31

EDX

NP

0

0

LBRVirt

1

1

SVML

2

2

NRIPS

3

3

RsvdZ

4

31

 

 

 

Send comments about this topic to Microsoft

Build date: 11/16/2013

Show:
© 2014 Microsoft. All rights reserved.