From 12e6f4f1be0246f735495eb9b6987a6d94fa5b35 Mon Sep 17 00:00:00 2001 From: Laszlo Ersek Date: Fri, 1 Jul 2016 01:35:19 +0200 Subject: [PATCH] MdePkg/IndustryStandard: introduce EFI_PCI_CAPABILITY_ID_SHPC The "Pci22.h" header file defines the macro EFI_PCI_CAPABILITY_ID_HOTPLUG with value 0x06. According to all of: - later parts of the same header file, - Appendix H ("Capability IDs") of the PCI Local Bus Specification Revision 2.3, - and Chapter 2 ("Capability IDs") of the PCI Code and ID Assignment Specification Revision 0.9, 0x06 means "CompactPCI Hot Swap". It does not mean "PCI Hot-Plug": that capability is described by ID 0x0C: 0Ch PCI Hot-Plug -- This Capability ID indicates that the associated device conforms to the Standard Hot-Plug Controller model. Therefore EFI_PCI_CAPABILITY_ID_HOTPLUG is arguably a misnomer. PciBusDxe (mis-)uses EFI_PCI_CAPABILITY_ID_HOTPLUG in the IsSHPC() helper function to identify PCI Hot-Plug capability. In order to preserve compatibility with existent code, leave EFI_PCI_CAPABILITY_ID_HOTPLUG alone, and introduce EFI_PCI_CAPABILITY_ID_SHPC with the right ID value. Cc: "Johnson, Brian J." Cc: Alex Williamson Cc: Andrew Fish Cc: Feng Tian Cc: Jordan Justen Cc: Liming Gao Cc: Marcel Apfelbaum Cc: Michael Kinney Cc: Ruiyu Ni Cc: Star Zeng Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Laszlo Ersek Reviewed-by: Ruiyu Ni --- MdePkg/Include/IndustryStandard/Pci22.h | 1 + 1 file changed, 1 insertion(+) diff --git a/MdePkg/Include/IndustryStandard/Pci22.h b/MdePkg/Include/IndustryStandard/Pci22.h index db24a153e1..4cf8389c69 100644 --- a/MdePkg/Include/IndustryStandard/Pci22.h +++ b/MdePkg/Include/IndustryStandard/Pci22.h @@ -635,6 +635,7 @@ typedef union { #define EFI_PCI_CAPABILITY_ID_SLOTID 0x04 #define EFI_PCI_CAPABILITY_ID_MSI 0x05 #define EFI_PCI_CAPABILITY_ID_HOTPLUG 0x06 +#define EFI_PCI_CAPABILITY_ID_SHPC 0x0C /// /// Capabilities List Header -- 2.39.2