]> git.proxmox.com Git - mirror_edk2.git/blobdiff - UefiCpuPkg/Library/BaseXApicX2ApicLib/BaseXApicX2ApicLib.c
UefiCpuPkg/LocalApicLib: Exclude second SendIpi sequence on AMD processors.
[mirror_edk2.git] / UefiCpuPkg / Library / BaseXApicX2ApicLib / BaseXApicX2ApicLib.c
index 1f4dcf709f28d8a1c5614faffbe26ef9a61937e1..3045035020a0938c888bf9c501f31155eb4e4314 100644 (file)
@@ -649,8 +649,10 @@ SendInitSipiSipi (
   IcrLow.Bits.DeliveryMode = LOCAL_APIC_DELIVERY_MODE_STARTUP;\r
   IcrLow.Bits.Level = 1;\r
   SendIpi (IcrLow.Uint32, ApicId);\r
-  MicroSecondDelay (200);\r
-  SendIpi (IcrLow.Uint32, ApicId);\r
+  if (!StandardSignatureIsAuthenticAMD ()) {\r
+    MicroSecondDelay (200);\r
+    SendIpi (IcrLow.Uint32, ApicId);\r
+  }\r
 }\r
 \r
 /**\r
@@ -683,8 +685,10 @@ SendInitSipiSipiAllExcludingSelf (
   IcrLow.Bits.Level = 1;\r
   IcrLow.Bits.DestinationShorthand = LOCAL_APIC_DESTINATION_SHORTHAND_ALL_EXCLUDING_SELF;\r
   SendIpi (IcrLow.Uint32, 0);\r
-  MicroSecondDelay (200);\r
-  SendIpi (IcrLow.Uint32, 0);\r
+  if (!StandardSignatureIsAuthenticAMD ()) {\r
+    MicroSecondDelay (200);\r
+    SendIpi (IcrLow.Uint32, 0);\r
+  }\r
 }\r
 \r
 /**\r