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