FEX/docs/CPUID.md
Ryan Houdek 4cf48ca9bb CPUID: Adds 4000_0001h function
Exposes the host architecture through this CPUID function. Only exposes
the architectures we support. Not burning 16-bits on using ELF machine
definitions here.

Uses 4 bits still for future expansion.
2022-03-22 16:53:44 -07:00

1.2 KiB

FEXCore custom CPUID functions

4000_0000h - Hypervisor information function

4000_0001h - Hypervisor config function

Sub-Leaf 0: ECX == 0

  • EAX:
    • Bits EAX[3:0] - Host architecture
      • 0 - Unknown architecture
      • 1 - x86_64
      • 2 - AArch64
      • 3-15: Reserved
  • EBX - Reserved - Read as zero
  • ECX - Reserved - Read as zero
  • EDX - Reserved - Read as zero

Sub-Leaf 0000_0001 - FFFF_FFFF: Reserved

4000_0002h - 4000_000Fh

  • Reserved range
  • Returns zero until implemented

4000_0010h - 4FFF_FFFFh

  • Undefined
  • FEX-Emu will return zero until implemented