Switching current logical processor

Switching current logical processor

Intel's Software Developer's Manual 3B Section 27.8.1 Initialization states that:

Before enabling VMX, an MP-aware VMM must check to make sure that all processors in the system are compatible and support features required. This can be done by:
Checking the CPUID on each logical processor to ensure VMX is supported and that the overall feature set of each logical processor is compatible.
Checking VMCS revision identifiers on each logical processor.
Checking each of the allowed-1 or allowed-0 fields of the VMX capability MSRs on each processor.

I understand how to do this, but I do not understand how to switch between processors, core or logical, so that I can query the information for each logical processor.

2 posts / 0 new
Last post
For more complete information about compiler optimizations, see our Optimization Notice.

I received this comment on your question:

"If they are doing this checking within a regular OS, they can use the OS task scheduling / affinity primitives to run on each of the logical threads and verify that all of them have the same properties.

If they are running at the EFI/above BIOS level, since EFI is single-threaded (not MP), they have to get control of the APs using INIT-SIPI-SIPI protocol and then execute code in each of the AP to verify these properties."

David Ott

Leave a Comment

Please sign in to add a comment. Not a member? Join today