From: Laszlo Ersek <lersek@redhat.com>
To: "Ni, Ruiyu" <ruiyu.ni@intel.com>,
"edk2-devel@ml01.01.org" <edk2-devel@ml01.01.org>
Cc: "Fan, Jeff" <jeff.fan@intel.com>
Subject: Re: [PATCH v3 6/6] MdePkg/Pci22.h: Deprecate out-of-Spec IncompatiblePciDevice macros
Date: Wed, 8 Feb 2017 02:09:10 +0100 [thread overview]
Message-ID: <0cffa644-b60b-de3a-457e-6e75e057cbb6@redhat.com> (raw)
In-Reply-To: <734D49CCEBEEF84792F5B80ED585239D5B89997B@SHSMSX104.ccr.corp.intel.com>
On 02/08/17 01:58, Ni, Ruiyu wrote:
> These macros comply with the spec so I had no reason to deprecate them.
>
> But I did want to avoid using them in drivers.
>
> Maybe I could just deprecate the two macros PCI_ACPI_UNUSED and
> PCI_BAR_NOCHANGE.
>
> What do you think?
I'm fine either way:
- deprecating these two macros (and keeping patch #5 as-is, modulo the
whitespace fix) sounds good,
- not deprecating these two macros (and then preserving them in OVMF
too) sounds good as well.
What I don't really understand is, what speaks against using the two
macros if they are not deprecated / against the spec?
But, again, if you deprecate these two as well, that's totally fine by me.
Thanks!
Laszlo
>
>
>
> Regards,
>
> Ray
>
>
>
> *From:*edk2-devel [mailto:edk2-devel-bounces@lists.01.org] *On Behalf Of
> *Laszlo Ersek
> *Sent:* Wednesday, February 8, 2017 1:43 AM
> *To:* Ni, Ruiyu <ruiyu.ni@intel.com>; edk2-devel@ml01.01.org
> *Cc:* Fan, Jeff <jeff.fan@intel.com>
> *Subject:* Re: [edk2] [PATCH v3 6/6] MdePkg/Pci22.h: Deprecate
> out-of-Spec IncompatiblePciDevice macros
>
>
>
> On 02/07/17 04:33, Ruiyu Ni wrote:
>> 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.
>>
>> 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 <mailto:ruiyu.ni@intel.com>>
>> Reviewed-by: Liming Gao <liming.gao@intel.com <mailto:liming.gao@intel.com>>
>> Cc: Jeff Fan <jeff.fan@intel.com <mailto:jeff.fan@intel.com>>
>> ---
>> MdePkg/Include/IndustryStandard/Pci22.h | 24 +++++++++++++++++-------
>> 1 file changed, 17 insertions(+), 7 deletions(-)
>>
>> diff --git a/MdePkg/Include/IndustryStandard/Pci22.h b/MdePkg/Include/IndustryStandard/Pci22.h
>> index 4cf8389..5dec65d 100644
>> --- a/MdePkg/Include/IndustryStandard/Pci22.h
>> +++ b/MdePkg/Include/IndustryStandard/Pci22.h
>> @@ -7,7 +7,7 @@
>> PC Card Standard, 8.0
>> 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>
>> This program and the accompanying materials
>> are licensed and made available under the terms and conditions of the BSD License
>> @@ -780,14 +780,25 @@ typedef struct {
>> ///
>> } 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
>> +
>> +///
>> +/// [ATTENTION] These macros are deprecated because they don't match Spec or not defined in Spec.
>> +///
>> +#define DEVICE_ID_NOCARE 0xFFFF ///< Deprecated. Value doesn't match Spec.
>> +#define PCI_BAR_OLD_ALIGN 0xFFFFFFFFFFFFFFFFULL ///< Deprecated. Value isn't defined in Spec.
>> +#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.
>> +
>> +#endif
>>
>> #define PCI_ACPI_UNUSED 0
>> #define PCI_BAR_NOCHANGE 0
>
> Any particular reason for not deprecating these two macros? Is it an
> oversight, or is it intentional to keep them?
>
> (If they comply with the spec, then replacing them in patch #5 seems
> unwarranted.)
>
> Thanks,
> Laszlo
>
>> -#define PCI_BAR_OLD_ALIGN 0xFFFFFFFFFFFFFFFFULL
>> -#define PCI_BAR_EVEN_ALIGN 0xFFFFFFFFFFFFFFFEULL
>> -#define PCI_BAR_SQUAD_ALIGN 0xFFFFFFFFFFFFFFFDULL
>> -#define PCI_BAR_DQUAD_ALIGN 0xFFFFFFFFFFFFFFFCULL
>>
>> #define PCI_BAR_IDX0 0x00
>> #define PCI_BAR_IDX1 0x01
>> @@ -795,7 +806,6 @@ typedef struct {
>> #define PCI_BAR_IDX3 0x03
>> #define PCI_BAR_IDX4 0x04
>> #define PCI_BAR_IDX5 0x05
>> -#define PCI_BAR_ALL 0xFF
>>
>> ///
>> /// EFI PCI Option ROM definitions
>>
>
> _______________________________________________
> edk2-devel mailing list
> edk2-devel@lists.01.org <mailto:edk2-devel@lists.01.org>
> https://lists.01.org/mailman/listinfo/edk2-devel
>
prev parent reply other threads:[~2017-02-08 1:09 UTC|newest]
Thread overview: 12+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-02-07 3:32 [PATCH v3 0/6] Fix PciBus to accept Spec values as BarIndex and Alignment Ruiyu Ni
2017-02-07 3:33 ` [PATCH v3 1/6] MdeModulePkg/PciSioSerialDxe: Use MAX_UINT8 instead of PCI_BAR_ALL Ruiyu Ni
2017-02-07 3:33 ` [PATCH v3 2/6] MdeModulePkg/PciBus: Accept Spec values as BarIndex and Alignment Ruiyu Ni
2017-02-07 3:33 ` [PATCH v3 3/6] MdeModulePkg/IncompatiblePciDevice: Do not use deprecated macros Ruiyu Ni
2017-02-07 3:33 ` [PATCH v3 4/6] MdeModulePkg/IncompatiblePci: Use MAX_UINTN to match any IDs Ruiyu Ni
2017-02-07 3:33 ` [PATCH v3 5/6] OvmfPkg/IncompatiblePci: Do not use deprecated macros Ruiyu Ni
2017-02-07 17:40 ` Laszlo Ersek
2017-02-07 3:33 ` [PATCH v3 6/6] MdePkg/Pci22.h: Deprecate out-of-Spec IncompatiblePciDevice macros Ruiyu Ni
2017-02-07 5:54 ` Bug 367 - Version Check for capsule update logic error wang xiaofeng
2017-02-07 17:43 ` [PATCH v3 6/6] MdePkg/Pci22.h: Deprecate out-of-Spec IncompatiblePciDevice macros Laszlo Ersek
2017-02-08 0:58 ` Ni, Ruiyu
2017-02-08 1:09 ` Laszlo Ersek [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-list from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=0cffa644-b60b-de3a-457e-6e75e057cbb6@redhat.com \
--to=devel@edk2.groups.io \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox