Add DisableLvtInterrupts() for the Local APIC library class.
authorrsun3 <rsun3@6f19259b-4bc3-4df7-8a09-765794883524>
Fri, 27 Aug 2010 03:46:18 +0000 (03:46 +0000)
committerrsun3 <rsun3@6f19259b-4bc3-4df7-8a09-765794883524>
Fri, 27 Aug 2010 03:46:18 +0000 (03:46 +0000)
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10827 6f19259b-4bc3-4df7-8a09-765794883524

UefiCpuPkg/Include/Library/LocalApicLib.h
UefiCpuPkg/Library/BaseXApicLib/BaseXApicLib.c
UefiCpuPkg/Library/BaseXApicX2ApicLib/BaseXApicX2ApicLib.c

index d565dad96c48bf2d26c3ecfaf9fa30db813f4e03..d68e0e48b97f8769eaca42ac6d3c6bf339aae13d 100644 (file)
@@ -212,6 +212,17 @@ ProgramVirtualWireMode (
   VOID\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
 /**\r
   Read the initial count value from the init-count register.\r
 \r
index 1ac3853071e3dd25db362a06c10bf98db7812f71..79a0fcd413332c3a17dd97c98beec768c86c47ba 100644 (file)
@@ -460,6 +460,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
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