From 9226e4ee0a204848ae83daf3026ebfadb80bbfa2 Mon Sep 17 00:00:00 2001 From: mdkinney Date: Thu, 4 Jun 2009 22:49:59 +0000 Subject: Clean up CSM related include files to match specification git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@8469 6f19259b-4bc3-4df7-8a09-765794883524 --- IntelFrameworkPkg/Include/Framework/Legacy16.h | 16 +++++++ IntelFrameworkPkg/Include/Protocol/LegacyBios.h | 8 ++++ .../Include/Protocol/LegacyBiosPlatform.h | 56 ++++++++++++++++++++++ 3 files changed, 80 insertions(+) (limited to 'IntelFrameworkPkg/Include') diff --git a/IntelFrameworkPkg/Include/Framework/Legacy16.h b/IntelFrameworkPkg/Include/Framework/Legacy16.h index 1d74ddc582..858ea2379c 100644 --- a/IntelFrameworkPkg/Include/Framework/Legacy16.h +++ b/IntelFrameworkPkg/Include/Framework/Legacy16.h @@ -87,6 +87,22 @@ typedef enum { Legacy16InstallPciHandler = 0x0008 } EFI_COMPATIBILITY_FUNCTIONS; + +/////////////////////////////////////////////////////////////////////////////// +// EFI_DISPATCH_OPROM_TABLE +/////////////////////////////////////////////////////////////////////////////// + +typedef struct { + UINT16 PnPInstallationCheckSegment; + UINT16 PnPInstallationCheckOffset; + UINT16 OpromSegment; + UINT8 PciBus; + UINT8 PciDeviceFunction; + UINT8 NumberBbsEntries; + VOID *BbsTablePointer; /// @bug: variable size on 32/64-bit systems. + UINT16 RuntimeSegment; +} EFI_DISPATCH_OPROM_TABLE; + // // EFI_TO_COMPATIBILITY16_INIT_TABLE // diff --git a/IntelFrameworkPkg/Include/Protocol/LegacyBios.h b/IntelFrameworkPkg/Include/Protocol/LegacyBios.h index 5755990637..eef3fbe16c 100644 --- a/IntelFrameworkPkg/Include/Protocol/LegacyBios.h +++ b/IntelFrameworkPkg/Include/Protocol/LegacyBios.h @@ -41,6 +41,14 @@ typedef struct _EFI_LEGACY_BIOS_PROTOCOL EFI_LEGACY_BIOS_PROTOCOL; +// +// Flags returned by CheckPciRom() +// +#define NO_ROM 0x00 +#define ROM_FOUND 0x01 +#define VALID_LEGACY_ROM 0x02 +#define ROM_WITH_CONFIG 0x04 // Not defined in CSM Specification0.96 + // /// @bug These macros appear in no specifications and are kept for backward // compatibility only. diff --git a/IntelFrameworkPkg/Include/Protocol/LegacyBiosPlatform.h b/IntelFrameworkPkg/Include/Protocol/LegacyBiosPlatform.h index 872d910839..0b4535454a 100644 --- a/IntelFrameworkPkg/Include/Protocol/LegacyBiosPlatform.h +++ b/IntelFrameworkPkg/Include/Protocol/LegacyBiosPlatform.h @@ -59,6 +59,62 @@ typedef enum { EfiPlatformHookAfterRomInit = 2 } EFI_GET_PLATFORM_HOOK_MODE; + +// +// +// + +#define PCI_UNUSED 0x00 +#define PCI_USED 0xFF +#define LEGACY_USED 0xFE + +#pragma pack(1) + +// +// +// +typedef struct { + UINT8 Irq; + UINT8 Used; +} EFI_LEGACY_IRQ_PRIORITY_TABLE_ENTRY; + +// +// Define PIR table structures +// +#define EFI_LEGACY_PIRQ_TABLE_SIGNATURE SIGNATURE_32 ('$', 'P', 'I', 'R') + +typedef struct { + UINT32 Signature; + UINT8 MinorVersion; + UINT8 MajorVersion; + UINT16 TableSize; + UINT8 Bus; + UINT8 DevFun; + UINT16 PciOnlyIrq; + UINT16 CompatibleVid; + UINT16 CompatibleDid; + UINT32 Miniport; + UINT8 Reserved[11]; + UINT8 Checksum; +} EFI_LEGACY_PIRQ_TABLE_HEADER; + + +typedef struct { + UINT8 Pirq; + UINT16 IrqMask; +} EFI_LEGACY_PIRQ_ENTRY; + +typedef struct { + UINT8 Bus; + UINT8 Device; + EFI_LEGACY_PIRQ_ENTRY PirqEntry[4]; + UINT8 Slot; + UINT8 Reserved; +} EFI_LEGACY_IRQ_ROUTING_ENTRY; + +#pragma pack() + + /** Finds the binary data or other platform information. -- cgit v1.2.3