X-Git-Url: https://git.proxmox.com/?p=mirror_edk2.git;a=blobdiff_plain;f=IntelFrameworkPkg%2FInclude%2FProtocol%2FPciHotPlugInit.h;fp=IntelFrameworkPkg%2FInclude%2FProtocol%2FPciHotPlugInit.h;h=623ca7679cc9d3795ef106e745a4ff1deae43efb;hp=341acb7308e1cb9b4688c8481662ab61dfed7062;hb=9ca1b12e006e8d8010ab689356054681d7b04d63;hpb=e3e7f36a580b8c9b8dd408065b0e964ab73aeefe diff --git a/IntelFrameworkPkg/Include/Protocol/PciHotPlugInit.h b/IntelFrameworkPkg/Include/Protocol/PciHotPlugInit.h index 341acb7308..623ca7679c 100644 --- a/IntelFrameworkPkg/Include/Protocol/PciHotPlugInit.h +++ b/IntelFrameworkPkg/Include/Protocol/PciHotPlugInit.h @@ -1,5 +1,5 @@ /** @file - This file declares EFI PCI Hot Plug Init Protocol + This file declares EFI PCI Hot Plug Init Protocol. This protocol provides the necessary functionality to initialize the Hot Plug Controllers (HPCs) and the buses that they control. This protocol also provides information regarding resource padding. @@ -12,8 +12,6 @@ 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: PciHotPlugInit.h - @par Revision Reference: This protocol is defined in Framework of EFI Hot Plug Pci Initialization Protocol Spec Version 0.9 @@ -25,23 +23,46 @@ #include -// -// Global ID for the PCI Hot Plug Protocol -// +/// +/// Global ID for the PCI Hot Plug Protocol +/// #define EFI_PCI_HOT_PLUG_INIT_PROTOCOL_GUID \ { 0xaa0e8bc1, 0xdabc, 0x46b0, {0xa8, 0x44, 0x37, 0xb8, 0x16, 0x9b, 0x2b, 0xea } } typedef struct _EFI_PCI_HOT_PLUG_INIT_PROTOCOL EFI_PCI_HOT_PLUG_INIT_PROTOCOL; -#define EFI_HPC_STATE_INITIALIZED 0x01 -#define EFI_HPC_STATE_ENABLED 0x02 - +/// +/// Current state of an HPC +/// typedef UINT16 EFI_HPC_STATE; +/// +/// The HPC initialization function was called and the HPC completed +/// initialization, but it was not enabled for some reason. The HPC may be +/// disabled in hardware, or it may be disabled due to user preferences, +/// hardware failure, or other reasons. No resource padding is required. +/// +#define EFI_HPC_STATE_INITIALIZED 0x01 +/// +/// The HPC initialization function was called, the HPC completed +/// initialization, and it was enabled. Resource padding is required. +/// +#define EFI_HPC_STATE_ENABLED 0x02 + +/// +/// Location definition for PCI Hot Plug Controller +/// typedef struct{ + /// + /// The device path to the Root HPC + /// EFI_DEVICE_PATH_PROTOCOL *HpcDevicePath; + /// + /// The device path to the Hot Plug Bus (HPB) that is controlled by + /// the root HPC. + /// EFI_DEVICE_PATH_PROTOCOL *HpbDevicePath; } EFI_HPC_LOCATION; @@ -142,11 +163,11 @@ EFI_STATUS // Prototypes for the PCI Hot Plug Init Protocol // -/** - This protocol provides the necessary functionality to initialize the - Hot Plug Controllers (HPCs) and the buses that they control. This protocol - also provides information regarding resource padding. -**/ +/// +/// This protocol provides the necessary functionality to initialize the +/// Hot Plug Controllers (HPCs) and the buses that they control. This protocol +/// also provides information regarding resource padding. +/// struct _EFI_PCI_HOT_PLUG_INIT_PROTOCOL { /// /// Returns a list of root HPCs and the buses that they control.