diff options
author | cwu11 <cwu11@6f19259b-4bc3-4df7-8a09-765794883524> | 2006-11-07 03:02:33 +0000 |
---|---|---|
committer | cwu11 <cwu11@6f19259b-4bc3-4df7-8a09-765794883524> | 2006-11-07 03:02:33 +0000 |
commit | b51f14f4d6ab20a6ad5de08bd001c44ad59dea18 (patch) | |
tree | a512cc66a54a6568caaf26037a4902f3df63033c /Tools | |
parent | 7228815241b74b8a8f034a4cc9f80a11c0ee199b (diff) | |
download | edk2-b51f14f4d6ab20a6ad5de08bd001c44ad59dea18.zip edk2-b51f14f4d6ab20a6ad5de08bd001c44ad59dea18.tar.gz edk2-b51f14f4d6ab20a6ad5de08bd001c44ad59dea18.tar.bz2 |
This check-in add Pci23.h, Pci30.h, EfiPci.h and take those originally put in Pci22.h to their proper position in the new files.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@1907 6f19259b-4bc3-4df7-8a09-765794883524
Diffstat (limited to 'Tools')
4 files changed, 137 insertions, 38 deletions
diff --git a/Tools/CCode/Source/Include/IndustryStandard/EfiPci.h b/Tools/CCode/Source/Include/IndustryStandard/EfiPci.h new file mode 100644 index 0000000..7c5d4eb --- /dev/null +++ b/Tools/CCode/Source/Include/IndustryStandard/EfiPci.h @@ -0,0 +1,58 @@ +/** @file
+ Support for EFI PCI specification.
+
+ Copyright (c) 2006, Intel Corporation
+ All rights reserved. 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.
+
+ Module Name: EfiPci.h
+
+**/
+
+#ifndef _EFI_PCI_H_
+#define _EFI_PCI_H_
+
+//#include "pci22.h"
+//#include "pci23.h"
+//#include "pci30.h"
+
+#pragma pack(push, 1)
+
+typedef struct {
+ UINT8 Register;
+ UINT8 Function;
+ UINT8 Device;
+ UINT8 Bus;
+ UINT8 Reserved[4];
+} DEFIO_PCI_ADDR;
+
+#define EFI_ROOT_BRIDGE_LIST 'eprb'
+#define EFI_PCI_EXPANSION_ROM_HEADER_EFISIGNATURE 0x0EF1
+
+typedef struct {
+ UINT16 Signature; // 0xaa55
+ UINT16 InitializationSize;
+ UINT32 EfiSignature; // 0x0EF1
+ UINT16 EfiSubsystem;
+ UINT16 EfiMachineType;
+ UINT16 CompressionType;
+ UINT8 Reserved[8];
+ UINT16 EfiImageHeaderOffset;
+ UINT16 PcirOffset;
+} EFI_PCI_EXPANSION_ROM_HEADER;
+
+typedef union {
+ UINT8 *Raw;
+ PCI_EXPANSION_ROM_HEADER *Generic;
+ EFI_PCI_EXPANSION_ROM_HEADER *Efi;
+ EFI_LEGACY_EXPANSION_ROM_HEADER *PcAt;
+} EFI_PCI_ROM_HEADER;
+
+#pragma pack(pop)
+
+#endif
diff --git a/Tools/CCode/Source/Include/IndustryStandard/pci22.h b/Tools/CCode/Source/Include/IndustryStandard/pci22.h index 8893a8a..f150fbc 100644 --- a/Tools/CCode/Source/Include/IndustryStandard/pci22.h +++ b/Tools/CCode/Source/Include/IndustryStandard/pci22.h @@ -288,10 +288,6 @@ typedef struct { #define PCI_MAX_BAR 0x0006
#define PCI_MAX_CONFIG_OFFSET 0x0100
-//
-// bugbug: this is supported in PCI spec v2.3
-//
-#define PCI_EXP_MAX_CONFIG_OFFSET 0x1000
#define PCI_VENDOR_ID_OFFSET 0x00
#define PCI_DEVICE_ID_OFFSET 0x02
@@ -323,14 +319,6 @@ typedef struct { #define PCI_BRIDGE_SECONDARY_BUS_REGISTER_OFFSET 0x19
#define PCI_BRIDGE_SUBORDINATE_BUS_REGISTER_OFFSET 0x1a
-typedef struct {
- UINT8 Register;
- UINT8 Function;
- UINT8 Device;
- UINT8 Bus;
- UINT8 Reserved[4];
-} DEFIO_PCI_ADDR;
-
typedef union {
struct {
UINT32 Reg : 8;
@@ -345,9 +333,7 @@ typedef union { #pragma pack()
-#define EFI_ROOT_BRIDGE_LIST 'eprb'
#define PCI_EXPANSION_ROM_HEADER_SIGNATURE 0xaa55
-#define EFI_PCI_EXPANSION_ROM_HEADER_EFISIGNATURE 0x0EF1
#define PCI_DATA_STRUCTURE_SIGNATURE EFI_SIGNATURE_32 ('P', 'C', 'I', 'R')
#define PCI_CODE_TYPE_PCAT_IMAGE 0x00
#define PCI_CODE_TYPE_EFI_IMAGE 0x03
@@ -405,31 +391,12 @@ typedef struct { typedef struct {
UINT16 Signature; // 0xaa55
- UINT16 InitializationSize;
- UINT32 EfiSignature; // 0x0EF1
- UINT16 EfiSubsystem;
- UINT16 EfiMachineType;
- UINT16 CompressionType;
- UINT8 Reserved[8];
- UINT16 EfiImageHeaderOffset;
- UINT16 PcirOffset;
-} EFI_PCI_EXPANSION_ROM_HEADER;
-
-typedef struct {
- UINT16 Signature; // 0xaa55
UINT8 Size512;
UINT8 InitEntryPoint[3];
- UINT8 Reserved[0x12];
+ UINT8 Reserved[0x12];
UINT16 PcirOffset;
} EFI_LEGACY_EXPANSION_ROM_HEADER;
-typedef union {
- UINT8 *Raw;
- PCI_EXPANSION_ROM_HEADER *Generic;
- EFI_PCI_EXPANSION_ROM_HEADER *Efi;
- EFI_LEGACY_EXPANSION_ROM_HEADER *PcAt;
-} EFI_PCI_ROM_HEADER;
-
typedef struct {
UINT32 Signature; // "PCIR"
UINT16 VendorId;
@@ -455,10 +422,6 @@ typedef struct { #define EFI_PCI_CAPABILITY_ID_MSI 0x05
#define EFI_PCI_CAPABILITY_ID_HOTPLUG 0x06
#define EFI_PCI_CAPABILITY_ID_PCIX 0x07
-//
-// bugbug: this ID is defined in PCI spec v2.3
-//
-#define EFI_PCI_CAPABILITY_ID_PCIEXP 0x10
typedef struct {
UINT8 CapabilityID;
@@ -569,4 +532,12 @@ typedef struct { #pragma pack(pop)
+//
+// NOTE: The following header files are included here for
+// compatibility consideration.
+//
+#include "pci23.h"
+#include "pci30.h"
+#include "EfiPci.h"
+
#endif
diff --git a/Tools/CCode/Source/Include/IndustryStandard/pci23.h b/Tools/CCode/Source/Include/IndustryStandard/pci23.h new file mode 100644 index 0000000..cb0cde0 --- /dev/null +++ b/Tools/CCode/Source/Include/IndustryStandard/pci23.h @@ -0,0 +1,25 @@ +/** @file
+ Support for PCI 2.3 standard.
+
+ Copyright (c) 2006, Intel Corporation
+ All rights reserved. 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.
+
+ Module Name: pci23.h
+
+**/
+
+#ifndef _PCI23_H
+#define _PCI23_H
+
+//#include "pci22.h"
+
+#define PCI_EXP_MAX_CONFIG_OFFSET 0x1000
+#define EFI_PCI_CAPABILITY_ID_PCIEXP 0x10
+
+#endif
diff --git a/Tools/CCode/Source/Include/IndustryStandard/pci30.h b/Tools/CCode/Source/Include/IndustryStandard/pci30.h new file mode 100644 index 0000000..0272ee5 --- /dev/null +++ b/Tools/CCode/Source/Include/IndustryStandard/pci30.h @@ -0,0 +1,45 @@ +/** @file
+ Support for PCI 3.0 standard.
+
+ Copyright (c) 2006, Intel Corporation
+ All rights reserved. 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.
+
+ Module Name: pci30.h
+
+**/
+
+#ifndef _PCI30_H
+#define _PCI30_H
+
+//#include "pci23.h"
+
+#define PCI_CLASS_MASS_STORAGE_SATADPA 0x06
+
+#pragma pack(push, 1)
+
+typedef struct {
+ UINT32 Signature; // "PCIR"
+ UINT16 VendorId;
+ UINT16 DeviceId;
+ UINT16 DeviceListOffset;
+ UINT16 Length;
+ UINT8 Revision;
+ UINT8 ClassCode[3];
+ UINT16 ImageLength;
+ UINT16 CodeRevision;
+ UINT8 CodeType;
+ UINT8 Indicator;
+ UINT16 MaxRuntimeImageLength;
+ UINT16 ConfigUtilityCodeHeaderOffset;
+ UINT16 DMTFCLPEntryPointOffset;
+} PCI_3_0_DATA_STRUCTURE;
+
+#pragma pack(pop)
+
+#endif
|