\r
STATIC VOID\r
BhyveGetGraphicsMode (\r
- EFI_PCI_IO_PROTOCOL *PciIo,\r
- UINT16 *Width,\r
- UINT16 *Height,\r
- UINT16 *Depth\r
+ EFI_PCI_IO_PROTOCOL *PciIo,\r
+ UINT16 *Width,\r
+ UINT16 *Height,\r
+ UINT16 *Depth\r
);\r
\r
-\r
/**\r
Tests to see if this driver supports a given controller. If a child device is provided,\r
it further tests to see if this driver supports creating a handle for the specified child device.\r
EFI_STATUS\r
EFIAPI\r
EmuGopDriverBindingSupported (\r
- IN EFI_DRIVER_BINDING_PROTOCOL *This,\r
- IN EFI_HANDLE Handle,\r
- IN EFI_DEVICE_PATH_PROTOCOL *RemainingDevicePath\r
+ IN EFI_DRIVER_BINDING_PROTOCOL *This,\r
+ IN EFI_HANDLE Handle,\r
+ IN EFI_DEVICE_PATH_PROTOCOL *RemainingDevicePath\r
)\r
{\r
- EFI_STATUS Status;\r
- EFI_PCI_IO_PROTOCOL *PciIo;\r
- PCI_TYPE00 Pci;\r
- UINT16 Width, Height, Depth;\r
+ EFI_STATUS Status;\r
+ EFI_PCI_IO_PROTOCOL *PciIo;\r
+ PCI_TYPE00 Pci;\r
+ UINT16 Width, Height, Depth;\r
\r
//\r
// Open the IO Abstraction(s) needed to perform the supported test\r
Status = gBS->OpenProtocol (\r
Handle,\r
&gEfiPciIoProtocolGuid,\r
- (VOID **) &PciIo,\r
+ (VOID **)&PciIo,\r
This->DriverBindingHandle,\r
Handle,\r
EFI_OPEN_PROTOCOL_BY_DRIVER\r
}\r
\r
Status = EFI_UNSUPPORTED;\r
- if (Pci.Hdr.VendorId == 0xFB5D && Pci.Hdr.DeviceId == 0x40FB) {\r
- DEBUG((DEBUG_INFO, "BHYVE framebuffer device detected\n"));\r
+ if ((Pci.Hdr.VendorId == 0xFB5D) && (Pci.Hdr.DeviceId == 0x40FB)) {\r
+ DEBUG ((DEBUG_INFO, "BHYVE framebuffer device detected\n"));\r
Status = EFI_SUCCESS;\r
\r
- BhyveGetGraphicsMode(PciIo, &Width, &Height, &Depth);\r
+ BhyveGetGraphicsMode (PciIo, &Width, &Height, &Depth);\r
PcdSet32S (PcdVideoHorizontalResolution, Width);\r
PcdSet32S (PcdVideoVerticalResolution, Height);\r
}\r
// Close the PCI I/O Protocol\r
//\r
gBS->CloseProtocol (\r
- Handle,\r
- &gEfiPciIoProtocolGuid,\r
- This->DriverBindingHandle,\r
- Handle\r
- );\r
+ Handle,\r
+ &gEfiPciIoProtocolGuid,\r
+ This->DriverBindingHandle,\r
+ Handle\r
+ );\r
\r
return Status;\r
}\r
\r
-\r
/**\r
Starts a device controller or a bus controller.\r
\r
EFI_STATUS\r
EFIAPI\r
EmuGopDriverBindingStart (\r
- IN EFI_DRIVER_BINDING_PROTOCOL *This,\r
- IN EFI_HANDLE Handle,\r
- IN EFI_DEVICE_PATH_PROTOCOL *RemainingDevicePath\r
+ IN EFI_DRIVER_BINDING_PROTOCOL *This,\r
+ IN EFI_HANDLE Handle,\r
+ IN EFI_DEVICE_PATH_PROTOCOL *RemainingDevicePath\r
)\r
{\r
- BHYVE_FBUF_MEMREGS Memregs;\r
- GOP_PRIVATE_DATA *Private;\r
- EFI_STATUS Status;\r
- EFI_ACPI_ADDRESS_SPACE_DESCRIPTOR *MmioDesc;\r
+ BHYVE_FBUF_MEMREGS Memregs;\r
+ GOP_PRIVATE_DATA *Private;\r
+ EFI_STATUS Status;\r
+ EFI_ACPI_ADDRESS_SPACE_DESCRIPTOR *MmioDesc;\r
\r
//\r
// Allocate Private context data for SGO inteface.\r
//\r
Private = NULL;\r
- Status = gBS->AllocatePool (\r
- EfiBootServicesData,\r
- sizeof (GOP_PRIVATE_DATA),\r
- (VOID **)&Private\r
- );\r
+ Status = gBS->AllocatePool (\r
+ EfiBootServicesData,\r
+ sizeof (GOP_PRIVATE_DATA),\r
+ (VOID **)&Private\r
+ );\r
if (EFI_ERROR (Status)) {\r
goto Done;\r
}\r
Status = gBS->OpenProtocol (\r
Handle,\r
&gEfiPciIoProtocolGuid,\r
- (VOID **) &Private->PciIo,\r
+ (VOID **)&Private->PciIo,\r
This->DriverBindingHandle,\r
Handle,\r
EFI_OPEN_PROTOCOL_BY_DRIVER\r
// Check if fbuf mmio BAR is present\r
//\r
MmioDesc = NULL;\r
- Status = Private->PciIo->GetBarAttributes (\r
- Private->PciIo,\r
- PCI_BAR_IDX0,\r
- NULL,\r
- (VOID**) &MmioDesc\r
- );\r
+ Status = Private->PciIo->GetBarAttributes (\r
+ Private->PciIo,\r
+ PCI_BAR_IDX0,\r
+ NULL,\r
+ (VOID **)&MmioDesc\r
+ );\r
if (EFI_ERROR (Status) ||\r
- MmioDesc->ResType != ACPI_ADDRESS_SPACE_TYPE_MEM) {\r
+ (MmioDesc->ResType != ACPI_ADDRESS_SPACE_TYPE_MEM))\r
+ {\r
DEBUG ((DEBUG_INFO, "BHYVE GOP: No mmio bar\n"));\r
} else {\r
- DEBUG ((DEBUG_INFO, "BHYVE GOP: Using mmio bar @ 0x%lx\n",\r
- MmioDesc->AddrRangeMin));\r
- BhyveGetMemregs(Private, &Memregs);\r
+ DEBUG ((\r
+ DEBUG_INFO,\r
+ "BHYVE GOP: Using mmio bar @ 0x%lx\n",\r
+ MmioDesc->AddrRangeMin\r
+ ));\r
+ BhyveGetMemregs (Private, &Memregs);\r
Private->FbSize = Memregs.FbSize;\r
}\r
+\r
if (MmioDesc != NULL) {\r
FreePool (MmioDesc);\r
}\r
+\r
if (EFI_ERROR (Status)) {\r
goto Done;\r
}\r
// Check if fbuf frame-buffer BAR is present\r
//\r
MmioDesc = NULL;\r
- Status = Private->PciIo->GetBarAttributes (\r
- Private->PciIo,\r
- PCI_BAR_IDX1,\r
- NULL,\r
- (VOID**) &MmioDesc\r
- );\r
+ Status = Private->PciIo->GetBarAttributes (\r
+ Private->PciIo,\r
+ PCI_BAR_IDX1,\r
+ NULL,\r
+ (VOID **)&MmioDesc\r
+ );\r
if (EFI_ERROR (Status) ||\r
- MmioDesc->ResType != ACPI_ADDRESS_SPACE_TYPE_MEM) {\r
+ (MmioDesc->ResType != ACPI_ADDRESS_SPACE_TYPE_MEM))\r
+ {\r
DEBUG ((DEBUG_INFO, "BHYVE GOP: No frame-buffer bar\n"));\r
} else {\r
- DEBUG ((DEBUG_INFO, "BHYVE GOP: Using frame-buffer bar @ 0x%lx\n",\r
- MmioDesc->AddrRangeMin));\r
+ DEBUG ((\r
+ DEBUG_INFO,\r
+ "BHYVE GOP: Using frame-buffer bar @ 0x%lx\n",\r
+ MmioDesc->AddrRangeMin\r
+ ));\r
Private->FbAddr = MmioDesc->AddrRangeMin;\r
// XXX assert BAR is >= size\r
}\r
if (MmioDesc != NULL) {\r
FreePool (MmioDesc);\r
}\r
+\r
if (EFI_ERROR (Status)) {\r
goto Done;\r
}\r
\r
- DEBUG ((DEBUG_INFO, "BHYVE GOP: Framebuf addr 0x%lx, size %x\n",\r
- Private->FbAddr, Private->FbSize));\r
+ DEBUG ((\r
+ DEBUG_INFO,\r
+ "BHYVE GOP: Framebuf addr 0x%lx, size %x\n",\r
+ Private->FbAddr,\r
+ Private->FbSize\r
+ ));\r
\r
Status = EmuGopConstructor (Private);\r
if (EFI_ERROR (Status)) {\r
//\r
Status = gBS->InstallMultipleProtocolInterfaces (\r
&Private->Handle,\r
- &gEfiGraphicsOutputProtocolGuid, &Private->GraphicsOutput,\r
+ &gEfiGraphicsOutputProtocolGuid,\r
+ &Private->GraphicsOutput,\r
NULL\r
);\r
\r
- DEBUG((DEBUG_INFO, "BHYVE framebuffer device started\n"));\r
+ DEBUG ((DEBUG_INFO, "BHYVE framebuffer device started\n"));\r
\r
//\r
// Install int10 handler\r
//\r
-#ifndef CSM_ENABLE\r
+ #ifndef CSM_ENABLE\r
InstallVbeShim (L"Framebuffer", Private->FbAddr);\r
-#endif\r
+ #endif\r
\r
Done:\r
if (EFI_ERROR (Status)) {\r
return Status;\r
}\r
\r
-\r
-\r
/**\r
Stops a device controller or a bus controller.\r
\r
IN EFI_HANDLE *ChildHandleBuffer\r
)\r
{\r
- EFI_GRAPHICS_OUTPUT_PROTOCOL *GraphicsOutput;\r
- EFI_STATUS Status;\r
- GOP_PRIVATE_DATA *Private;\r
+ EFI_GRAPHICS_OUTPUT_PROTOCOL *GraphicsOutput;\r
+ EFI_STATUS Status;\r
+ GOP_PRIVATE_DATA *Private;\r
\r
- DEBUG((DEBUG_INFO, "BHYVE framebuffer device stopping\n"));\r
+ DEBUG ((DEBUG_INFO, "BHYVE framebuffer device stopping\n"));\r
\r
Status = gBS->OpenProtocol (\r
Handle,\r
//\r
Status = gBS->UninstallMultipleProtocolInterfaces (\r
Private->Handle,\r
- &gEfiGraphicsOutputProtocolGuid, &Private->GraphicsOutput,\r
+ &gEfiGraphicsOutputProtocolGuid,\r
+ &Private->GraphicsOutput,\r
NULL\r
);\r
if (!EFI_ERROR (Status)) {\r
}\r
\r
gBS->CloseProtocol (\r
- Handle,\r
- &gEfiPciIoProtocolGuid,\r
- This->DriverBindingHandle,\r
- Private->Handle\r
- );\r
+ Handle,\r
+ &gEfiPciIoProtocolGuid,\r
+ This->DriverBindingHandle,\r
+ Private->Handle\r
+ );\r
\r
//\r
// Free our instance data\r
FreeUnicodeStringTable (Private->ControllerNameTable);\r
\r
gBS->FreePool (Private);\r
-\r
}\r
\r
return Status;\r
}\r
\r
-\r
///\r
/// This protocol provides the services required to determine if a driver supports a given controller.\r
/// If a controller is supported, then it also provides routines to start and stop the controller.\r
///\r
-EFI_DRIVER_BINDING_PROTOCOL gEmuGopDriverBinding = {\r
+EFI_DRIVER_BINDING_PROTOCOL gEmuGopDriverBinding = {\r
EmuGopDriverBindingSupported,\r
EmuGopDriverBindingStart,\r
EmuGopDriverBindingStop,\r
NULL\r
};\r
\r
-\r
-\r
/**\r
The user Entry Point for module EmuGop. The user code starts with this function.\r
\r
EFI_STATUS\r
EFIAPI\r
InitializeEmuGop (\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
+ EFI_STATUS Status;\r
\r
Status = EfiLibInstallDriverBindingComponentName2 (\r
ImageHandle,\r
);\r
ASSERT_EFI_ERROR (Status);\r
\r
-\r
return Status;\r
}\r
\r
STATIC VOID\r
BhyveGetGraphicsMode (\r
- EFI_PCI_IO_PROTOCOL *PciIo,\r
- UINT16 *Width,\r
- UINT16 *Height,\r
- UINT16 *Depth\r
+ EFI_PCI_IO_PROTOCOL *PciIo,\r
+ UINT16 *Width,\r
+ UINT16 *Height,\r
+ UINT16 *Depth\r
)\r
{\r
- BHYVE_FBUF_MEMREGS BhyveRegs;\r
- UINT64 Offset;\r
- EFI_STATUS Status;\r
-\r
+ BHYVE_FBUF_MEMREGS BhyveRegs;\r
+ UINT64 Offset;\r
+ EFI_STATUS Status;\r
\r
Offset = (UINT64)&BhyveRegs.Width - (UINT64)&BhyveRegs;\r
\r
Status = PciIo->Mem.Read (\r
- PciIo,\r
- EfiPciIoWidthUint16,\r
- PCI_BAR_IDX0,\r
- Offset,\r
- 3,\r
- &BhyveRegs.Width\r
- );\r
+ PciIo,\r
+ EfiPciIoWidthUint16,\r
+ PCI_BAR_IDX0,\r
+ Offset,\r
+ 3,\r
+ &BhyveRegs.Width\r
+ );\r
\r
*Width = BhyveRegs.Width;\r
*Height = BhyveRegs.Height;\r
VOID\r
BhyveSetGraphicsMode (\r
GOP_PRIVATE_DATA *Private,\r
- UINT16 Width,\r
- UINT16 Height,\r
- UINT16 Depth\r
+ UINT16 Width,\r
+ UINT16 Height,\r
+ UINT16 Depth\r
)\r
{\r
- BHYVE_FBUF_MEMREGS BhyveRegs;\r
- UINT64 Offset;\r
- EFI_STATUS Status;\r
+ BHYVE_FBUF_MEMREGS BhyveRegs;\r
+ UINT64 Offset;\r
+ EFI_STATUS Status;\r
\r
DEBUG ((DEBUG_INFO, "BHYVE Set Graphics Mode: w %d, h %d\n", Width, Height));\r
\r
BhyveRegs.Width = Width;\r
BhyveRegs.Height = Height;\r
BhyveRegs.Depth = Depth;\r
- Offset = (UINT64)&BhyveRegs.Width - (UINT64)&BhyveRegs;\r
+ Offset = (UINT64)&BhyveRegs.Width - (UINT64)&BhyveRegs;\r
\r
Status = Private->PciIo->Mem.Write (\r
- Private->PciIo,\r
- EfiPciIoWidthUint16,\r
- PCI_BAR_IDX0,\r
- Offset,\r
- 3,\r
- &BhyveRegs.Width\r
- );\r
+ Private->PciIo,\r
+ EfiPciIoWidthUint16,\r
+ PCI_BAR_IDX0,\r
+ Offset,\r
+ 3,\r
+ &BhyveRegs.Width\r
+ );\r
ASSERT_EFI_ERROR (Status);\r
}\r
\r
VOID\r
BhyveGetMemregs (\r
- GOP_PRIVATE_DATA *Private,\r
- BHYVE_FBUF_MEMREGS *Memregs\r
+ GOP_PRIVATE_DATA *Private,\r
+ BHYVE_FBUF_MEMREGS *Memregs\r
)\r
{\r
- EFI_STATUS Status;\r
+ EFI_STATUS Status;\r
\r
Status = Private->PciIo->Mem.Read (\r
- Private->PciIo,\r
- EfiPciIoWidthUint32,\r
- PCI_BAR_IDX0,\r
- 0,\r
- 3,\r
- Memregs\r
- );\r
+ Private->PciIo,\r
+ EfiPciIoWidthUint32,\r
+ PCI_BAR_IDX0,\r
+ 0,\r
+ 3,\r
+ Memregs\r
+ );\r
ASSERT_EFI_ERROR (Status);\r
\r
- DEBUG ((DEBUG_INFO, "BHYVE Get Memregs, size %d width %d height %d\n",\r
- Memregs->FbSize, Memregs->Width, Memregs->Height));\r
+ DEBUG ((\r
+ DEBUG_INFO,\r
+ "BHYVE Get Memregs, size %d width %d height %d\n",\r
+ Memregs->FbSize,\r
+ Memregs->Width,\r
+ Memregs->Height\r
+ ));\r
}\r