Fix build break when doing 32-bit build with some certain C compiler option combinations.
[mirror_edk2.git] / UefiCpuPkg / Library / BaseXApicX2ApicLib / BaseXApicX2ApicLib.c
index 1cba34cd598e605d3840d24e2f1ba22c5bdc3edc..9f08f5d188c14d9ec5313275b0ce0b67aa16c9e0 100644 (file)
@@ -151,7 +151,7 @@ SendIpi (
     // For x2APIC, A single MSR write to the Interrupt Command Register is required for dispatching an \r
     // interrupt in x2APIC mode.\r
     //\r
-    MsrValue = (((UINT64)ApicId) << 32) | IcrLow;\r
+    MsrValue = LShiftU64 ((UINT64) ApicId, 32) | IcrLow;\r
     AsmWriteMsr64 (X2APIC_MSR_ICR_ADDRESS, MsrValue);\r
   }\r
 }\r