]> git.proxmox.com Git - mirror_edk2.git/blobdiff - IntelFrameworkModulePkg/Csm/LegacyBiosDxe/LegacyBda.c
IntelFrameworkModulePkg/LegacyBios: Use macro to enable/disable page 0
[mirror_edk2.git] / IntelFrameworkModulePkg / Csm / LegacyBiosDxe / LegacyBda.c
index c6670febeea4fca52dca96a41640983476636c65..a94cba435c2921c9b45c2beaeb1e060e7c7a6aed 100644 (file)
@@ -34,37 +34,36 @@ LegacyBiosInitBda (
   BDA_STRUC *Bda;\r
   UINT8     *Ebda;\r
 \r
-  DisableNullDetection ();\r
-\r
   Bda   = (BDA_STRUC *) ((UINTN) 0x400);\r
   Ebda  = (UINT8 *) ((UINTN) 0x9fc00);\r
 \r
-  ZeroMem (Bda, 0x100);\r
+  ACCESS_PAGE0_CODE (\r
+    ZeroMem (Bda, 0x100);\r
+    //\r
+    // 640k-1k for EBDA\r
+    //\r
+    Bda->MemSize        = 0x27f;\r
+    Bda->KeyHead        = 0x1e;\r
+    Bda->KeyTail        = 0x1e;\r
+    Bda->FloppyData     = 0x00;\r
+    Bda->FloppyTimeout  = 0xff;\r
+\r
+    Bda->KeyStart       = 0x001E;\r
+    Bda->KeyEnd         = 0x003E;\r
+    Bda->KeyboardStatus = 0x10;\r
+    Bda->Ebda           = 0x9fc0;\r
+\r
+    //\r
+    // Move LPT time out here and zero out LPT4 since some SCSI OPROMS\r
+    // use this as scratch pad (LPT4 is Reserved)\r
+    //\r
+    Bda->Lpt1_2Timeout  = 0x1414;\r
+    Bda->Lpt3_4Timeout  = 0x1400;\r
+\r
+  );\r
+\r
   ZeroMem (Ebda, 0x400);\r
-  //\r
-  // 640k-1k for EBDA\r
-  //\r
-  Bda->MemSize        = 0x27f;\r
-  Bda->KeyHead        = 0x1e;\r
-  Bda->KeyTail        = 0x1e;\r
-  Bda->FloppyData     = 0x00;\r
-  Bda->FloppyTimeout  = 0xff;\r
-\r
-  Bda->KeyStart       = 0x001E;\r
-  Bda->KeyEnd         = 0x003E;\r
-  Bda->KeyboardStatus = 0x10;\r
-  Bda->Ebda           = 0x9fc0;\r
-\r
-  //\r
-  // Move LPT time out here and zero out LPT4 since some SCSI OPROMS\r
-  // use this as scratch pad (LPT4 is Reserved)\r
-  //\r
-  Bda->Lpt1_2Timeout  = 0x1414;\r
-  Bda->Lpt3_4Timeout  = 0x1400;\r
-\r
-  *Ebda               = 0x01;\r
-\r
-  EnableNullDetection ();\r
+  *Ebda = 0x01;\r
 \r
   return EFI_SUCCESS;\r
 }\r