From: "Sami Mujawar" <sami.mujawar@arm.com>
To: "devel@edk2.groups.io" <devel@edk2.groups.io>,
"mikuback@linux.microsoft.com" <mikuback@linux.microsoft.com>
Cc: Ard Biesheuvel <ardb+tianocore@kernel.org>,
Jiewen Yao <jiewen.yao@intel.com>,
Supreeth Venkatesh <Supreeth.Venkatesh@arm.com>, nd <nd@arm.com>
Subject: Re: [edk2-devel] [PATCH v1 1/1] StandaloneMmPkg/StandaloneMmCore: Fix compiler warning
Date: Wed, 10 Feb 2021 08:48:06 +0000 [thread overview]
Message-ID: <DB7PR08MB30971FB3DC9DB2BF82800DF8848D9@DB7PR08MB3097.eurprd08.prod.outlook.com> (raw)
In-Reply-To: <13a84642-6d7e-cac2-4566-9c36ab9c1e0c@linux.microsoft.com>
Hi Michael,
Please see my response inline marked [SAMI].
Regards,
Sami Mujawar
-----Original Message-----
From: devel@edk2.groups.io <devel@edk2.groups.io> On Behalf Of Michael Kubacki via groups.io
Sent: 10 February 2021 02:59 AM
To: devel@edk2.groups.io; Sami Mujawar <Sami.Mujawar@arm.com>
Cc: Ard Biesheuvel <ardb+tianocore@kernel.org>; Jiewen Yao <jiewen.yao@intel.com>; Supreeth Venkatesh <Supreeth.Venkatesh@arm.com>; nd <nd@arm.com>
Subject: Re: [edk2-devel] [PATCH v1 1/1] StandaloneMmPkg/StandaloneMmCore: Fix compiler warning
Hi Sami,
I'm happy to change the spacing. The code base is very inconsistent with
this (a somewhat similar scenario would be space before opening
parenthesis) and it often trends toward a space after the cast. The
space before opening parenthesis is clearly required. However, I've
never managed to find a definitive statement in the EDK II C Coding
Standards Specification regarding typecast spacing.
[SAMI] I agree the code base is inconsistent. However, there are initiatives like the ECC tool that aim to improve this.
If EDKII core CI is enabled for a Package, it should run the ECC tool. This should prevent new code from introducing inconsistencies i.e., if a check for that rule exists in ECC.
Unfortunately, the EDKII coding standard also has instances of conflicting examples, which I think need improvement.
[/SAMI]
For my own future benefit, could you please point me to the definitive
statement regarding this rule in the specification?
[SAMI] I agree there is no explicit example for the cast rule in the specification. However, please see point 2 of the horizontal spacing rules at:
https://edk2-docs.gitbook.io/edk-ii-c-coding-standards-specification/v/release%2F2.20/3_quick_reference#3-2-3-formatting-horizontal-spacing
[/SAMI]
In the specification itself, the following section has no space between
the typecast and the variable:
https://edk2-docs.gitbook.io/edk-ii-c-coding-standards-specification/v/release%2F2.20/5_source_files/57_c_programming#5-7-2-3-comparison-of-unsigned-integer-types-to-be-greater-than-0-is-permitted
The following section does have a space between the typecast and variable:
https://edk2-docs.gitbook.io/edk-ii-c-coding-standards-specification/v/release%2F2.20/5_source_files/57_c_programming#5-7-2-4-the-ordering-of-terms-in-predicate-expressions-may-impact-performance-significantly
Thanks,
Michael
On 2/9/2021 2:07 PM, Sami Mujawar wrote:
> Hi Michael,
>
> Please see my response inline marked [SAMI].
>
> Other than the minor space change needed to match the coding style, this patch looks good to me.
>
> With that changed:
> Reviewed-by: Sami Mujawar <sami.mujawar@arm.com>
>
> Regards,
>
> Sami Mujawar
>
> -----Original Message-----
> From: mikuback@linux.microsoft.com <mikuback@linux.microsoft.com>
> Sent: 03 February 2021 03:51 AM
> To: devel@edk2.groups.io
> Cc: Ard Biesheuvel <Ard.Biesheuvel@arm.com>; Sami Mujawar <Sami.Mujawar@arm.com>; Jiewen Yao <jiewen.yao@intel.com>; Supreeth Venkatesh <Supreeth.Venkatesh@arm.com>
> Subject: [PATCH v1 1/1] StandaloneMmPkg/StandaloneMmCore: Fix compiler warning
>
> From: Michael Kubacki <michael.kubacki@microsoft.com>
>
> REF:https://bugzilla.tianocore.org/show_bug.cgi?id=3204
>
> Fixes the following compiler warning in VS2019 by changing defining
> the MmramRangeCount variable to be UINTN and type casting prior
> to value assignment.
>
> \edk2\StandaloneMmPkg\Core\StandaloneMmCore.c(570): error C2220:
> the following warning is treated as an error
> \edk2\StandaloneMmPkg\Core\StandaloneMmCore.c(570): warning C4244:
> '=': conversion from 'UINT64' to 'UINT32', possible loss of data
>
> Cc: Ard Biesheuvel <ard.biesheuvel@arm.com>
> Cc: Sami Mujawar <sami.mujawar@arm.com>
> Cc: Jiewen Yao <jiewen.yao@intel.com>
> Cc: Supreeth Venkatesh <supreeth.venkatesh@arm.com>
> Signed-off-by: Michael Kubacki <michael.kubacki@microsoft.com>
> ---
> StandaloneMmPkg/Core/StandaloneMmCore.c | 8 ++++----
> 1 file changed, 4 insertions(+), 4 deletions(-)
>
> diff --git a/StandaloneMmPkg/Core/StandaloneMmCore.c b/StandaloneMmPkg/Core/StandaloneMmCore.c
> index 8388ec289ca8..d254a68f2fb8 100644
> --- a/StandaloneMmPkg/Core/StandaloneMmCore.c
> +++ b/StandaloneMmPkg/Core/StandaloneMmCore.c
> @@ -511,7 +511,7 @@ StandaloneMmMain (
> EFI_HOB_GUID_TYPE *MmramRangesHob;
> EFI_MMRAM_HOB_DESCRIPTOR_BLOCK *MmramRangesHobData;
> EFI_MMRAM_DESCRIPTOR *MmramRanges;
> - UINT32 MmramRangeCount;
> + UINTN MmramRangeCount;
> EFI_HOB_FIRMWARE_VOLUME *BfvHob;
>
> ProcessLibraryConstructorList (HobStart, &gMmCoreMmst);
> @@ -546,7 +546,7 @@ StandaloneMmMain (
> MmramRangesHobData = GET_GUID_HOB_DATA (MmramRangesHob);
> ASSERT (MmramRangesHobData != NULL);
> MmramRanges = MmramRangesHobData->Descriptor;
> - MmramRangeCount = MmramRangesHobData->NumberOfMmReservedRegions;
> + MmramRangeCount = (UINTN) MmramRangesHobData->NumberOfMmReservedRegions;
> [SAMI] There should be no space between the typecast and the variable, i.e. space after typecast (UINTN) and MmramRangesHobData.
> Same at other places in this file.
> [/SAMI]
>
> ASSERT (MmramRanges);
> ASSERT (MmramRangeCount);
>
> @@ -554,7 +554,7 @@ StandaloneMmMain (
> // Copy the MMRAM ranges into MM_CORE_PRIVATE_DATA table just in case any
> // code relies on them being present there
> //
> - gMmCorePrivate->MmramRangeCount = MmramRangeCount;
> + gMmCorePrivate->MmramRangeCount = (UINT64) MmramRangeCount;
> gMmCorePrivate->MmramRanges =
> (EFI_PHYSICAL_ADDRESS)(UINTN)AllocatePool (MmramRangeCount * sizeof (EFI_MMRAM_DESCRIPTOR));
> ASSERT (gMmCorePrivate->MmramRanges != 0);
> @@ -567,7 +567,7 @@ StandaloneMmMain (
> DataInHob = GET_GUID_HOB_DATA (GuidHob);
> gMmCorePrivate = (MM_CORE_PRIVATE_DATA *)(UINTN)DataInHob->Address;
> MmramRanges = (EFI_MMRAM_DESCRIPTOR *)(UINTN)gMmCorePrivate->MmramRanges;
> - MmramRangeCount = gMmCorePrivate->MmramRangeCount;
> + MmramRangeCount = (UINTN) gMmCorePrivate->MmramRangeCount;
> }
>
> //
>
next prev parent reply other threads:[~2021-02-10 8:48 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-02-03 3:50 [PATCH v1 1/1] StandaloneMmPkg/StandaloneMmCore: Fix compiler warning mikuback
2021-02-09 22:07 ` Sami Mujawar
2021-02-10 2:59 ` [edk2-devel] " Michael Kubacki
2021-02-10 8:48 ` Sami Mujawar [this message]
2021-02-10 22:30 ` Ard Biesheuvel
2021-02-11 1:05 ` Michael Kubacki
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=DB7PR08MB30971FB3DC9DB2BF82800DF8848D9@DB7PR08MB3097.eurprd08.prod.outlook.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