Remove hardcoded shift in SIPI vector calculation
This commit is contained in:
@@ -39,6 +39,9 @@
|
|||||||
#define APIC_VECTOR_PERF 0xFE
|
#define APIC_VECTOR_PERF 0xFE
|
||||||
#define APIC_VECTOR_NMI 0xFF
|
#define APIC_VECTOR_NMI 0xFF
|
||||||
|
|
||||||
|
/* APIC SIPI vector shift */
|
||||||
|
#define APIC_VECTOR_SIPI_SHIFT 12
|
||||||
|
|
||||||
/* APIC destination formats */
|
/* APIC destination formats */
|
||||||
#define APIC_DF_FLAT 0xFFFFFFFF
|
#define APIC_DF_FLAT 0xFFFFFFFF
|
||||||
#define APIC_DF_CLUSTER 0x0FFFFFFF
|
#define APIC_DF_CLUSTER 0x0FFFFFFF
|
||||||
|
|||||||
@@ -45,6 +45,9 @@
|
|||||||
#define APIC_VECTOR_PERF 0xFE
|
#define APIC_VECTOR_PERF 0xFE
|
||||||
#define APIC_VECTOR_NMI 0xFF
|
#define APIC_VECTOR_NMI 0xFF
|
||||||
|
|
||||||
|
/* APIC SIPI vector shift */
|
||||||
|
#define APIC_VECTOR_SIPI_SHIFT 12
|
||||||
|
|
||||||
/* APIC destination formats */
|
/* APIC destination formats */
|
||||||
#define APIC_DF_FLAT 0xFFFFFFFF
|
#define APIC_DF_FLAT 0xFFFFFFFF
|
||||||
#define APIC_DF_CLUSTER 0x0FFFFFFF
|
#define APIC_DF_CLUSTER 0x0FFFFFFF
|
||||||
|
|||||||
@@ -163,7 +163,7 @@ HL::Cpu::StartAllProcessors(VOID)
|
|||||||
StartBlock = (PPROCESSOR_START_BLOCK)((PUCHAR)ApVirtualAddress + TrampolineCodeSize);
|
StartBlock = (PPROCESSOR_START_BLOCK)((PUCHAR)ApVirtualAddress + TrampolineCodeSize);
|
||||||
|
|
||||||
/* Get SIPI vector */
|
/* Get SIPI vector */
|
||||||
SipiVector = (ULONG)(ApPhysicalAddress.QuadPart >> 12);
|
SipiVector = (ULONG)(ApPhysicalAddress.QuadPart >> APIC_VECTOR_SIPI_SHIFT);
|
||||||
|
|
||||||
/* Loop over all CPUs */
|
/* Loop over all CPUs */
|
||||||
CpuNumber = 0;
|
CpuNumber = 0;
|
||||||
|
|||||||
Reference in New Issue
Block a user