]> git.proxmox.com Git - mirror_edk2.git/blob - MdePkg/Include/IndustryStandard/Pci30.h
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@6240 6f19259b...
[mirror_edk2.git] / MdePkg / Include / IndustryStandard / Pci30.h
1 /** @file
2 Support for PCI 3.0 standard.
3
4 Copyright (c) 2006 - 2008, Intel Corporation
5 All rights reserved. This program and the accompanying materials
6 are licensed and made available under the terms and conditions of the BSD License
7 which accompanies this distribution. The full text of the license may be found at
8 http://opensource.org/licenses/bsd-license.php
9
10 THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
11 WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
12
13 **/
14
15 #ifndef __PCI30_H__
16 #define __PCI30_H__
17
18
19 #include <IndustryStandard/Pci23.h>
20
21 ///
22 /// Definitions of PCI class bytes and manipulation macros.
23 ///
24 #define PCI_CLASS_MASS_STORAGE_SATADPA 0x06
25 #define PCI_IF_MASS_STORAGE_SATA 0x00
26 #define PCI_IF_MASS_STORAGE_AHCI 0x01
27
28 ///
29 /// PCI Capability List IDs and records
30 ///
31 #define EFI_PCI_CAPABILITY_ID_PCIEXP 0x10
32
33 #pragma pack(1)
34
35 ///
36 /// defined in PCI Firmware Specification
37 ///
38 typedef struct {
39 UINT32 Signature; ///< "PCIR"
40 UINT16 VendorId;
41 UINT16 DeviceId;
42 UINT16 DeviceListOffset;
43 UINT16 Length;
44 UINT8 Revision;
45 UINT8 ClassCode[3];
46 UINT16 ImageLength;
47 UINT16 CodeRevision;
48 UINT8 CodeType;
49 UINT8 Indicator;
50 UINT16 MaxRuntimeImageLength;
51 UINT16 ConfigUtilityCodeHeaderOffset;
52 UINT16 DMTFCLPEntryPointOffset;
53 } PCI_3_0_DATA_STRUCTURE;
54
55 #pragma pack()
56
57 #endif