1

I am recently developing a hypervisor. The Intel SDM lists a lot of VMX related CPU features, like "use MSR bitmaps", "virtualize APIC accesses", etc. Though I want to use these features, I would like to make sure my hypervisor can run on reasonably old CPUs (e.g. CPUs produced after 2013, 10 years ago).

Is there a systematic way to check when Intel released a CPU feature? For example, I want to answer the following questions:

  • What/when is the first CPU released by Intel that supports use MSR bitmaps (i.e. CPUID.01H:ECX.[5] = 1 && IA32_VMX_PROCBASED_CTLS[60])?
  • What/when is the first CPU released by Intel that supports virtualize APIC accesses (i.e. CPUID.01H:ECX.[5] = 1 && IA32_VMX_PROCBASED_CTLS2[32])?
  • ...
Peter Cordes
  • 328,167
  • 45
  • 605
  • 847
Eric Stdlib
  • 1,292
  • 1
  • 18
  • 32
  • I'm not aware of a database or table of features by date, unfortunately. Other than AVX-512 where Intel really dropped the ball with Alder Lake, future CPUs *of the same model series* almost always can run binaries that worked on older CPUs. But there are Intel low-power servers / netbooks (Silvermont family), Intel full power (i3/5/7, and their lower-end Pentium/Celeron using the same core but sometimes feature-crippled at least for AVX/BMI1). Since you're dealing with VMX, AMD CPUs aren't applicable, but for most other features there's also AMD (and previously their low-power Jaguar line) – Peter Cordes Feb 14 '23 at 05:28

0 Answers0