public inbox for devel@edk2.groups.io
 help / color / mirror / Atom feed
From: "PierreGondois" <pierre.gondois@arm.com>
To: devel@edk2.groups.io, Jiewen Yao <jiewen.yao@intel.com>,
	Jian J Wang <jian.j.wang@intel.com>,
	Michael D Kinney <michael.d.kinney@intel.com>,
	Liming Gao <gaoliming@byosoft.com.cn>,
	Zhiguang Liu <zhiguang.liu@intel.com>,
	Ard Biesheuvel <ardb+tianocore@kernel.org>,
	Sami Mujawar <sami.mujawar@arm.com>,
	Rebecca Cran <quic_rcran@quicinc.com>
Subject: Re: [edk2-devel] [PATCH v3 0/2] MdePkg,SecurityPkg: Add support to RngDxe and BaseRngLib for AARCH64 RNDR
Date: Tue, 18 Jan 2022 10:24:20 +0100	[thread overview]
Message-ID: <dcc13802-dac7-66a9-0a4c-771296fb399d@arm.com> (raw)
In-Reply-To: <20210510215308.28745-1-rebecca@nuviainc.com>

Hello all,
I have a question about the this patch, and more generically the organization
of the MdePkg. The current organization, for the BaseRngLib, is as:
 - the BaseRngLib implements the library functions of
   MdePkg/Include/Library/RngLib.h
 - the BaseRngLib contains Ia32, X64 and AARCH64 implementations

This means the BaseRngLib contains arch specific functions. It comes that I
would like to re-use one of these arch specific functions. My question is
then, shouldn't the BaseRngLib contains an arch agnostic implementation,
and the arch specific implementation be placed in arch specific folders
(ArmPkg for arm, I am not sure for other architectures) ?

Another possibility for me is to me is to move the function that I want
to use to the ArmPkg, but this means the MdePkg would be dependent
on the ArmPkg. Would this be a viable option ?

Regards,
Pierre

