//\r
// define maximum number of HDD system supports\r
//\r
-#define MAX_HDD_ENTRIES 0x30\r
+#define MAX_HDD_ENTRIES 0x30\r
\r
//\r
// Module Global:\r
//\r
// The SMBIOS table in EfiRuntimeServicesData memory\r
//\r
-VOID *mRuntimeSmbiosEntryPoint = NULL;\r
+VOID *mRuntimeSmbiosEntryPoint = NULL;\r
\r
//\r
// The SMBIOS table in EfiReservedMemoryType memory\r
**/\r
EFI_STATUS\r
AllocateLegacyMemory (\r
- IN EFI_ALLOCATE_TYPE AllocateType,\r
- IN EFI_MEMORY_TYPE MemoryType,\r
- IN EFI_PHYSICAL_ADDRESS StartPageAddress,\r
- IN UINTN Pages,\r
- OUT EFI_PHYSICAL_ADDRESS *Result\r
+ IN EFI_ALLOCATE_TYPE AllocateType,\r
+ IN EFI_MEMORY_TYPE MemoryType,\r
+ IN EFI_PHYSICAL_ADDRESS StartPageAddress,\r
+ IN UINTN Pages,\r
+ OUT EFI_PHYSICAL_ADDRESS *Result\r
)\r
{\r
- EFI_STATUS Status;\r
- EFI_PHYSICAL_ADDRESS MemPage;\r
- EFI_GCD_MEMORY_SPACE_DESCRIPTOR MemDesc;\r
+ EFI_STATUS Status;\r
+ EFI_PHYSICAL_ADDRESS MemPage;\r
+ EFI_GCD_MEMORY_SPACE_DESCRIPTOR MemDesc;\r
\r
//\r
// Allocate Pages of memory less <= StartPageAddress\r
//\r
- MemPage = (EFI_PHYSICAL_ADDRESS) (UINTN) StartPageAddress;\r
- Status = gBS->AllocatePages (\r
- AllocateType,\r
- MemoryType,\r
- Pages,\r
- &MemPage\r
- );\r
+ MemPage = (EFI_PHYSICAL_ADDRESS)(UINTN)StartPageAddress;\r
+ Status = gBS->AllocatePages (\r
+ AllocateType,\r
+ MemoryType,\r
+ Pages,\r
+ &MemPage\r
+ );\r
//\r
// Do not ASSERT on Status error but let caller decide since some cases\r
// memory is already taken but that is ok.\r
// Make sure that the buffer can be used to store code.\r
//\r
Status = gDS->GetMemorySpaceDescriptor (MemPage, &MemDesc);\r
- if (!EFI_ERROR (Status) && (MemDesc.Attributes & EFI_MEMORY_XP) != 0) {\r
+ if (!EFI_ERROR (Status) && ((MemDesc.Attributes & EFI_MEMORY_XP) != 0)) {\r
Status = gDS->SetMemorySpaceAttributes (\r
MemPage,\r
EFI_PAGES_TO_SIZE (Pages),\r
MemDesc.Attributes & (~EFI_MEMORY_XP)\r
);\r
}\r
+\r
if (EFI_ERROR (Status)) {\r
gBS->FreePages (MemPage, Pages);\r
}\r
}\r
\r
if (!EFI_ERROR (Status)) {\r
- *Result = (EFI_PHYSICAL_ADDRESS) (UINTN) MemPage;\r
+ *Result = (EFI_PHYSICAL_ADDRESS)(UINTN)MemPage;\r
}\r
\r
return Status;\r
}\r
\r
-\r
/**\r
This function is called when EFI needs to reserve an area in the 0xE0000 or 0xF0000\r
64 KB blocks.\r
EFI_STATUS\r
EFIAPI\r
LegacyBiosGetLegacyRegion (\r
- IN EFI_LEGACY_BIOS_PROTOCOL *This,\r
- IN UINTN LegacyMemorySize,\r
- IN UINTN Region,\r
- IN UINTN Alignment,\r
- OUT VOID **LegacyMemoryAddress\r
+ IN EFI_LEGACY_BIOS_PROTOCOL *This,\r
+ IN UINTN LegacyMemorySize,\r
+ IN UINTN Region,\r
+ IN UINTN Alignment,\r
+ OUT VOID **LegacyMemoryAddress\r
)\r
{\r
-\r
- LEGACY_BIOS_INSTANCE *Private;\r
- EFI_IA32_REGISTER_SET Regs;\r
- EFI_STATUS Status;\r
- UINT32 Granularity;\r
+ LEGACY_BIOS_INSTANCE *Private;\r
+ EFI_IA32_REGISTER_SET Regs;\r
+ EFI_STATUS Status;\r
+ UINT32 Granularity;\r
\r
Private = LEGACY_BIOS_INSTANCE_FROM_THIS (This);\r
Private->LegacyRegion->UnLock (Private->LegacyRegion, 0xE0000, 0x20000, &Granularity);\r
\r
ZeroMem (&Regs, sizeof (EFI_IA32_REGISTER_SET));\r
Regs.X.AX = Legacy16GetTableAddress;\r
- Regs.X.BX = (UINT16) Region;\r
- Regs.X.CX = (UINT16) LegacyMemorySize;\r
- Regs.X.DX = (UINT16) Alignment;\r
+ Regs.X.BX = (UINT16)Region;\r
+ Regs.X.CX = (UINT16)LegacyMemorySize;\r
+ Regs.X.DX = (UINT16)Alignment;\r
Private->LegacyBios.FarCall86 (\r
- &Private->LegacyBios,\r
- Private->Legacy16CallSegment,\r
- Private->Legacy16CallOffset,\r
- &Regs,\r
- NULL,\r
- 0\r
- );\r
+ &Private->LegacyBios,\r
+ Private->Legacy16CallSegment,\r
+ Private->Legacy16CallOffset,\r
+ &Regs,\r
+ NULL,\r
+ 0\r
+ );\r
\r
if (Regs.X.AX == 0) {\r
- *LegacyMemoryAddress = (VOID *) (((UINTN) Regs.X.DS << 4) + Regs.X.BX);\r
- Status = EFI_SUCCESS;\r
+ *LegacyMemoryAddress = (VOID *)(((UINTN)Regs.X.DS << 4) + Regs.X.BX);\r
+ Status = EFI_SUCCESS;\r
} else {\r
Status = EFI_OUT_OF_RESOURCES;\r
}\r
return Status;\r
}\r
\r
-\r
/**\r
This function is called when copying data to the region assigned by\r
EFI_LEGACY_BIOS_PROTOCOL.GetLegacyRegion().\r
EFI_STATUS\r
EFIAPI\r
LegacyBiosCopyLegacyRegion (\r
- IN EFI_LEGACY_BIOS_PROTOCOL *This,\r
- IN UINTN LegacyMemorySize,\r
- IN VOID *LegacyMemoryAddress,\r
- IN VOID *LegacyMemorySourceAddress\r
+ IN EFI_LEGACY_BIOS_PROTOCOL *This,\r
+ IN UINTN LegacyMemorySize,\r
+ IN VOID *LegacyMemoryAddress,\r
+ IN VOID *LegacyMemorySourceAddress\r
)\r
{\r
-\r
LEGACY_BIOS_INSTANCE *Private;\r
UINT32 Granularity;\r
\r
- if ((LegacyMemoryAddress < (VOID *)(UINTN)0xE0000 ) ||\r
- ((UINTN) LegacyMemoryAddress + LegacyMemorySize > (UINTN) 0x100000)\r
- ) {\r
+ if ((LegacyMemoryAddress < (VOID *)(UINTN)0xE0000) ||\r
+ ((UINTN)LegacyMemoryAddress + LegacyMemorySize > (UINTN)0x100000)\r
+ )\r
+ {\r
return EFI_ACCESS_DENIED;\r
}\r
+\r
//\r
// There is no protection from writes over lapping if this function is\r
// called multiple times.\r
return EFI_SUCCESS;\r
}\r
\r
-\r
/**\r
Find Legacy16 BIOS image in the FLASH device and shadow it into memory. Find\r
the $EFI table in the shadow area. Thunk into the Legacy16 code after it had\r
IN LEGACY_BIOS_INSTANCE *Private\r
)\r
{\r
- EFI_STATUS Status;\r
- UINT8 *Ptr;\r
- UINT8 *PtrEnd;\r
- BOOLEAN Done;\r
- EFI_COMPATIBILITY16_TABLE *Table;\r
- UINT8 CheckSum;\r
- EFI_IA32_REGISTER_SET Regs;\r
- EFI_TO_COMPATIBILITY16_INIT_TABLE *EfiToLegacy16InitTable;\r
- EFI_TO_COMPATIBILITY16_BOOT_TABLE *EfiToLegacy16BootTable;\r
- VOID *LegacyBiosImage;\r
- UINTN LegacyBiosImageSize;\r
- UINTN E820Size;\r
- UINT32 *ClearPtr;\r
- BBS_TABLE *BbsTable;\r
- LEGACY_EFI_HDD_TABLE *LegacyEfiHddTable;\r
- UINTN Index;\r
- UINT32 TpmPointer;\r
- VOID *TpmBinaryImage;\r
- UINTN TpmBinaryImageSize;\r
- UINTN Location;\r
- UINTN Alignment;\r
- UINTN TempData;\r
- EFI_PHYSICAL_ADDRESS Address;\r
- UINT16 OldMask;\r
- UINT16 NewMask;\r
- UINT32 Granularity;\r
- EFI_GCD_MEMORY_SPACE_DESCRIPTOR Descriptor;\r
+ EFI_STATUS Status;\r
+ UINT8 *Ptr;\r
+ UINT8 *PtrEnd;\r
+ BOOLEAN Done;\r
+ EFI_COMPATIBILITY16_TABLE *Table;\r
+ UINT8 CheckSum;\r
+ EFI_IA32_REGISTER_SET Regs;\r
+ EFI_TO_COMPATIBILITY16_INIT_TABLE *EfiToLegacy16InitTable;\r
+ EFI_TO_COMPATIBILITY16_BOOT_TABLE *EfiToLegacy16BootTable;\r
+ VOID *LegacyBiosImage;\r
+ UINTN LegacyBiosImageSize;\r
+ UINTN E820Size;\r
+ UINT32 *ClearPtr;\r
+ BBS_TABLE *BbsTable;\r
+ LEGACY_EFI_HDD_TABLE *LegacyEfiHddTable;\r
+ UINTN Index;\r
+ UINT32 TpmPointer;\r
+ VOID *TpmBinaryImage;\r
+ UINTN TpmBinaryImageSize;\r
+ UINTN Location;\r
+ UINTN Alignment;\r
+ UINTN TempData;\r
+ EFI_PHYSICAL_ADDRESS Address;\r
+ UINT16 OldMask;\r
+ UINT16 NewMask;\r
+ UINT32 Granularity;\r
+ EFI_GCD_MEMORY_SPACE_DESCRIPTOR Descriptor;\r
\r
Location = 0;\r
Alignment = 0;\r
// end testtest\r
//\r
EfiToLegacy16BootTable = &Private->IntThunk->EfiToLegacy16BootTable;\r
- Status = Private->LegacyBiosPlatform->GetPlatformInfo (\r
- Private->LegacyBiosPlatform,\r
- EfiGetPlatformBinarySystemRom,\r
- &LegacyBiosImage,\r
- &LegacyBiosImageSize,\r
- &Location,\r
- &Alignment,\r
- 0,\r
- 0\r
- );\r
+ Status = Private->LegacyBiosPlatform->GetPlatformInfo (\r
+ Private->LegacyBiosPlatform,\r
+ EfiGetPlatformBinarySystemRom,\r
+ &LegacyBiosImage,\r
+ &LegacyBiosImageSize,\r
+ &Location,\r
+ &Alignment,\r
+ 0,\r
+ 0\r
+ );\r
if (EFI_ERROR (Status)) {\r
return Status;\r
}\r
\r
- Private->BiosStart = (UINT32) (0x100000 - LegacyBiosImageSize);\r
- Private->OptionRom = 0xc0000;\r
- Private->LegacyBiosImageSize = (UINT32) LegacyBiosImageSize;\r
+ Private->BiosStart = (UINT32)(0x100000 - LegacyBiosImageSize);\r
+ Private->OptionRom = 0xc0000;\r
+ Private->LegacyBiosImageSize = (UINT32)LegacyBiosImageSize;\r
\r
//\r
// Can only shadow into memory allocated for legacy usage.\r
//\r
Private->LegacyRegion->UnLock (Private->LegacyRegion, 0xc0000, 0x40000, &Granularity);\r
\r
- ClearPtr = (VOID *) ((UINTN) 0xc0000);\r
+ ClearPtr = (VOID *)((UINTN)0xc0000);\r
\r
//\r
// Initialize region from 0xc0000 to start of BIOS to all ffs. This allows unused\r
// regions to be used by EMM386 etc.\r
//\r
- SetMem ((VOID *) ClearPtr, (UINTN) (0x40000 - LegacyBiosImageSize), 0xff);\r
+ SetMem ((VOID *)ClearPtr, (UINTN)(0x40000 - LegacyBiosImageSize), 0xff);\r
\r
TempData = Private->BiosStart;\r
\r
CopyMem (\r
- (VOID *) TempData,\r
+ (VOID *)TempData,\r
LegacyBiosImage,\r
- (UINTN) LegacyBiosImageSize\r
+ (UINTN)LegacyBiosImageSize\r
);\r
\r
Private->Cpu->FlushDataCache (Private->Cpu, 0xc0000, 0x40000, EfiCpuFlushTypeWriteBackInvalidate);\r
//\r
Done = FALSE;\r
Table = NULL;\r
- for (Ptr = (UINT8 *) TempData; Ptr < (UINT8 *) ((UINTN) 0x100000) && !Done; Ptr += 0x10) {\r
- if (*(UINT32 *) Ptr == SIGNATURE_32 ('I', 'F', 'E', '$')) {\r
- Table = (EFI_COMPATIBILITY16_TABLE *) Ptr;\r
- PtrEnd = Ptr + Table->TableLength;\r
+ for (Ptr = (UINT8 *)TempData; Ptr < (UINT8 *)((UINTN)0x100000) && !Done; Ptr += 0x10) {\r
+ if (*(UINT32 *)Ptr == SIGNATURE_32 ('I', 'F', 'E', '$')) {\r
+ Table = (EFI_COMPATIBILITY16_TABLE *)Ptr;\r
+ PtrEnd = Ptr + Table->TableLength;\r
for (CheckSum = 0; Ptr < PtrEnd; Ptr++) {\r
- CheckSum = (UINT8) (CheckSum +*Ptr);\r
+ CheckSum = (UINT8)(CheckSum +*Ptr);\r
}\r
\r
Done = TRUE;\r
//\r
// Remember location of the Legacy16 table\r
//\r
- Private->Legacy16Table = Table;\r
- Private->Legacy16CallSegment = Table->Compatibility16CallSegment;\r
- Private->Legacy16CallOffset = Table->Compatibility16CallOffset;\r
- EfiToLegacy16InitTable = &Private->IntThunk->EfiToLegacy16InitTable;\r
- Private->Legacy16InitPtr = EfiToLegacy16InitTable;\r
- Private->Legacy16BootPtr = &Private->IntThunk->EfiToLegacy16BootTable;\r
- Private->InternalIrqRoutingTable = NULL;\r
- Private->NumberIrqRoutingEntries = 0;\r
- Private->BbsTablePtr = NULL;\r
- Private->LegacyEfiHddTable = NULL;\r
- Private->DiskEnd = 0;\r
- Private->Disk4075 = 0;\r
- Private->HddTablePtr = &Private->IntThunk->EfiToLegacy16BootTable.HddInfo;\r
- Private->NumberHddControllers = MAX_IDE_CONTROLLER;\r
- Private->Dump[0] = 'D';\r
- Private->Dump[1] = 'U';\r
- Private->Dump[2] = 'M';\r
- Private->Dump[3] = 'P';\r
+ Private->Legacy16Table = Table;\r
+ Private->Legacy16CallSegment = Table->Compatibility16CallSegment;\r
+ Private->Legacy16CallOffset = Table->Compatibility16CallOffset;\r
+ EfiToLegacy16InitTable = &Private->IntThunk->EfiToLegacy16InitTable;\r
+ Private->Legacy16InitPtr = EfiToLegacy16InitTable;\r
+ Private->Legacy16BootPtr = &Private->IntThunk->EfiToLegacy16BootTable;\r
+ Private->InternalIrqRoutingTable = NULL;\r
+ Private->NumberIrqRoutingEntries = 0;\r
+ Private->BbsTablePtr = NULL;\r
+ Private->LegacyEfiHddTable = NULL;\r
+ Private->DiskEnd = 0;\r
+ Private->Disk4075 = 0;\r
+ Private->HddTablePtr = &Private->IntThunk->EfiToLegacy16BootTable.HddInfo;\r
+ Private->NumberHddControllers = MAX_IDE_CONTROLLER;\r
+ Private->Dump[0] = 'D';\r
+ Private->Dump[1] = 'U';\r
+ Private->Dump[2] = 'M';\r
+ Private->Dump[3] = 'P';\r
\r
ZeroMem (\r
Private->Legacy16BootPtr,\r
//\r
// Store away a copy of the EFI System Table\r
//\r
- Table->EfiSystemTable = (UINT32) (UINTN) gST;\r
+ Table->EfiSystemTable = (UINT32)(UINTN)gST;\r
\r
//\r
// IPF CSM integration -Bug\r
//\r
// All legacy interrupt should be masked when do initialization work from legacy 16 code.\r
//\r
- Private->Legacy8259->GetMask(Private->Legacy8259, &OldMask, NULL, NULL, NULL);\r
+ Private->Legacy8259->GetMask (Private->Legacy8259, &OldMask, NULL, NULL, NULL);\r
NewMask = 0xFFFF;\r
- Private->Legacy8259->SetMask(Private->Legacy8259, &NewMask, NULL, NULL, NULL);\r
+ Private->Legacy8259->SetMask (Private->Legacy8259, &NewMask, NULL, NULL, NULL);\r
\r
//\r
// Call into Legacy16 code to do an INIT\r
//\r
ZeroMem (&Regs, sizeof (EFI_IA32_REGISTER_SET));\r
Regs.X.AX = Legacy16InitializeYourself;\r
- Regs.X.ES = EFI_SEGMENT (*((UINT32 *) &EfiToLegacy16InitTable));\r
- Regs.X.BX = EFI_OFFSET (*((UINT32 *) &EfiToLegacy16InitTable));\r
+ Regs.X.ES = EFI_SEGMENT (*((UINT32 *)&EfiToLegacy16InitTable));\r
+ Regs.X.BX = EFI_OFFSET (*((UINT32 *)&EfiToLegacy16InitTable));\r
\r
Private->LegacyBios.FarCall86 (\r
- &Private->LegacyBios,\r
- Table->Compatibility16CallSegment,\r
- Table->Compatibility16CallOffset,\r
- &Regs,\r
- NULL,\r
- 0\r
- );\r
+ &Private->LegacyBios,\r
+ Table->Compatibility16CallSegment,\r
+ Table->Compatibility16CallOffset,\r
+ &Regs,\r
+ NULL,\r
+ 0\r
+ );\r
\r
//\r
// Restore original legacy interrupt mask value\r
//\r
- Private->Legacy8259->SetMask(Private->Legacy8259, &OldMask, NULL, NULL, NULL);\r
+ Private->Legacy8259->SetMask (Private->Legacy8259, &OldMask, NULL, NULL, NULL);\r
\r
if (Regs.X.AX != 0) {\r
return EFI_DEVICE_ERROR;\r
//\r
ZeroMem (&Regs, sizeof (EFI_IA32_REGISTER_SET));\r
Regs.X.AX = Legacy16GetTableAddress;\r
- Regs.X.CX = (UINT16) E820Size;\r
+ Regs.X.CX = (UINT16)E820Size;\r
Regs.X.DX = 1;\r
Private->LegacyBios.FarCall86 (\r
- &Private->LegacyBios,\r
- Table->Compatibility16CallSegment,\r
- Table->Compatibility16CallOffset,\r
- &Regs,\r
- NULL,\r
- 0\r
- );\r
+ &Private->LegacyBios,\r
+ Table->Compatibility16CallSegment,\r
+ Table->Compatibility16CallOffset,\r
+ &Regs,\r
+ NULL,\r
+ 0\r
+ );\r
\r
- Table->E820Pointer = (UINT32) (Regs.X.DS * 16 + Regs.X.BX);\r
- Table->E820Length = (UINT32) E820Size;\r
+ Table->E820Pointer = (UINT32)(Regs.X.DS * 16 + Regs.X.BX);\r
+ Table->E820Length = (UINT32)E820Size;\r
if (Regs.X.AX != 0) {\r
DEBUG ((DEBUG_ERROR, "Legacy16 E820 length insufficient\n"));\r
} else {\r
TempData = Table->E820Pointer;\r
- CopyMem ((VOID *) TempData, Private->E820Table, E820Size);\r
+ CopyMem ((VOID *)TempData, Private->E820Table, E820Size);\r
}\r
+\r
//\r
// Get PnPInstallationCheck Info.\r
//\r
- Private->PnPInstallationCheckSegment = Table->PnPInstallationCheckSegment;\r
- Private->PnPInstallationCheckOffset = Table->PnPInstallationCheckOffset;\r
+ Private->PnPInstallationCheckSegment = Table->PnPInstallationCheckSegment;\r
+ Private->PnPInstallationCheckOffset = Table->PnPInstallationCheckOffset;\r
\r
//\r
// Check if PCI Express is supported. If yes, Save base address.\r
0\r
);\r
if (!EFI_ERROR (Status)) {\r
- Private->Legacy16Table->PciExpressBase = (UINT32)Location;\r
- Location = 0;\r
+ Private->Legacy16Table->PciExpressBase = (UINT32)Location;\r
+ Location = 0;\r
}\r
+\r
//\r
// Check if TPM is supported. If yes get a region in E0000,F0000 to copy it\r
// into, copy it and update pointer to binary image. This needs to be\r
0\r
);\r
if (!EFI_ERROR (Status)) {\r
-\r
ZeroMem (&Regs, sizeof (EFI_IA32_REGISTER_SET));\r
Regs.X.AX = Legacy16GetTableAddress;\r
- Regs.X.CX = (UINT16) TpmBinaryImageSize;\r
+ Regs.X.CX = (UINT16)TpmBinaryImageSize;\r
Regs.X.DX = 1;\r
Private->LegacyBios.FarCall86 (\r
- &Private->LegacyBios,\r
- Table->Compatibility16CallSegment,\r
- Table->Compatibility16CallOffset,\r
- &Regs,\r
- NULL,\r
- 0\r
- );\r
-\r
- TpmPointer = (UINT32) (Regs.X.DS * 16 + Regs.X.BX);\r
+ &Private->LegacyBios,\r
+ Table->Compatibility16CallSegment,\r
+ Table->Compatibility16CallOffset,\r
+ &Regs,\r
+ NULL,\r
+ 0\r
+ );\r
+\r
+ TpmPointer = (UINT32)(Regs.X.DS * 16 + Regs.X.BX);\r
if (Regs.X.AX != 0) {\r
DEBUG ((DEBUG_ERROR, "TPM cannot be loaded\n"));\r
} else {\r
- CopyMem ((VOID *) (UINTN)TpmPointer, TpmBinaryImage, TpmBinaryImageSize);\r
+ CopyMem ((VOID *)(UINTN)TpmPointer, TpmBinaryImage, TpmBinaryImageSize);\r
Table->TpmSegment = Regs.X.DS;\r
Table->TpmOffset = Regs.X.BX;\r
-\r
}\r
}\r
+\r
//\r
// Lock the Legacy BIOS region\r
//\r
- Private->Cpu->FlushDataCache (Private->Cpu, Private->BiosStart, (UINT32) LegacyBiosImageSize, EfiCpuFlushTypeWriteBackInvalidate);\r
- Private->LegacyRegion->Lock (Private->LegacyRegion, Private->BiosStart, (UINT32) LegacyBiosImageSize, &Granularity);\r
+ Private->Cpu->FlushDataCache (Private->Cpu, Private->BiosStart, (UINT32)LegacyBiosImageSize, EfiCpuFlushTypeWriteBackInvalidate);\r
+ Private->LegacyRegion->Lock (Private->LegacyRegion, Private->BiosStart, (UINT32)LegacyBiosImageSize, &Granularity);\r
\r
//\r
// Get the BbsTable from LOW_MEMORY_THUNK\r
BbsTable = (BBS_TABLE *)(UINTN)Private->IntThunk->BbsTable;\r
ZeroMem ((VOID *)BbsTable, sizeof (Private->IntThunk->BbsTable));\r
\r
- EfiToLegacy16BootTable->BbsTable = (UINT32)(UINTN)BbsTable;\r
- Private->BbsTablePtr = (VOID *) BbsTable;\r
+ EfiToLegacy16BootTable->BbsTable = (UINT32)(UINTN)BbsTable;\r
+ Private->BbsTablePtr = (VOID *)BbsTable;\r
\r
//\r
// Populate entire table with BBS_IGNORE_ENTRY\r
for (Index = 0; Index < MAX_BBS_ENTRIES; Index++) {\r
BbsTable[Index].BootPriority = BBS_IGNORE_ENTRY;\r
}\r
+\r
//\r
// Allocate space for Legacy HDD table\r
//\r
- LegacyEfiHddTable = (LEGACY_EFI_HDD_TABLE *) AllocateZeroPool ((UINTN) MAX_HDD_ENTRIES * sizeof (LEGACY_EFI_HDD_TABLE));\r
+ LegacyEfiHddTable = (LEGACY_EFI_HDD_TABLE *)AllocateZeroPool ((UINTN)MAX_HDD_ENTRIES * sizeof (LEGACY_EFI_HDD_TABLE));\r
ASSERT (LegacyEfiHddTable);\r
\r
Private->LegacyEfiHddTable = LegacyEfiHddTable;\r
EFI_STATUS\r
EFIAPI\r
LegacyBiosShadowAllLegacyOproms (\r
- IN EFI_LEGACY_BIOS_PROTOCOL *This\r
+ IN EFI_LEGACY_BIOS_PROTOCOL *This\r
)\r
{\r
LEGACY_BIOS_INSTANCE *Private;\r
**/\r
UINT16\r
GetPciInterfaceVersion (\r
- IN LEGACY_BIOS_INSTANCE *Private\r
+ IN LEGACY_BIOS_INSTANCE *Private\r
)\r
{\r
- EFI_IA32_REGISTER_SET Reg;\r
- BOOLEAN ThunkFailed;\r
- UINT16 PciInterfaceVersion;\r
+ EFI_IA32_REGISTER_SET Reg;\r
+ BOOLEAN ThunkFailed;\r
+ UINT16 PciInterfaceVersion;\r
\r
PciInterfaceVersion = 0;\r
\r
- Reg.X.AX = 0xB101;\r
+ Reg.X.AX = 0xB101;\r
Reg.E.EDI = 0;\r
\r
ThunkFailed = Private->LegacyBios.Int86 (&Private->LegacyBios, 0x1A, &Reg);\r
PciInterfaceVersion = Reg.X.BX;\r
}\r
}\r
+\r
return PciInterfaceVersion;\r
}\r
\r
VOID\r
EFIAPI\r
InstallSmbiosEventCallback (\r
- IN EFI_EVENT Event,\r
- IN VOID *Context\r
+ IN EFI_EVENT Event,\r
+ IN VOID *Context\r
)\r
{\r
- EFI_STATUS Status;\r
- SMBIOS_TABLE_ENTRY_POINT *EntryPointStructure;\r
+ EFI_STATUS Status;\r
+ SMBIOS_TABLE_ENTRY_POINT *EntryPointStructure;\r
\r
//\r
// Get SMBIOS table from EFI configuration table\r
//\r
Status = EfiGetSystemConfigurationTable (\r
- &gEfiSmbiosTableGuid,\r
- &mRuntimeSmbiosEntryPoint\r
- );\r
+ &gEfiSmbiosTableGuid,\r
+ &mRuntimeSmbiosEntryPoint\r
+ );\r
if ((EFI_ERROR (Status)) || (mRuntimeSmbiosEntryPoint == NULL)) {\r
return;\r
}\r
\r
- EntryPointStructure = (SMBIOS_TABLE_ENTRY_POINT *) mRuntimeSmbiosEntryPoint;\r
+ EntryPointStructure = (SMBIOS_TABLE_ENTRY_POINT *)mRuntimeSmbiosEntryPoint;\r
\r
//\r
// Allocate memory for SMBIOS Entry Point Structure.\r
// Entrypoint structure with fixed size is allocated only once.\r
//\r
mReserveSmbiosEntryPoint = SIZE_4GB - 1;\r
- Status = gBS->AllocatePages (\r
- AllocateMaxAddress,\r
- EfiReservedMemoryType,\r
- EFI_SIZE_TO_PAGES ((UINTN) (EntryPointStructure->EntryPointLength)),\r
- &mReserveSmbiosEntryPoint\r
- );\r
+ Status = gBS->AllocatePages (\r
+ AllocateMaxAddress,\r
+ EfiReservedMemoryType,\r
+ EFI_SIZE_TO_PAGES ((UINTN)(EntryPointStructure->EntryPointLength)),\r
+ &mReserveSmbiosEntryPoint\r
+ );\r
if (EFI_ERROR (Status)) {\r
mReserveSmbiosEntryPoint = 0;\r
return;\r
}\r
+\r
DEBUG ((DEBUG_INFO, "Allocate memory for Smbios Entry Point Structure\n"));\r
}\r
\r
if ((mStructureTableAddress != 0) &&\r
- (mStructureTablePages < EFI_SIZE_TO_PAGES ((UINT32)EntryPointStructure->TableLength))) {\r
+ (mStructureTablePages < EFI_SIZE_TO_PAGES ((UINT32)EntryPointStructure->TableLength)))\r
+ {\r
//\r
// If original buffer is not enough for the new SMBIOS table, free original buffer and re-allocate\r
//\r
//\r
mStructureTableAddress = SIZE_4GB - 1;\r
mStructureTablePages = EFI_SIZE_TO_PAGES (EntryPointStructure->TableLength);\r
- Status = gBS->AllocatePages (\r
- AllocateMaxAddress,\r
- EfiReservedMemoryType,\r
- mStructureTablePages,\r
- &mStructureTableAddress\r
- );\r
+ Status = gBS->AllocatePages (\r
+ AllocateMaxAddress,\r
+ EfiReservedMemoryType,\r
+ mStructureTablePages,\r
+ &mStructureTableAddress\r
+ );\r
if (EFI_ERROR (Status)) {\r
gBS->FreePages (\r
- mReserveSmbiosEntryPoint,\r
- EFI_SIZE_TO_PAGES ((UINTN) (EntryPointStructure->EntryPointLength))\r
- );\r
+ mReserveSmbiosEntryPoint,\r
+ EFI_SIZE_TO_PAGES ((UINTN)(EntryPointStructure->EntryPointLength))\r
+ );\r
mReserveSmbiosEntryPoint = 0;\r
mStructureTableAddress = 0;\r
mStructureTablePages = 0;\r
return;\r
}\r
+\r
DEBUG ((DEBUG_INFO, "Allocate memory for Smbios Structure Table\n"));\r
}\r
}\r
VOID\r
EFIAPI\r
ToggleEndOfDxeStatus (\r
- IN EFI_EVENT Event,\r
- IN VOID *Context\r
+ IN EFI_EVENT Event,\r
+ IN VOID *Context\r
)\r
{\r
mEndOfDxe = TRUE;\r
EFI_STATUS\r
EFIAPI\r
LegacyBiosInstall (\r
- IN EFI_HANDLE ImageHandle,\r
- IN EFI_SYSTEM_TABLE *SystemTable\r
+ IN EFI_HANDLE ImageHandle,\r
+ IN EFI_SYSTEM_TABLE *SystemTable\r
)\r
{\r
EFI_STATUS Status;\r
// When UEFI Secure Boot is enabled, CSM module will not start any more.\r
//\r
SecureBoot = NULL;\r
- GetEfiGlobalVariable2 (EFI_SECURE_BOOT_MODE_NAME, (VOID**)&SecureBoot, NULL);\r
+ GetEfiGlobalVariable2 (EFI_SECURE_BOOT_MODE_NAME, (VOID **)&SecureBoot, NULL);\r
if ((SecureBoot != NULL) && (*SecureBoot == SECURE_BOOT_MODE_ENABLE)) {\r
FreePool (SecureBoot);\r
return EFI_SECURITY_VIOLATION;\r
// Grab a copy of all the protocols we depend on. Any error would\r
// be a dispatcher bug!.\r
//\r
- Status = gBS->LocateProtocol (&gEfiCpuArchProtocolGuid, NULL, (VOID **) &Private->Cpu);\r
+ Status = gBS->LocateProtocol (&gEfiCpuArchProtocolGuid, NULL, (VOID **)&Private->Cpu);\r
ASSERT_EFI_ERROR (Status);\r
\r
- Status = gBS->LocateProtocol (&gEfiTimerArchProtocolGuid, NULL, (VOID **) &Private->Timer);\r
+ Status = gBS->LocateProtocol (&gEfiTimerArchProtocolGuid, NULL, (VOID **)&Private->Timer);\r
ASSERT_EFI_ERROR (Status);\r
\r
- Status = gBS->LocateProtocol (&gEfiLegacyRegion2ProtocolGuid, NULL, (VOID **) &Private->LegacyRegion);\r
+ Status = gBS->LocateProtocol (&gEfiLegacyRegion2ProtocolGuid, NULL, (VOID **)&Private->LegacyRegion);\r
ASSERT_EFI_ERROR (Status);\r
\r
- Status = gBS->LocateProtocol (&gEfiLegacyBiosPlatformProtocolGuid, NULL, (VOID **) &Private->LegacyBiosPlatform);\r
+ Status = gBS->LocateProtocol (&gEfiLegacyBiosPlatformProtocolGuid, NULL, (VOID **)&Private->LegacyBiosPlatform);\r
ASSERT_EFI_ERROR (Status);\r
\r
- Status = gBS->LocateProtocol (&gEfiLegacy8259ProtocolGuid, NULL, (VOID **) &Private->Legacy8259);\r
+ Status = gBS->LocateProtocol (&gEfiLegacy8259ProtocolGuid, NULL, (VOID **)&Private->Legacy8259);\r
ASSERT_EFI_ERROR (Status);\r
\r
- Status = gBS->LocateProtocol (&gEfiLegacyInterruptProtocolGuid, NULL, (VOID **) &Private->LegacyInterrupt);\r
+ Status = gBS->LocateProtocol (&gEfiLegacyInterruptProtocolGuid, NULL, (VOID **)&Private->LegacyInterrupt);\r
ASSERT_EFI_ERROR (Status);\r
\r
//\r
Status = gBS->LocateProtocol (\r
&gEfiGenericMemTestProtocolGuid,\r
NULL,\r
- (VOID **) &Private->GenericMemoryTest\r
+ (VOID **)&Private->GenericMemoryTest\r
);\r
ASSERT_EFI_ERROR (Status);\r
\r
StartAddress = Descriptor.BaseAddress + Descriptor.Length;\r
continue;\r
}\r
+\r
Length = MIN (Descriptor.Length, 0xa0000 - StartAddress);\r
Private->GenericMemoryTest->CompatibleRangeTest (\r
Private->GenericMemoryTest,\r
);\r
StartAddress = StartAddress + Length;\r
}\r
+\r
//\r
// Make sure all memory from 1MB to 16MB is tested and added to memory map\r
//\r
StartAddress = Descriptor.BaseAddress + Descriptor.Length;\r
continue;\r
}\r
+\r
Length = MIN (Descriptor.Length, BASE_16MB - StartAddress);\r
Private->GenericMemoryTest->CompatibleRangeTest (\r
Private->GenericMemoryTest,\r
\r
Private->Signature = LEGACY_BIOS_INSTANCE_SIGNATURE;\r
\r
- Private->LegacyBios.Int86 = LegacyBiosInt86;\r
- Private->LegacyBios.FarCall86 = LegacyBiosFarCall86;\r
- Private->LegacyBios.CheckPciRom = LegacyBiosCheckPciRom;\r
- Private->LegacyBios.InstallPciRom = LegacyBiosInstallPciRom;\r
- Private->LegacyBios.LegacyBoot = LegacyBiosLegacyBoot;\r
- Private->LegacyBios.UpdateKeyboardLedStatus = LegacyBiosUpdateKeyboardLedStatus;\r
- Private->LegacyBios.GetBbsInfo = LegacyBiosGetBbsInfo;\r
- Private->LegacyBios.ShadowAllLegacyOproms = LegacyBiosShadowAllLegacyOproms;\r
- Private->LegacyBios.PrepareToBootEfi = LegacyBiosPrepareToBootEfi;\r
- Private->LegacyBios.GetLegacyRegion = LegacyBiosGetLegacyRegion;\r
- Private->LegacyBios.CopyLegacyRegion = LegacyBiosCopyLegacyRegion;\r
+ Private->LegacyBios.Int86 = LegacyBiosInt86;\r
+ Private->LegacyBios.FarCall86 = LegacyBiosFarCall86;\r
+ Private->LegacyBios.CheckPciRom = LegacyBiosCheckPciRom;\r
+ Private->LegacyBios.InstallPciRom = LegacyBiosInstallPciRom;\r
+ Private->LegacyBios.LegacyBoot = LegacyBiosLegacyBoot;\r
+ Private->LegacyBios.UpdateKeyboardLedStatus = LegacyBiosUpdateKeyboardLedStatus;\r
+ Private->LegacyBios.GetBbsInfo = LegacyBiosGetBbsInfo;\r
+ Private->LegacyBios.ShadowAllLegacyOproms = LegacyBiosShadowAllLegacyOproms;\r
+ Private->LegacyBios.PrepareToBootEfi = LegacyBiosPrepareToBootEfi;\r
+ Private->LegacyBios.GetLegacyRegion = LegacyBiosGetLegacyRegion;\r
+ Private->LegacyBios.CopyLegacyRegion = LegacyBiosCopyLegacyRegion;\r
Private->LegacyBios.BootUnconventionalDevice = LegacyBiosBootUnconventionalDevice;\r
\r
Private->ImageHandle = ImageHandle;\r
);\r
ASSERT (MemoryAddress == 0x000000000);\r
\r
- ClearPtr = (VOID *) ((UINTN) 0x0000);\r
+ ClearPtr = (VOID *)((UINTN)0x0000);\r
\r
//\r
// Initialize region from 0x0000 to 4k. This initializes interrupt vector\r
// range.\r
//\r
ACCESS_PAGE0_CODE (\r
- gBS->SetMem ((VOID *) ClearPtr, 0x400, INITIAL_VALUE_BELOW_1K);\r
- ZeroMem ((VOID *) ((UINTN)ClearPtr + 0x400), 0xC00);\r
- );\r
+ gBS->SetMem ((VOID *)ClearPtr, 0x400, INITIAL_VALUE_BELOW_1K);\r
+ ZeroMem ((VOID *)((UINTN)ClearPtr + 0x400), 0xC00);\r
+ );\r
\r
//\r
// Allocate pages for OPROM usage\r
);\r
ASSERT_EFI_ERROR (Status);\r
\r
- ZeroMem ((VOID *) ((UINTN) MemoryAddress), MemorySize);\r
+ ZeroMem ((VOID *)((UINTN)MemoryAddress), MemorySize);\r
\r
//\r
// Allocate all 32k chunks from 0x60000 ~ 0x88000 for Legacy OPROMs that\r
// OpROMs expect different areas to be free\r
//\r
EbdaReservedBaseAddress = MemoryAddress;\r
- MemoryAddress = PcdGet32 (PcdOpromReservedMemoryBase);\r
- MemorySize = PcdGet32 (PcdOpromReservedMemorySize);\r
+ MemoryAddress = PcdGet32 (PcdOpromReservedMemoryBase);\r
+ MemorySize = PcdGet32 (PcdOpromReservedMemorySize);\r
//\r
// Check if base address and size for reserved memory are 4KB aligned.\r
//\r
&StartAddress\r
);\r
if (!EFI_ERROR (Status)) {\r
- MemoryPtr = (VOID *) ((UINTN) StartAddress);\r
+ MemoryPtr = (VOID *)((UINTN)StartAddress);\r
ZeroMem (MemoryPtr, 0x1000);\r
} else {\r
DEBUG ((DEBUG_ERROR, "WARNING: Allocate legacy memory fail for SCSI card - %x\n", MemStart));\r
);\r
ASSERT_EFI_ERROR (Status);\r
\r
- ZeroMem ((VOID *) ((UINTN) MemoryAddressUnder1MB), MemorySize);\r
+ ZeroMem ((VOID *)((UINTN)MemoryAddressUnder1MB), MemorySize);\r
\r
//\r
// Allocate space for thunker and Init Thunker\r
&MemoryAddress\r
);\r
ASSERT_EFI_ERROR (Status);\r
- Private->IntThunk = (LOW_MEMORY_THUNK *) (UINTN) MemoryAddress;\r
+ Private->IntThunk = (LOW_MEMORY_THUNK *)(UINTN)MemoryAddress;\r
EfiToLegacy16InitTable = &Private->IntThunk->EfiToLegacy16InitTable;\r
- EfiToLegacy16InitTable->ThunkStart = (UINT32) (EFI_PHYSICAL_ADDRESS) (UINTN) MemoryAddress;\r
- EfiToLegacy16InitTable->ThunkSizeInBytes = (UINT32) (sizeof (LOW_MEMORY_THUNK));\r
+ EfiToLegacy16InitTable->ThunkStart = (UINT32)(EFI_PHYSICAL_ADDRESS)(UINTN)MemoryAddress;\r
+ EfiToLegacy16InitTable->ThunkSizeInBytes = (UINT32)(sizeof (LOW_MEMORY_THUNK));\r
\r
Status = LegacyBiosInitializeThunk (Private);\r
ASSERT_EFI_ERROR (Status);\r
//\r
// Init the legacy memory map in memory < 1 MB.\r
//\r
- EfiToLegacy16InitTable->BiosLessThan1MB = (UINT32) MemoryAddressUnder1MB;\r
- EfiToLegacy16InitTable->LowPmmMemory = (UINT32) MemoryAddressUnder1MB;\r
+ EfiToLegacy16InitTable->BiosLessThan1MB = (UINT32)MemoryAddressUnder1MB;\r
+ EfiToLegacy16InitTable->LowPmmMemory = (UINT32)MemoryAddressUnder1MB;\r
EfiToLegacy16InitTable->LowPmmMemorySizeInBytes = MemorySize;\r
\r
MemorySize = PcdGet32 (PcdHighPmmMemorySize);\r
&MemoryAddress\r
);\r
}\r
+\r
if (!EFI_ERROR (Status)) {\r
- EfiToLegacy16InitTable->HiPmmMemory = (UINT32) (EFI_PHYSICAL_ADDRESS) (UINTN) MemoryAddress;\r
+ EfiToLegacy16InitTable->HiPmmMemory = (UINT32)(EFI_PHYSICAL_ADDRESS)(UINTN)MemoryAddress;\r
EfiToLegacy16InitTable->HiPmmMemorySizeInBytes = MemorySize;\r
}\r
\r
if (EFI_ERROR (Status)) {\r
return Status;\r
}\r
+\r
//\r
// Initialize interrupt redirection code and entries;\r
// IDT Vectors 0x68-0x6f must be redirected to IDT Vectors 0x08-0x0f.\r
//\r
CopyMem (\r
- Private->IntThunk->InterruptRedirectionCode,\r
- (VOID *) (UINTN) InterruptRedirectionTemplate,\r
- sizeof (Private->IntThunk->InterruptRedirectionCode)\r
- );\r
+ Private->IntThunk->InterruptRedirectionCode,\r
+ (VOID *)(UINTN)InterruptRedirectionTemplate,\r
+ sizeof (Private->IntThunk->InterruptRedirectionCode)\r
+ );\r
\r
//\r
// Save Unexpected interrupt vector so can restore it just prior to boot\r
//\r
ACCESS_PAGE0_CODE (\r
- BaseVectorMaster = (UINT32 *) (sizeof (UINT32) * PROTECTED_MODE_BASE_VECTOR_MASTER);\r
+ BaseVectorMaster = (UINT32 *)(sizeof (UINT32) * PROTECTED_MODE_BASE_VECTOR_MASTER);\r
Private->BiosUnexpectedInt = BaseVectorMaster[0];\r
- IntRedirCode = (UINT32) (UINTN) Private->IntThunk->InterruptRedirectionCode;\r
+ IntRedirCode = (UINT32)(UINTN)Private->IntThunk->InterruptRedirectionCode;\r
for (Index = 0; Index < 8; Index++) {\r
- BaseVectorMaster[Index] = (EFI_SEGMENT (IntRedirCode + Index * 4) << 16) | EFI_OFFSET (IntRedirCode + Index * 4);\r
- }\r
- );\r
+ BaseVectorMaster[Index] = (EFI_SEGMENT (IntRedirCode + Index * 4) << 16) | EFI_OFFSET (IntRedirCode + Index * 4);\r
+ }\r
+\r
+ );\r
\r
//\r
// Save EFI value\r
//\r
- Private->ThunkSeg = (UINT16) (EFI_SEGMENT (IntRedirCode));\r
+ Private->ThunkSeg = (UINT16)(EFI_SEGMENT (IntRedirCode));\r
\r
//\r
// Allocate reserved memory for SMBIOS table used in legacy boot if SMBIOS table exists\r
// Make a new handle and install the protocol\r
//\r
Private->Handle = NULL;\r
- Status = gBS->InstallProtocolInterface (\r
- &Private->Handle,\r
- &gEfiLegacyBiosProtocolGuid,\r
- EFI_NATIVE_INTERFACE,\r
- &Private->LegacyBios\r
- );\r
+ Status = gBS->InstallProtocolInterface (\r
+ &Private->Handle,\r
+ &gEfiLegacyBiosProtocolGuid,\r
+ EFI_NATIVE_INTERFACE,\r
+ &Private->LegacyBios\r
+ );\r
Private->Csm16PciInterfaceVersion = GetPciInterfaceVersion (Private);\r
\r
- DEBUG ((DEBUG_INFO, "CSM16 PCI BIOS Interface Version: %02x.%02x\n",\r
- (UINT8) (Private->Csm16PciInterfaceVersion >> 8),\r
- (UINT8) Private->Csm16PciInterfaceVersion\r
- ));\r
+ DEBUG ((\r
+ DEBUG_INFO,\r
+ "CSM16 PCI BIOS Interface Version: %02x.%02x\n",\r
+ (UINT8)(Private->Csm16PciInterfaceVersion >> 8),\r
+ (UINT8)Private->Csm16PciInterfaceVersion\r
+ ));\r
ASSERT (Private->Csm16PciInterfaceVersion != 0);\r
return Status;\r
}\r