From: "Daniel Schaefer" <daniel.schaefer@hpe.com>
To: "devel@edk2.groups.io" <devel@edk2.groups.io>,
"leif@nuviainc.com" <leif@nuviainc.com>
Cc: "Chang, Abner (HPS SW/FW Technologist)" <abner.chang@hpe.com>,
"Chen, Gilbert" <gilbert.chen@hpe.com>,
"afish@apple.com" <afish@apple.com>,
"michael.d.kinney@intel.com" <michael.d.kinney@intel.com>,
"pete@akeo.ie" <pete@akeo.ie>
Subject: Re: [edk2-devel] [PATCH v2 3/3] MdeModulePkg: Use CopyMem instead of GUID assignment
Date: Thu, 12 Mar 2020 13:24:30 +0000 [thread overview]
Message-ID: <539c8673-786c-9c58-98cc-ab470b345740@hpe.com> (raw)
In-Reply-To: <20200312105528.GC23627@bivouac.eciton.net>
[-- Attachment #1: Type: text/plain, Size: 3541 bytes --]
Hi Leif,
you're right. If I revert my commit and include
NULL|ArmPkg/Library/CompilerIntrinsicsLib/CompilerIntrinsicsLib.inf
without making any changes to it, the build succeeds.
What do others think? (cc Michael, Pete, Andrew, Ard, who have made changes to this module)
Is this a big hack or should we use it in RISC-V, too and move the module to MdeModulePkg?
Why isn't this a problem on x86? Was it fine on Itanium?
- Daniel
________________________________
From: devel@edk2.groups.io<mailto:devel@edk2.groups.io> <devel@edk2.groups.io><mailto:devel@edk2.groups.io> on behalf of Leif Lindholm <leif@nuviainc.com><mailto:leif@nuviainc.com>
Sent: Thursday, March 12, 2020 11:55
To: devel@edk2.groups.io<mailto:devel@edk2.groups.io> <devel@edk2.groups.io><mailto:devel@edk2.groups.io>; Schaefer, Daniel (DualStudy) <daniel.schaefer@hpe.com><mailto:daniel.schaefer@hpe.com>
Cc: Chang, Abner (HPS SW/FW Technologist) <abner.chang@hpe.com><mailto:abner.chang@hpe.com>; Chen, Gilbert <gilbert.chen@hpe.com><mailto:gilbert.chen@hpe.com>; Dandan Bi <dandan.bi@intel.com><mailto:dandan.bi@intel.com>; Eric Dong <eric.dong@intel.com><mailto:eric.dong@intel.com>
Subject: Re: [edk2-devel] [PATCH v2 3/3] MdeModulePkg: Use CopyMem instead of GUID assignment
Hi Daniel,
There is nothing wrong with this patch that just went in (and I should
have called out sooner if I wanted to stop it), but I think a better
solution is to implement a RISC-V variant of
ArmPkg/Library/CompilerIntrinsicsLib/.
It is perfectly valid for the compiler to generate memcpy calls in
response to struct operations that are perfectly valid C.
In fact, we could consider moving the ArmPkg one over into
MdeModulePkg. I have a feeling that including a
NULL|ArmPkg/Library/CompilerIntrinsicsLib/CompilerIntrinsicsLib.inf
in your current build would be an alternative solution to your
compilation error.
/
Leif
On Mon, Mar 02, 2020 at 11:32:38 +0100, Daniel Schaefer wrote:
> GCC translates a simple assignment to memcpy, which EDKII doesn't provide.
> See: https://www.mail-archive.com/edk2-devel@lists.01.org/msg11928.html
>
> REF:https://bugzilla.tianocore.org/show_bug.cgi?id=2547
>
> Signed-off-by: Daniel Schaefer <daniel.schaefer@hpe.com><mailto:daniel.schaefer@hpe.com>
> Cc: Abner Chang <abner.chang@hpe.com><mailto:abner.chang@hpe.com>
> Cc: Gilbert Chen <gilbert.chen@hpe.com><mailto:gilbert.chen@hpe.com>
> Cc: Leif Lindholm <leif@nuviainc.com><mailto:leif@nuviainc.com>
> Cc: Dandan Bi <dandan.bi@intel.com><mailto:dandan.bi@intel.com>
> Cc: Eric Dong <eric.dong@intel.com><mailto:eric.dong@intel.com>
> ---
>
> Notes:
> v2:
> - Use CopyMem instead of CopyGuid [Dandan]
>
> MdeModulePkg/Library/DeviceManagerUiLib/DeviceManager.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/MdeModulePkg/Library/DeviceManagerUiLib/DeviceManager.c b/MdeModulePkg/Library/DeviceManagerUiLib/DeviceManager.c
> index 5cc527679a78..0540e6fa8a44 100644
> --- a/MdeModulePkg/Library/DeviceManagerUiLib/DeviceManager.c
> +++ b/MdeModulePkg/Library/DeviceManagerUiLib/DeviceManager.c
> @@ -619,7 +619,7 @@ CreateDeviceManagerForm(
> TokenHelp = HiiSetString (HiiHandle, 0, String, NULL);
> FreePool (String);
>
> - FormSetGuid = ((EFI_IFR_FORM_SET *)Ptr)->Guid;
> + CopyMem (&FormSetGuid, &((EFI_IFR_FORM_SET *) Ptr)->Guid, sizeof (EFI_GUID));
>
> //
> // Network device process
> --
> 2.25.0
>
>
>
>
[-- Attachment #2: Type: text/html, Size: 7282 bytes --]
next prev parent reply other threads:[~2020-03-12 13:24 UTC|newest]
Thread overview: 31+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-03-02 10:32 [PATCH v2 0/3] Allow building MdeModulePkg on non-x86 Daniel Schaefer
2020-03-02 10:32 ` [PATCH v2 1/3] MdeModulePkg: Restrict libraries using SMM to x86 Daniel Schaefer
2020-03-02 13:18 ` [edk2-devel] " Liming Gao
2020-03-02 17:38 ` Daniel Schaefer
2020-03-02 10:32 ` [PATCH v2 2/3] MdeModulePkg: Set PcdDxeIplSwitchToLongMode false on non-x86 Daniel Schaefer
2020-03-02 13:19 ` Liming Gao
2020-03-02 17:36 ` Daniel Schaefer
2020-03-02 10:32 ` [PATCH v2 3/3] MdeModulePkg: Use CopyMem instead of GUID assignment Daniel Schaefer
2020-03-02 13:38 ` [edk2-devel] " Liming Gao
2020-03-05 0:39 ` Dandan Bi
2020-03-12 5:58 ` [edk2-devel] " Wang, Jian J
2020-03-12 6:00 ` Abner Chang
2020-03-12 10:55 ` Leif Lindholm
2020-03-12 12:21 ` Ni, Ray
2020-03-12 13:53 ` [EXTERNAL] " Leif Lindholm
2020-03-20 7:24 ` Ni, Ray
2020-03-12 13:24 ` Daniel Schaefer [this message]
2020-03-12 14:03 ` Leif Lindholm
2020-03-12 14:33 ` Abner Chang
2020-03-12 14:44 ` Leif Lindholm
2020-03-12 14:57 ` Leif Lindholm
2020-03-13 3:57 ` Abner Chang
2020-03-12 19:42 ` Laszlo Ersek
2020-03-12 21:19 ` Leif Lindholm
2020-03-13 4:08 ` Abner Chang
2020-03-13 10:10 ` Leif Lindholm
2020-03-15 14:59 ` Abner Chang
2020-03-13 16:36 ` Laszlo Ersek
2020-03-12 19:36 ` Laszlo Ersek
2020-03-12 19:51 ` Andrew Fish
2020-03-12 21:04 ` Leif Lindholm
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=539c8673-786c-9c58-98cc-ab470b345740@hpe.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