Daniel: Seemly, this API is missing in BaseLib for RiscV64 arch. How do you detect this issue?
Thanks Liming > -----邮件原件----- > 发件人: devel@edk2.groups.io <devel@edk2.groups.io> 代表 Daniel > Schaefer > 发送时间: 2021年5月16日 2:13 > 收件人: devel@edk2.groups.io > 抄送: Abner Chang <abner.ch...@hpe.com>; Michael D Kinney > <michael.d.kin...@intel.com>; Liming Gao <gaolim...@byosoft.com.cn>; > Zhiguang Liu <zhiguang....@intel.com>; Leif Lindholm <l...@nuviainc.com> > 主题: [edk2-devel] [PATCH v1 1/1] Add MemoryFence implementation for > RiscV64 > > Cc: Abner Chang <abner.ch...@hpe.com> > Cc: Michael D Kinney <michael.d.kin...@intel.com> > Cc: Liming Gao <gaolim...@byosoft.com.cn> > Cc: Zhiguang Liu <zhiguang....@intel.com> > Cc: Leif Lindholm <l...@nuviainc.com> > Signed-off-by: Daniel Schaefer <daniel.schae...@hpe.com> > --- > MdePkg/Library/BaseLib/BaseLib.inf | 1 + > MdePkg/Library/BaseLib/RiscV64/MemoryFence.S | 33 > ++++++++++++++++++++ > 2 files changed, 34 insertions(+) > > diff --git a/MdePkg/Library/BaseLib/BaseLib.inf > b/MdePkg/Library/BaseLib/BaseLib.inf > index b76f3af380ea..b7ab5f632366 100644 > --- a/MdePkg/Library/BaseLib/BaseLib.inf > +++ b/MdePkg/Library/BaseLib/BaseLib.inf > @@ -399,6 +399,7 @@ > RiscV64/DisableInterrupts.c > > > RiscV64/EnableInterrupts.c > > > RiscV64/CpuPause.c > > > + RiscV64/MemoryFence.S | GCC > > > RiscV64/RiscVSetJumpLongJump.S | GCC > > > RiscV64/RiscVCpuBreakpoint.S | GCC > > > RiscV64/RiscVCpuPause.S | GCC > > > diff --git a/MdePkg/Library/BaseLib/RiscV64/MemoryFence.S > b/MdePkg/Library/BaseLib/RiscV64/MemoryFence.S > new file mode 100644 > index 000000000000..283df9356a9a > --- /dev/null > +++ b/MdePkg/Library/BaseLib/RiscV64/MemoryFence.S > @@ -0,0 +1,33 @@ > +##------------------------------------------------------------------------- ----- > > > +# > > > +# MemoryFence() for RiscV64 > > > + > > > +# Copyright (c) 2021, Hewlett Packard Enterprise Development. All rights > reserved. > > > +# > > > +# SPDX-License-Identifier: BSD-2-Clause-Patent > > > +# > > > +##------------------------------------------------------------------------- ----- > > > + > > > +.text > > > +.p2align 2 > > > + > > > +ASM_GLOBAL ASM_PFX(MemoryFence) > > > + > > > + > > > +#/** > > > +# Used to serialize load and store operations. > > > +# > > > +# All loads and stores that proceed calls to this function are guaranteed to > be > > > +# globally visible when this function returns. > > > +# > > > +#**/ > > > +#VOID > > > +#EFIAPI > > > +#MemoryFence ( > > > +# VOID > > > +# ); > > > +# > > > +ASM_PFX(MemoryFence): > > > + // Fence on all memory and I/O > > > + fence > > > + ret > > > -- > 2.30.1 > > > > > -=-=-=-=-=-=-=-=-=-=-=- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#75231): https://edk2.groups.io/g/devel/message/75231 Mute This Topic: https://groups.io/mt/82902091/21656 Group Owner: devel+ow...@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-