UefiPayloadPkg: Add PCI support from DuetPkg
In coreboot, we mark GPU prefmem above 4GB, because NVIDIA wants a lot (16GB region on the 30 series), otherwise coreboot will obviously fail to allocate the resources. In EDK2, we then end up hitting this assert: InitRootBridge: populated root bus 0, with room for 36 subordinate bus(es) RootBridge: PciRoot(0x0) Support/Attr: 7001F / 7001F DmaAbove4G: No NoExtConfSpace: No AllocAttr: 0 () Bus: 0 - 24 Translation=0 Io: 1000 - EFFF Translation=0 Mem: 80400000 - 1001FFFFFF Translation=0 MemAbove4G: FFFFFFFFFFFFFFFF - 0 Translation=0 PMem: FFFFFFFFFFFFFFFF - 0 Translation=0 PMemAbove4G: FFFFFFFFFFFFFFFF - 0 Translation=0 ASSERT [PciHostBridgeDxe] .../edk2/MdeModulePkg/Bus/Pci/PciHostBridgeDxe/PciRootBridgeIo.c(120): Bridge->Mem.Limit < 0x0000000100000000ULL So, bring back Pci*NoEnumerationDxe from the deleted DuetPkg, which doesn't check anything and let's us boot. Signed-off-by: Tim Crawford <tcrawford@system76.com>
This commit is contained in:
41
UefiPayloadPkg/Include/Guid/PciOptionRomTable.h
Normal file
41
UefiPayloadPkg/Include/Guid/PciOptionRomTable.h
Normal file
@@ -0,0 +1,41 @@
|
||||
/** @file
|
||||
GUID and data structure used to describe the list of PCI Option ROMs present in a system.
|
||||
|
||||
Copyright (c) 2006, Intel Corporation. All rights reserved.<BR>
|
||||
This program and the accompanying materials
|
||||
are licensed and made available under the terms and conditions of the BSD License
|
||||
which accompanies this distribution. The full text of the license may be found at
|
||||
http://opensource.org/licenses/bsd-license.php
|
||||
|
||||
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
||||
|
||||
**/
|
||||
|
||||
#ifndef __PCI_OPTION_ROM_TABLE_GUID_H_
|
||||
#define __PCI_OPTION_ROM_TABLE_GUID_H_
|
||||
|
||||
#define EFI_PCI_OPTION_ROM_TABLE_GUID \
|
||||
{ 0x7462660f, 0x1cbd, 0x48da, {0xad, 0x11, 0x91, 0x71, 0x79, 0x13, 0x83, 0x1c } }
|
||||
|
||||
extern EFI_GUID gEfiPciOptionRomTableGuid;
|
||||
|
||||
typedef struct {
|
||||
EFI_PHYSICAL_ADDRESS RomAddress;
|
||||
EFI_MEMORY_TYPE MemoryType;
|
||||
UINT32 RomLength;
|
||||
UINT32 Seg;
|
||||
UINT8 Bus;
|
||||
UINT8 Dev;
|
||||
UINT8 Func;
|
||||
BOOLEAN ExecutedLegacyBiosImage;
|
||||
BOOLEAN DontLoadEfiRom;
|
||||
} EFI_PCI_OPTION_ROM_DESCRIPTOR;
|
||||
|
||||
typedef struct {
|
||||
UINT64 PciOptionRomCount;
|
||||
EFI_PCI_OPTION_ROM_DESCRIPTOR *PciOptionRomDescriptors;
|
||||
} EFI_PCI_OPTION_ROM_TABLE;
|
||||
|
||||
#endif // __PCI_OPTION_ROM_TABLE_GUID_H_
|
||||
|
Reference in New Issue
Block a user