From: Laszlo Ersek <lersek@redhat.com>
To: Andrew Fish <afish@apple.com>
Cc: "Marvin Häuser" <Marvin.Haeuser@outlook.com>,
"edk2-devel@lists.01.org" <edk2-devel@lists.01.org>,
"ruiyu.ni@intel.com" <ruiyu.ni@intel.com>,
"eric.dong@intel.com" <eric.dong@intel.com>,
"star.zeng@intel.com" <star.zeng@intel.com>
Subject: Re: [PATCH 1/2] MdeModulePkg/PciBusDxe: Prevent truncating constant values.
Date: Wed, 28 Feb 2018 12:42:04 +0100 [thread overview]
Message-ID: <20348a44-8b73-3389-59a4-3b67cd35e01c@redhat.com> (raw)
In-Reply-To: <6C7D5245-F76E-4FF1-B7B5-B1254EA83C44@apple.com>
On 02/27/18 19:50, Andrew Fish wrote:
>
>
>> On Feb 27, 2018, at 10:42 AM, Laszlo Ersek <lersek@redhat.com> wrote:
>>
>> On 02/27/18 17:49, Marvin Häuser wrote:
>>> The toolcahin VS2015x86 issues warnings when truncating constant
>>> values. Explicitely cast such to avoid it.
>>>
>>> Contributed-under: TianoCore Contribution Agreement 1.1
>>> Signed-off-by: Marvin Haeuser <Marvin.Haeuser@outlook.com>
>>> ---
>>> MdeModulePkg/Bus/Pci/PciBusDxe/PciResourceSupport.c | 4 ++--
>>> 1 file changed, 2 insertions(+), 2 deletions(-)
>>>
>>> diff --git a/MdeModulePkg/Bus/Pci/PciBusDxe/PciResourceSupport.c b/MdeModulePkg/Bus/Pci/PciBusDxe/PciResourceSupport.c
>>> index 2f713fcee95e..a752853f3e9e 100644
>>> --- a/MdeModulePkg/Bus/Pci/PciBusDxe/PciResourceSupport.c
>>> +++ b/MdeModulePkg/Bus/Pci/PciBusDxe/PciResourceSupport.c
>>> @@ -1936,7 +1936,7 @@ ProgramP2C (
>>> &BridgeControl
>>> );
>>>
>>> - BridgeControl &= (UINT16) ~PCI_CARD_PREFETCHABLE_MEMORY_0_ENABLE;
>>> + BridgeControl &= (UINT16) ~(UINT16)PCI_CARD_PREFETCHABLE_MEMORY_0_ENABLE;
>>> PciIo->Pci.Write (
>>> PciIo,
>>> EfiPciIoWidthUint16,
>>> @@ -2005,7 +2005,7 @@ ProgramP2C (
>>> &BridgeControl
>>> );
>>>
>>> - BridgeControl &= (UINT16) ~(PCI_CARD_PREFETCHABLE_MEMORY_1_ENABLE);
>>> + BridgeControl &= (UINT16) ~(UINT16)(PCI_CARD_PREFETCHABLE_MEMORY_1_ENABLE);
>>> PciIo->Pci.Write (
>>> PciIo,
>>> EfiPciIoWidthUint16,
>>>
>>
>> My recommendation is the same as for:
>>
>> [edk2] [PATCH 2/2] MdeModulePkg/BaseSerialPortLib16550: Prevent
>> truncating constant values.
>>
>> #define PCI_CARD_PREFETCHABLE_MEMORY_0_ENABLE BIT8
>> #define PCI_CARD_PREFETCHABLE_MEMORY_1_ENABLE BIT9
>>
>> #define BIT8 0x00000100
>> #define BIT9 0x00000200
>>
>
> Laszlo,
>
> Stupid question? Would making BIT8 0x00000100U help? I notice we use ULL for the larger ones, and I don't remember why we don't use U for the ones that fit into a int?
I don't know why BIT[0..31] don't use the U suffix from the beginning. I
agree they should have. Adding the suffixes now is the right thing in
theory, although some "clever" applications of those macros could
regress as a result.
Regarding the question whether this patch would be obviated by making
BIT[0..31] unsigned, Marvin explained elsewhere that just making
BIT[0..31] unsigned didn't help with suppressing the warning. As I
commented under Marvin's explanation, I understand neither why the
compiler warns about the current code (with or without making BIT[0..31]
unsigned), nor -- assuming the original warning is somehow justifiable
-- why the warning is apparently silenced by inserting a UINT16 cast
ahead of the bit-neg. As far as I could see, if the warning applied to
the original code, it should have applied to the patched code too.
Thanks
Laszlo
next prev parent reply other threads:[~2018-02-28 11:35 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-02-27 16:49 [PATCH 1/2] MdeModulePkg/PciBusDxe: Prevent truncating constant values Marvin Häuser
2018-02-27 18:42 ` Laszlo Ersek
2018-02-27 18:50 ` Andrew Fish
2018-02-27 18:57 ` Marvin Häuser
2018-02-28 11:42 ` Laszlo Ersek [this message]
2018-02-28 11:48 ` Marvin Häuser
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=20348a44-8b73-3389-59a4-3b67cd35e01c@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