]> git.proxmox.com Git - mirror_edk2.git/commitdiff
MdePkg/Pci22.h: Deprecate out-of-Spec IncompatiblePciDevice macros
authorRuiyu Ni <ruiyu.ni@intel.com>
Wed, 25 Jan 2017 07:18:13 +0000 (15:18 +0800)
committerRuiyu Ni <ruiyu.ni@intel.com>
Fri, 10 Feb 2017 08:52:00 +0000 (16:52 +0800)
DEVICE_ID_NOCARE is defined as 0xFFFF but Spec says (UINT64) -1
should be used to match any VendorId/DeviceId/RevisionId/
SubsystemVendorId/SubsystemDeviceId.

PCI_BAR_OLD_ALIGN/PCI_BAR_EVEN_ALIGN/PCI_BAR_SQUAD_ALIGN/
PCI_BAR_DQUAD_ALIGN are defined but Spec doesn't have such
definitions.

PCI_BAR_ALL is defined as 0xFF but Spec says (UINT64)-1 should be
used to match all BARs.

PCI_ACPI_UNUSED and PCI_BAR_NOCHANGE are defined as 0 which
compliant with Spec but the name is too general and causes confusing.
IncompatiblePciDeviceSupport could directly use 0.

All of the above macros are marked as deprecated.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Ruiyu Ni <ruiyu.ni@intel.com>
Reviewed-by: Liming Gao <liming.gao@intel.com>
Cc: Jeff Fan <jeff.fan@intel.com>
MdePkg/Include/IndustryStandard/Pci22.h

index 4cf8389c699b04963972dfd2057ebaa5a4710bc1..07718dce920a565789773e81f3623afe8c002664 100644 (file)
@@ -7,7 +7,7 @@
     PC Card Standard, 8.0\r
     PCI Power Management Interface Specifiction, Revision 1.2\r
 \r
-  Copyright (c) 2006 - 2016, Intel Corporation. All rights reserved.<BR>\r
+  Copyright (c) 2006 - 2017, Intel Corporation. All rights reserved.<BR>\r
   Copyright (c) 2014 - 2015, Hewlett-Packard Development Company, L.P.<BR>\r
   This program and the accompanying materials                          \r
   are licensed and made available under the terms and conditions of the BSD License         \r
@@ -780,14 +780,24 @@ typedef struct {
   ///\r
 } EFI_PCI_CAPABILITY_HOTPLUG;\r
 \r
-#define DEVICE_ID_NOCARE    0xFFFF\r
+///\r
+/// Below macros (till PCI_BAR_NOCHANGE) were used by EfiIncompatiblePciDeviceSupport Protocol.\r
+///\r
+#ifndef DISABLE_NEW_DEPRECATED_INTERFACES\r
+\r
+///\r
+/// [ATTENTION] These macros are deprecated because they don't match Spec or not defined in Spec.\r
+///\r
+#define DEVICE_ID_NOCARE    0xFFFF                 ///< Deprecated. Value doesn't match Spec.\r
+#define PCI_BAR_OLD_ALIGN   0xFFFFFFFFFFFFFFFFULL  ///< Deprecated. Value isn't defined in Spec.\r
+#define PCI_BAR_EVEN_ALIGN  0xFFFFFFFFFFFFFFFEULL  ///< Deprecated. Value isn't defined in Spec.\r
+#define PCI_BAR_SQUAD_ALIGN 0xFFFFFFFFFFFFFFFDULL  ///< Deprecated. Value isn't defined in Spec.\r
+#define PCI_BAR_DQUAD_ALIGN 0xFFFFFFFFFFFFFFFCULL  ///< Deprecated. Value isn't defined in Spec.\r
+#define PCI_BAR_ALL         0xFF                   ///< Deprecated. Value doesn't match Spec.\r
+#define PCI_ACPI_UNUSED     0                      ///< Deprecated. Macro name is too general.\r
+#define PCI_BAR_NOCHANGE    0                      ///< Deprecated. Macro name is too general.\r
 \r
-#define PCI_ACPI_UNUSED     0\r
-#define PCI_BAR_NOCHANGE    0\r
-#define PCI_BAR_OLD_ALIGN   0xFFFFFFFFFFFFFFFFULL\r
-#define PCI_BAR_EVEN_ALIGN  0xFFFFFFFFFFFFFFFEULL\r
-#define PCI_BAR_SQUAD_ALIGN 0xFFFFFFFFFFFFFFFDULL\r
-#define PCI_BAR_DQUAD_ALIGN 0xFFFFFFFFFFFFFFFCULL\r
+#endif\r
 \r
 #define PCI_BAR_IDX0        0x00\r
 #define PCI_BAR_IDX1        0x01\r
@@ -795,7 +805,6 @@ typedef struct {
 #define PCI_BAR_IDX3        0x03\r
 #define PCI_BAR_IDX4        0x04\r
 #define PCI_BAR_IDX5        0x05\r
-#define PCI_BAR_ALL         0xFF\r
 \r
 ///\r
 /// EFI PCI Option ROM definitions\r