UINT32 RealModeBufferSize;\r
UINT32 ExtraStackSize;\r
EFI_PHYSICAL_ADDRESS LegacyRegionBase;\r
- \r
+ UINT32 LegacyRegionSize;\r
//\r
// Get LegacyRegion\r
//\r
AsmGetThunk16Properties (&RealModeBufferSize, &ExtraStackSize);\r
-\r
+ LegacyRegionSize = (((RealModeBufferSize + ExtraStackSize) / EFI_PAGE_SIZE) + 1) * EFI_PAGE_SIZE;\r
LegacyRegionBase = 0x100000;\r
Status = gBS->AllocatePages (\r
AllocateMaxAddress,\r
EfiACPIMemoryNVS,\r
- EFI_SIZE_TO_PAGES(RealModeBufferSize + ExtraStackSize + 200),\r
+ EFI_SIZE_TO_PAGES(LegacyRegionSize),\r
&LegacyRegionBase\r
);\r
ASSERT_EFI_ERROR (Status);\r
\r
ThunkContext->RealModeBuffer = (VOID*)(UINTN)LegacyRegionBase;\r
- ThunkContext->RealModeBufferSize = EFI_PAGES_TO_SIZE (RealModeBufferSize);\r
- ThunkContext->ThunkAttributes = 3;\r
+ ThunkContext->RealModeBufferSize = LegacyRegionSize;\r
+ ThunkContext->ThunkAttributes = THUNK_ATTRIBUTE_BIG_REAL_MODE|THUNK_ATTRIBUTE_DISABLE_A20_MASK_INT_15;\r
AsmPrepareThunk16(ThunkContext);\r
- \r
}\r
\r
/**\r
# ISA Support\r
INF PcAtChipsetPkg/IsaAcpiDxe/IsaAcpi.inf\r
INF IntelFrameworkModulePkg/Bus/Isa/IsaBusDxe/IsaBusDxe.inf\r
-#INF IntelFrameworkModulePkg/Bus/Isa/IsaSerialDxe/IsaSerialDxe.inf\r
+INF IntelFrameworkModulePkg/Bus/Isa/IsaSerialDxe/IsaSerialDxe.inf\r
INF IntelFrameworkModulePkg/Bus/Isa/Ps2KeyboardDxe/Ps2keyboardDxe.inf\r
INF IntelFrameworkModulePkg/Bus/Isa/IsaFloppyDxe/IsaFloppyDxe.inf\r
\r
INF MdeModulePkg/Universal/Disk/DiskIoDxe/DiskIoDxe.inf\r
INF MdeModulePkg/Universal/Disk/UnicodeCollation/EnglishDxe/EnglishDxe.inf\r
INF MdeModulePkg/Universal/Disk/PartitionDxe/PartitionDxe.inf\r
-#INF DuetPkg/BiosVideoThunkDxe/BiosVideo.inf\r
+INF DuetPkg/BiosVideoThunkDxe/BiosVideo.inf\r
\r
# Binary INF file to support toggle among different CPU architectures.\r
INF FatBinPkg/EnhancedFatDxe/Fat.inf\r