Add DisableLvtInterrupts() for the Local APIC library class.
[mirror_edk2.git] / UefiCpuPkg / Library / BaseXApicX2ApicLib / BaseXApicX2ApicLib.c
index 7ee13c3ba6f594e97820860eb7fa38ccb6c305d4..1cba34cd598e605d3840d24e2f1ba22c5bdc3edc 100644 (file)
@@ -543,6 +543,28 @@ ProgramVirtualWireMode (
   WriteLocalApicReg (XAPIC_LVT_LINT1_OFFSET, Lint.Uint32);\r
 }\r
 \r
+/**\r
+  Disable LINT0 & LINT1 interrupts.\r
+\r
+  This function sets the mask flag in the LVT LINT0 & LINT1 registers.\r
+**/\r
+VOID\r
+EFIAPI\r
+DisableLvtInterrupts (\r
+  VOID\r
+  )\r
+{\r
+  LOCAL_APIC_LVT_LINT LvtLint;\r
+\r
+  LvtLint.Uint32 = ReadLocalApicReg (XAPIC_LVT_LINT0_OFFSET);\r
+  LvtLint.Bits.Mask = 1;\r
+  WriteLocalApicReg (XAPIC_LVT_LINT0_OFFSET, LvtLint.Uint32);\r
+\r
+  LvtLint.Uint32 = ReadLocalApicReg (XAPIC_LVT_LINT1_OFFSET);\r
+  LvtLint.Bits.Mask = 1;\r
+  WriteLocalApicReg (XAPIC_LVT_LINT1_OFFSET, LvtLint.Uint32);\r
+}\r
+\r
 /**\r
   Read the initial count value from the init-count register.\r
 \r