Compare commits

..

2 Commits

Author SHA1 Message Date
Patrick Rudolph
f6a483461c [HACK] Load OptionROMs immediately
This will make sure the ConsoleInit is able to connect the driver installed
by the VGA Option ROMs.

Signed-off-by: Patrick Rudolph <patrick.rudolph@9elements.com>
2023-12-28 14:38:35 -07:00
Patrick Rudolph
1966ffb1c3 MdeModulePkg: Fix OptionROM scanning
The Option ROM scanner can't work as enumeration was done by the
first stage bootloader. Running it will disable the ability of the
PCIPlatform code to scan for ROMs.

Required for the following patch that enables custom Option ROM
scanning using gPciPlatformProtocol.

Signed-off-by: Patrick Rudolph <patrick.rudolph@9elements.com>
2023-12-28 14:38:29 -07:00
6 changed files with 11 additions and 27 deletions

View File

@@ -1088,10 +1088,10 @@ UpdateFrontPageBannerStrings (
EFI_PHYSICAL_ADDRESS *Table;
SMBIOS_TABLE_ENTRY_POINT *EntryPoint;
SMBIOS_STRUCTURE_POINTER SmbiosTable;
BOOLEAN CheckWebcam;
FirmwareConfigurationInformation();
WarnNoBootableMedia ();
WebcamStatus();
Status = EfiGetSystemConfigurationTable (&gEfiSmbiosTableGuid, (VOID **) &Table);
if (EFI_ERROR (Status) || Table == NULL) {
@@ -1100,7 +1100,7 @@ UpdateFrontPageBannerStrings (
EntryPoint = (SMBIOS_TABLE_ENTRY_POINT*)Table;
SmbiosTable = GetSmbiosTableFromType (EntryPoint, SMBIOS_TYPE_BIOS_INFORMATION , 0);
SmbiosTable = GetSmbiosTableFromType (EntryPoint, EFI_SMBIOS_TYPE_BIOS_INFORMATION , 0);
if (SmbiosTable.Raw != NULL) {
CHAR16 *FwVersion;
CHAR16 *TmpBuffer;
@@ -1163,24 +1163,6 @@ UpdateFrontPageBannerStrings (
FreePool (ProductName);
FreePool (Manufacturer);
}
SmbiosTable = GetSmbiosTableFromType (EntryPoint, SMBIOS_TYPE_SYSTEM_ENCLOSURE, 0);
if (SmbiosTable.Raw != NULL) {
switch (SmbiosTable.Type3->Type) {
//TODO: System76 laptops will always report the laptop chassis type,
//but we should probably handle all potential types
case MiscChassisTypeLapTop:
CheckWebcam = TRUE;
break;
default:
CheckWebcam = FALSE;
break;
}
}
if (CheckWebcam) {
WebcamStatus();
}
}
/**

View File

@@ -2551,10 +2551,12 @@ PciEnumeratorLight (
//
RemoveRejectedPciDevices (RootBridgeDev->Handle, RootBridgeDev);
//
// Process option rom light
//
ProcessOptionRomLight (RootBridgeDev);
if (!PcdGetBool (PcdPciDisableBusEnumeration)) {
//
// Process option rom light
//
ProcessOptionRomLight (RootBridgeDev);
}
//
// Determine attributes for all devices under this root bridge

View File

@@ -285,7 +285,7 @@ UsbHcBulkTransfer (
IN UINT8 DevSpeed,
IN UINTN MaxPacket,
IN UINT8 BufferNum,
IN OUT VOID *Data[],
IN OUT VOID *Data[EFI_USB_MAX_BULK_BUFFER_NUM],
IN OUT UINTN *DataLength,
IN OUT UINT8 *DataToggle,
IN UINTN TimeOut,

View File

@@ -149,7 +149,7 @@ UsbHcBulkTransfer (
IN UINT8 DevSpeed,
IN UINTN MaxPacket,
IN UINT8 BufferNum,
IN OUT VOID *Data[],
IN OUT VOID *Data[EFI_USB_MAX_BULK_BUFFER_NUM],
IN OUT UINTN *DataLength,
IN OUT UINT8 *DataToggle,
IN UINTN TimeOut,

Binary file not shown.

Before

Width:  |  Height:  |  Size: 403 KiB

After

Width:  |  Height:  |  Size: 315 KiB

View File

@@ -25,7 +25,7 @@ typedef struct {
} DEFERRED_3RD_PARTY_IMAGE_TABLE;
BOOLEAN mImageLoadedAfterEndOfDxe = FALSE;
BOOLEAN mEndOfDxe = FALSE;
BOOLEAN mEndOfDxe = TRUE;
DEFERRED_3RD_PARTY_IMAGE_TABLE mDeferred3rdPartyImage = {
0, // Deferred image count
NULL // The deferred image info