APIC IDs
On a real x64 computer, each processor starts with a hard-coded initial APIC identifier (ID). This ID value can be retrieved through the CPUID instruction. On some computers, the initial APIC ID is not necessarily unique across all processors, so the APIC ID that is accessible through the APIC's MMIO space can be modified. This technique allows software to allocate unique APIC IDs for all processors within the computer.
Virtual processors also have an initial APIC ID value that cannot be modified by software that runs within the partition. This ID value is initialized at virtual-processor-creation time to the virtual processor's index. The ID value can be modified by the parent partition by calling HvSetVpRegisters and specifying the register HvX64RegisterInitialApicId.
Virtual processors also have a guest-programmable APIC ID that is accessible through the APIC's MMIO space. This ID value is also initialized based on the virtual processor's index.
Send comments about this topic to Microsoft
Build date: 11/16/2013