diff options
-rw-r--r-- | MdePkg/Library/BaseLib/BaseLib.inf | 3 | ||||
-rw-r--r-- | MdePkg/Library/BaseLib/RiscV64/MemoryFence.S | 22 |
2 files changed, 24 insertions, 1 deletions
diff --git a/MdePkg/Library/BaseLib/BaseLib.inf b/MdePkg/Library/BaseLib/BaseLib.inf index 6ccb8997b7..6efa5315b6 100644 --- a/MdePkg/Library/BaseLib/BaseLib.inf +++ b/MdePkg/Library/BaseLib/BaseLib.inf @@ -4,7 +4,7 @@ # Copyright (c) 2007 - 2021, Intel Corporation. All rights reserved.<BR>
# Portions copyright (c) 2008 - 2009, Apple Inc. All rights reserved.<BR>
# Portions copyright (c) 2011 - 2013, ARM Ltd. All rights reserved.<BR>
-# Copyright (c) 2020, Hewlett Packard Enterprise Development LP. All rights reserved.<BR>
+# Copyright (c) 2020 - 2021, Hewlett Packard Enterprise Development LP. All rights reserved.<BR>
#
# SPDX-License-Identifier: BSD-2-Clause-Patent
#
@@ -401,6 +401,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 0000000000..cc81683692 --- /dev/null +++ b/MdePkg/Library/BaseLib/RiscV64/MemoryFence.S @@ -0,0 +1,22 @@ +//------------------------------------------------------------------------------
+//
+// 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)
+
+//
+// Memory fence for RiscV64
+//
+//
+ASM_PFX(MemoryFence):
+ fence // Fence on all memory and I/O
+ ret
|