]> git.proxmox.com Git - mirror_edk2.git/blobdiff - PcAtChipsetPkg/8259InterruptControllerDxe/8259.c
Raise TPL to high to disable CPU interrupt before 8259 legacy base vector is changed...
[mirror_edk2.git] / PcAtChipsetPkg / 8259InterruptControllerDxe / 8259.c
index 447106afe92ce60eff749a6e5296ec0c7b6c6fee..e73a1007a2df69483f35b596d6f4ec9dc8f2e9f0 100644 (file)
@@ -123,8 +123,10 @@ Interrupt8259SetVectorBase (
   IN UINT8                     SlaveBase\r
   )\r
 {\r
-  UINT8 Mask;\r
+  UINT8   Mask;\r
+  EFI_TPL OriginalTpl;\r
 \r
+  OriginalTpl = gBS->RaiseTPL (TPL_HIGH_LEVEL);\r
   //\r
   // Set vector base for slave PIC\r
   //\r
@@ -211,6 +213,8 @@ Interrupt8259SetVectorBase (
 \r
   IoWrite8 (LEGACY_8259_CONTROL_REGISTER_SLAVE, LEGACY_8259_EOI);\r
   IoWrite8 (LEGACY_8259_CONTROL_REGISTER_MASTER, LEGACY_8259_EOI);\r
+  \r
+  gBS->RestoreTPL (OriginalTpl);\r
 \r
   return EFI_SUCCESS;\r
 }\r