MdePkg/Pci22.h: Deprecate out-of-Spec IncompatiblePciDevice macros

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>
This commit is contained in:
Ruiyu Ni 2017-01-25 15:18:13 +08:00
parent a419fd0d29
commit 35a461cb50

View File

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