summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authormdkinney <mdkinney@6f19259b-4bc3-4df7-8a09-765794883524>2009-06-04 22:49:59 +0000
committermdkinney <mdkinney@6f19259b-4bc3-4df7-8a09-765794883524>2009-06-04 22:49:59 +0000
commit9226e4ee0a204848ae83daf3026ebfadb80bbfa2 (patch)
tree4482cfcecdb509577c2edf7c921291cad0fd4f8a
parent68167fed0e4ecb5393a3f036d14c438f65c85f80 (diff)
downloadedk2-9226e4ee0a204848ae83daf3026ebfadb80bbfa2.zip
edk2-9226e4ee0a204848ae83daf3026ebfadb80bbfa2.tar.gz
edk2-9226e4ee0a204848ae83daf3026ebfadb80bbfa2.tar.bz2
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
-rw-r--r--IntelFrameworkPkg/Include/Framework/Legacy16.h16
-rw-r--r--IntelFrameworkPkg/Include/Protocol/LegacyBios.h8
-rw-r--r--IntelFrameworkPkg/Include/Protocol/LegacyBiosPlatform.h56
3 files changed, 80 insertions, 0 deletions
diff --git a/IntelFrameworkPkg/Include/Framework/Legacy16.h b/IntelFrameworkPkg/Include/Framework/Legacy16.h
index 1d74ddc..858ea23 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 5755990..eef3fbe 100644
--- a/IntelFrameworkPkg/Include/Protocol/LegacyBios.h
+++ b/IntelFrameworkPkg/Include/Protocol/LegacyBios.h
@@ -42,6 +42,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.
// Convert from 32-bit address (_Adr) to Segment:Offset 16-bit form
diff --git a/IntelFrameworkPkg/Include/Protocol/LegacyBiosPlatform.h b/IntelFrameworkPkg/Include/Protocol/LegacyBiosPlatform.h
index 872d910..0b45354 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.