\r
#pragma pack (1)\r
typedef struct {\r
- UINT16 Offset;\r
- UINT16 Segment;\r
+ UINT16 Offset;\r
+ UINT16 Segment;\r
} IVT_ENTRY;\r
#pragma pack ()\r
\r
// This string is displayed by Windows 2008 R2 SP1 in the Screen Resolution,\r
// Advanced Settings dialog. It should be short.\r
//\r
-STATIC CONST CHAR8 mProductRevision[] = "OVMF Int10h (fake)";\r
+STATIC CONST CHAR8 mProductRevision[] = "OVMF Int10h (fake)";\r
\r
/**\r
Install the VBE Info and VBE Mode Info structures, and the VBE service\r
**/\r
VOID\r
InstallVbeShim (\r
- IN CONST CHAR16 *CardName,\r
- IN EFI_PHYSICAL_ADDRESS FrameBufferBase\r
+ IN CONST CHAR16 *CardName,\r
+ IN EFI_PHYSICAL_ADDRESS FrameBufferBase\r
)\r
{\r
- EFI_PHYSICAL_ADDRESS Segment0, SegmentC, SegmentF;\r
- UINTN Segment0Pages;\r
- IVT_ENTRY *Int0x10;\r
- EFI_STATUS Segment0AllocationStatus;\r
- UINT16 HostBridgeDevId;\r
- UINTN Pam1Address;\r
- UINT8 Pam1;\r
- UINTN SegmentCPages;\r
- VBE_INFO *VbeInfoFull;\r
- VBE_INFO_BASE *VbeInfo;\r
- UINT8 *Ptr;\r
- UINTN Printed;\r
- VBE_MODE_INFO *VbeModeInfo;\r
+ EFI_PHYSICAL_ADDRESS Segment0, SegmentC, SegmentF;\r
+ UINTN Segment0Pages;\r
+ IVT_ENTRY *Int0x10;\r
+ EFI_STATUS Segment0AllocationStatus;\r
+ UINT16 HostBridgeDevId;\r
+ UINTN Pam1Address;\r
+ UINT8 Pam1;\r
+ UINTN SegmentCPages;\r
+ VBE_INFO *VbeInfoFull;\r
+ VBE_INFO_BASE *VbeInfo;\r
+ UINT8 *Ptr;\r
+ UINTN Printed;\r
+ VBE_MODE_INFO *VbeModeInfo;\r
\r
if ((PcdGet8 (PcdNullPointerDetectionPropertyMask) & (BIT0|BIT7)) == BIT0) {\r
DEBUG ((\r
//\r
// The allocation request may fail, eg. if LegacyBiosDxe has already run.\r
//\r
- Segment0Pages = 1;\r
- Int0x10 = (IVT_ENTRY *)(UINTN)(Segment0 + 0x10 * sizeof (IVT_ENTRY));\r
+ Segment0Pages = 1;\r
+ Int0x10 = (IVT_ENTRY *)(UINTN)(Segment0 + 0x10 * sizeof (IVT_ENTRY));\r
Segment0AllocationStatus = gBS->AllocatePages (\r
AllocateAddress,\r
EfiBootServicesCode,\r
);\r
\r
if (EFI_ERROR (Segment0AllocationStatus)) {\r
- EFI_PHYSICAL_ADDRESS Handler;\r
+ EFI_PHYSICAL_ADDRESS Handler;\r
\r
//\r
// Check if a video BIOS handler has been installed previously -- we\r
// it's already present.\r
//\r
Handler = (Int0x10->Segment << 4) + Int0x10->Offset;\r
- if (Handler >= SegmentC && Handler < SegmentF) {\r
- DEBUG ((DEBUG_INFO, "%a: Video BIOS handler found at %04x:%04x\n",\r
- __FUNCTION__, Int0x10->Segment, Int0x10->Offset));\r
+ if ((Handler >= SegmentC) && (Handler < SegmentF)) {\r
+ DEBUG ((\r
+ DEBUG_INFO,\r
+ "%a: Video BIOS handler found at %04x:%04x\n",\r
+ __FUNCTION__,\r
+ Int0x10->Segment,\r
+ Int0x10->Offset\r
+ ));\r
return;\r
}\r
\r
//\r
HostBridgeDevId = PcdGet16 (PcdOvmfHostBridgePciDevId);\r
switch (HostBridgeDevId) {\r
- case INTEL_82441_DEVICE_ID:\r
- Pam1Address = PMC_REGISTER_PIIX4 (PIIX4_PAM1);\r
- break;\r
- case INTEL_Q35_MCH_DEVICE_ID:\r
- Pam1Address = DRAMC_REGISTER_Q35 (MCH_PAM1);\r
- break;\r
- default:\r
- DEBUG ((\r
- DEBUG_ERROR,\r
- "%a: unknown host bridge device ID: 0x%04x\n",\r
- __FUNCTION__,\r
- HostBridgeDevId\r
- ));\r
- ASSERT (FALSE);\r
+ case INTEL_82441_DEVICE_ID:\r
+ Pam1Address = PMC_REGISTER_PIIX4 (PIIX4_PAM1);\r
+ break;\r
+ case INTEL_Q35_MCH_DEVICE_ID:\r
+ Pam1Address = DRAMC_REGISTER_Q35 (MCH_PAM1);\r
+ break;\r
+ default:\r
+ DEBUG ((\r
+ DEBUG_ERROR,\r
+ "%a: unknown host bridge device ID: 0x%04x\n",\r
+ __FUNCTION__,\r
+ HostBridgeDevId\r
+ ));\r
+ ASSERT (FALSE);\r
+\r
+ if (!EFI_ERROR (Segment0AllocationStatus)) {\r
+ gBS->FreePages (Segment0, Segment0Pages);\r
+ }\r
\r
- if (!EFI_ERROR (Segment0AllocationStatus)) {\r
- gBS->FreePages (Segment0, Segment0Pages);\r
- }\r
- return;\r
+ return;\r
}\r
+\r
//\r
// low nibble covers 0xC0000 to 0xC3FFF\r
// high nibble covers 0xC4000 to 0xC7FFF\r
VbeInfo->Capabilities = BIT0; // DAC can be switched into 8-bit mode\r
\r
VbeInfo->ModeListAddress = (UINT32)SegmentC << 12 | (UINT16)(UINTN)Ptr;\r
- *(UINT16*)Ptr = 0x00f1; // mode number\r
- Ptr += 2;\r
- *(UINT16*)Ptr = 0xFFFF; // mode list terminator\r
- Ptr += 2;\r
+ *(UINT16 *)Ptr = 0x00f1; // mode number\r
+ Ptr += 2;\r
+ *(UINT16 *)Ptr = 0xFFFF; // mode list terminator\r
+ Ptr += 2;\r
\r
- VbeInfo->VideoMem64K = (UINT16)((1024 * 768 * 4 + 65535) / 65536);\r
+ VbeInfo->VideoMem64K = (UINT16)((1024 * 768 * 4 + 65535) / 65536);\r
VbeInfo->OemSoftwareVersion = 0x0000;\r
\r
VbeInfo->VendorNameAddress = (UINT32)SegmentC << 12 | (UINT16)(UINTN)Ptr;\r
Ptr += 5;\r
\r
VbeInfo->ProductNameAddress = (UINT32)SegmentC << 12 | (UINT16)(UINTN)Ptr;\r
- Printed = AsciiSPrint ((CHAR8 *)Ptr,\r
- sizeof VbeInfoFull->Buffer - (Ptr - VbeInfoFull->Buffer), "%s",\r
- CardName);\r
+ Printed = AsciiSPrint (\r
+ (CHAR8 *)Ptr,\r
+ sizeof VbeInfoFull->Buffer - (Ptr - VbeInfoFull->Buffer),\r
+ "%s",\r
+ CardName\r
+ );\r
Ptr += Printed + 1;\r
\r
VbeInfo->ProductRevAddress = (UINT32)SegmentC << 12 | (UINT16)(UINTN)Ptr;\r
// bit1: bit1: readable\r
// bit2: writeable\r
//\r
- VbeModeInfo->WindowAAttr = BIT2 | BIT1 | BIT0;\r
+ VbeModeInfo->WindowAAttr = BIT2 | BIT1 | BIT0;\r
\r
VbeModeInfo->WindowBAttr = 0x00;\r
VbeModeInfo->WindowGranularityKB = 0x0040;\r
//\r
// Second, point the Int10h vector at the shim.\r
//\r
- Int0x10->Segment = (UINT16) ((UINT32)SegmentC >> 4);\r
- Int0x10->Offset = (UINT16) ((UINTN) (VbeModeInfo + 1) - SegmentC);\r
+ Int0x10->Segment = (UINT16)((UINT32)SegmentC >> 4);\r
+ Int0x10->Offset = (UINT16)((UINTN)(VbeModeInfo + 1) - SegmentC);\r
\r
DEBUG ((DEBUG_INFO, "%a: VBE shim installed\n", __FUNCTION__));\r
}\r