X-Git-Url: https://git.proxmox.com/?p=mirror_edk2.git;a=blobdiff_plain;f=MdePkg%2FInclude%2FIndustryStandard%2FPci30.h;h=2aba2b2ffc2008ce8dd24b82db43be84679dddba;hp=c4a1b64ace7ce5b4aff0d287469399cf5716ecff;hb=9344f0921518309295da89c221d10cbead8531aa;hpb=877a3c7bb2b5186db27e3495197cb52ce33bb078 diff --git a/MdePkg/Include/IndustryStandard/Pci30.h b/MdePkg/Include/IndustryStandard/Pci30.h index c4a1b64ace..2aba2b2ffc 100644 --- a/MdePkg/Include/IndustryStandard/Pci30.h +++ b/MdePkg/Include/IndustryStandard/Pci30.h @@ -1,27 +1,58 @@ /** @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. + Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.
+ SPDX-License-Identifier: BSD-2-Clause-Patent **/ #ifndef __PCI30_H__ #define __PCI30_H__ + +#include + +/// +/// PCI_CLASS_MASS_STORAGE, Base Class 01h. +/// +///@{ #define PCI_CLASS_MASS_STORAGE_SATADPA 0x06 -#define PCI_CLASS_MASS_STORAGE_AHCI PCI_CLASS_MASS_STORAGE_SATADPA +#define PCI_IF_MASS_STORAGE_SATA 0x00 +#define PCI_IF_MASS_STORAGE_AHCI 0x01 +///@} + +/// +/// PCI_CLASS_WIRELESS, Base Class 0Dh. +/// +///@{ +#define PCI_SUBCLASS_ETHERNET_80211A 0x20 +#define PCI_SUBCLASS_ETHERNET_80211B 0x21 +///@} + +/** + Macro that checks whether device is a SATA controller. + + @param _p Specified device. -#pragma pack(push, 1) + @retval TRUE Device is a SATA controller. + @retval FALSE Device is not a SATA controller. +**/ +#define IS_PCI_SATADPA(_p) IS_CLASS2 (_p, PCI_CLASS_MASS_STORAGE, PCI_CLASS_MASS_STORAGE_SATADPA) + +/// +/// PCI Capability List IDs and records +/// +#define EFI_PCI_CAPABILITY_ID_PCIEXP 0x10 + +#pragma pack(1) + +/// +/// PCI Data Structure Format +/// Section 5.1.2, PCI Firmware Specification, Revision 3.0 +/// typedef struct { - UINT32 Signature; // "PCIR" + UINT32 Signature; ///< "PCIR" UINT16 VendorId; UINT16 DeviceId; UINT16 DeviceListOffset; @@ -37,9 +68,6 @@ typedef struct { UINT16 DMTFCLPEntryPointOffset; } PCI_3_0_DATA_STRUCTURE; -#pragma pack(pop) - - -#include +#pragma pack() #endif