On 5/10/21 11:53 PM, Rebecca Cran via groups.io wrote:
> Update MdePkg BaseRngLib and SecurityPkg RngDxe to add support for
> the AARCH64 RNDR instruction.
>
> Changes from v2 to v3:
>
> o Fixed the default value of gEfiSecurityPkgTokenSpaceGuid.PcdCpuRngSupportedAlgorithm
>   to be an empty GUID.
> o Removed RNDRRS since it wasn't being used.
> o Fixed the commit message to remove mention of BaseLib.
>
> Rebecca Cran (2):
>   MdePkg/BaseRngLib: Add support for ARMv8.5 RNG instructions
>   SecurityPkg: Add support for RngDxe on AARCH64
>
>  MdePkg/MdePkg.dec                                             |   9 +-
>  SecurityPkg/SecurityPkg.dec                                   |   2 +
>  MdePkg/MdePkg.dsc                                             |   4 +-
>  SecurityPkg/SecurityPkg.dsc                                   |  11 +-
>  MdePkg/Library/BaseRngLib/BaseRngLib.inf                      |  23 ++-
>  SecurityPkg/RandomNumberGenerator/RngDxe/RngDxe.inf           |  24 ++-
>  MdePkg/Library/BaseRngLib/AArch64/ArmRng.h                    |  43 +++++
>  MdePkg/Library/BaseRngLib/BaseRngLibInternals.h               |  78 +++++++++
>  SecurityPkg/RandomNumberGenerator/RngDxe/{ => Rand}/AesCore.h |   0
>  SecurityPkg/RandomNumberGenerator/RngDxe/{ => Rand}/RdRand.h  |  17 --
>  SecurityPkg/RandomNumberGenerator/RngDxe/RngDxeInternals.h    | 117 ++++++++++++++
>  MdePkg/Library/BaseRngLib/AArch64/Rndr.c                      | 139 ++++++++++++++++
>  MdePkg/Library/BaseRngLib/BaseRng.c                           |  87 +++++-----
>  MdePkg/Library/BaseRngLib/Rand/RdRand.c                       | 131 +++++++++++++++
>  SecurityPkg/RandomNumberGenerator/RngDxe/AArch64/RngDxe.c     | 127 +++++++++++++++
>  SecurityPkg/RandomNumberGenerator/RngDxe/{ => Rand}/AesCore.c |   0
>  SecurityPkg/RandomNumberGenerator/RngDxe/{ => Rand}/RdRand.c  |  45 +-----
>  SecurityPkg/RandomNumberGenerator/RngDxe/Rand/RngDxe.c        | 146 +++++++++++++++++
>  SecurityPkg/RandomNumberGenerator/RngDxe/RngDxe.c             | 170 ++++++++------------
>  MdePkg/Library/BaseRngLib/AArch64/ArmReadIdIsar0.S            |  31 ++++
>  MdePkg/Library/BaseRngLib/AArch64/ArmReadIdIsar0.asm          |  30 ++++
>  MdePkg/Library/BaseRngLib/AArch64/ArmRng.S                    |  37 +++++
>  MdePkg/Library/BaseRngLib/AArch64/ArmRng.asm                  |  39 +++++
>  MdePkg/Library/BaseRngLib/BaseRngLib.uni                      |   6 +-
>  24 files changed, 1086 insertions(+), 230 deletions(-)
>  create mode 100644 MdePkg/Library/BaseRngLib/AArch64/ArmRng.h
>  create mode 100644 MdePkg/Library/BaseRngLib/BaseRngLibInternals.h
>  rename SecurityPkg/RandomNumberGenerator/RngDxe/{ => Rand}/AesCore.h (100%)
>  rename SecurityPkg/RandomNumberGenerator/RngDxe/{ => Rand}/RdRand.h (72%)
>  create mode 100644 SecurityPkg/RandomNumberGenerator/RngDxe/RngDxeInternals.h
>  create mode 100644 MdePkg/Library/BaseRngLib/AArch64/Rndr.c
>  create mode 100644 MdePkg/Library/BaseRngLib/Rand/RdRand.c
>  create mode 100644 SecurityPkg/RandomNumberGenerator/RngDxe/AArch64/RngDxe.c
>  rename SecurityPkg/RandomNumberGenerator/RngDxe/{ => Rand}/AesCore.c (100%)
>  rename SecurityPkg/RandomNumberGenerator/RngDxe/{ => Rand}/RdRand.c (71%)
>  create mode 100644 SecurityPkg/RandomNumberGenerator/RngDxe/Rand/RngDxe.c
>  create mode 100644 MdePkg/Library/BaseRngLib/AArch64/ArmReadIdIsar0.S
>  create mode 100644 MdePkg/Library/BaseRngLib/AArch64/ArmReadIdIsar0.asm
>  create mode 100644 MdePkg/Library/BaseRngLib/AArch64/ArmRng.S
>  create mode 100644 MdePkg/Library/BaseRngLib/AArch64/ArmRng.asm
>

  parent reply	other threads:[~2022-01-18  9:24 UTC|newest]

Thread overview: 12+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-05-10 21:53 [PATCH v3 0/2] MdePkg,SecurityPkg: Add support to RngDxe and BaseRngLib for AARCH64 RNDR Rebecca Cran
2021-05-10 21:53 ` [PATCH v3 1/2] MdePkg/BaseRngLib: Add support for ARMv8.5 RNG instructions Rebecca Cran
2021-05-11 15:32   ` Sami Mujawar
2021-05-10 21:53 ` [PATCH v3 2/2] SecurityPkg: Add support for RngDxe on AARCH64 Rebecca Cran
2021-05-11 14:43   ` Ard Biesheuvel
2021-05-11 14:45     ` [edk2-devel] " Yao, Jiewen
2021-05-11 15:45   ` Sami Mujawar
2021-05-11  3:03 ` 回复: [PATCH v3 0/2] MdePkg,SecurityPkg: Add support to RngDxe and BaseRngLib for AARCH64 RNDR gaoliming
2021-05-11 16:47   ` [edk2-devel] " Ard Biesheuvel
2022-01-18  9:24 ` PierreGondois [this message]
2022-01-19  6:43   ` 回复: [edk2-devel] " gaoliming
2022-10-26 13:40     ` Yao, Jiewen

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=dcc13802-dac7-66a9-0a4c-771296fb399d@arm.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