diff --git a/UefiCpuPkg/Library/BaseRiscV64CpuExceptionHandlerLib/BaseRiscV64CpuExceptionHandlerLib.inf b/UefiCpuPkg/Library/BaseRiscV64CpuExceptionHandlerLib/BaseRiscV64CpuExceptionHandlerLib.inf deleted file mode 100644 index d804629436..0000000000 --- a/UefiCpuPkg/Library/BaseRiscV64CpuExceptionHandlerLib/BaseRiscV64CpuExceptionHandlerLib.inf +++ /dev/null @@ -1,42 +0,0 @@ -## @file -# RISC-V CPU Exception Handler Library -# -# Copyright (c) 2022-2023, Ventana Micro Systems Inc. All rights reserved.
-# -# SPDX-License-Identifier: BSD-2-Clause-Patent -# -## - -[Defines] - INF_VERSION = 0x0001001B - BASE_NAME = BaseRiscV64CpuExceptionHandlerLib - MODULE_UNI_FILE = BaseRiscV64CpuExceptionHandlerLib.uni - FILE_GUID = 6AB0D5FD-E615-45A3-9374-E284FB061FC9 - MODULE_TYPE = BASE - VERSION_STRING = 1.0 - LIBRARY_CLASS = CpuExceptionHandlerLib - -# -# The following information is for reference only and not required by the build tools. -# -# VALID_ARCHITECTURES = RISCV64 -# - -[Sources] - SupervisorTrapHandler.S - CpuExceptionHandlerLib.c - CpuExceptionHandlerLib.h - -[Packages] - MdePkg/MdePkg.dec - MdeModulePkg/MdeModulePkg.dec - UefiCpuPkg/UefiCpuPkg.dec - -[LibraryClasses] - BaseLib - SerialPortLib - PrintLib - SynchronizationLib - PeCoffGetEntryPointLib - MemoryAllocationLib - DebugLib diff --git a/UefiCpuPkg/Library/BaseRiscV64CpuExceptionHandlerLib/BaseRiscV64CpuExceptionHandlerLib.uni b/UefiCpuPkg/Library/BaseRiscV64CpuExceptionHandlerLib/BaseRiscV64CpuExceptionHandlerLib.uni deleted file mode 100644 index 00cca22130..0000000000 --- a/UefiCpuPkg/Library/BaseRiscV64CpuExceptionHandlerLib/BaseRiscV64CpuExceptionHandlerLib.uni +++ /dev/null @@ -1,13 +0,0 @@ -// /** @file -// -// Copyright (c) 2016 - 2019, Hewlett Packard Enterprise Development LP. All rights reserved.
-// -// SPDX-License-Identifier: BSD-2-Clause-Patent -// -// **/ - - -#string STR_MODULE_ABSTRACT #language en-US "RISC-V CPU Exception Handler Librarys." - -#string STR_MODULE_DESCRIPTION #language en-US "RISC-V CPU Exception Handler Librarys." - diff --git a/UefiCpuPkg/Library/CpuExceptionHandlerLib/DxeCpuExceptionHandlerLib.inf b/UefiCpuPkg/Library/CpuExceptionHandlerLib/DxeCpuExceptionHandlerLib.inf index 9fcba009d6..314143b294 100644 --- a/UefiCpuPkg/Library/CpuExceptionHandlerLib/DxeCpuExceptionHandlerLib.inf +++ b/UefiCpuPkg/Library/CpuExceptionHandlerLib/DxeCpuExceptionHandlerLib.inf @@ -19,7 +19,7 @@ # # The following information is for reference only and not required by the build tools. # -# VALID_ARCHITECTURES = IA32 X64 LOONGARCH64 +# VALID_ARCHITECTURES = IA32 X64 LOONGARCH64 RISCV64 # [Sources.Ia32] @@ -46,6 +46,11 @@ LoongArch/LoongArch64/ArchExceptionHandler.c LoongArch/LoongArch64/ExceptionHandlerAsm.S | GCC +[Sources.RISCV64] + RiscV/ExceptionLib.c + RiscV/ExceptionHandler.h + RiscV/ExceptionHandlerAsm.S | GCC + [Pcd] gEfiMdeModulePkgTokenSpaceGuid.PcdCpuStackGuard gUefiCpuPkgTokenSpaceGuid.PcdCpuStackSwitchExceptionList diff --git a/UefiCpuPkg/Library/BaseRiscV64CpuExceptionHandlerLib/CpuExceptionHandlerLib.h b/UefiCpuPkg/Library/CpuExceptionHandlerLib/RiscV/ExceptionHandler.h similarity index 92% rename from UefiCpuPkg/Library/BaseRiscV64CpuExceptionHandlerLib/CpuExceptionHandlerLib.h rename to UefiCpuPkg/Library/CpuExceptionHandlerLib/RiscV/ExceptionHandler.h index 9b7e1304dd..0cf82214bb 100644 --- a/UefiCpuPkg/Library/BaseRiscV64CpuExceptionHandlerLib/CpuExceptionHandlerLib.h +++ b/UefiCpuPkg/Library/CpuExceptionHandlerLib/RiscV/ExceptionHandler.h @@ -8,16 +8,16 @@ **/ -#ifndef RISCV_CPU_EXECPTION_HANDLER_LIB_H_ -#define RISCV_CPU_EXECPTION_HANDLER_LIB_H_ +#ifndef EXCEPTION_HANDLER_H_ +#define EXCEPTION_HANDLER_H_ #include /** Trap Handler for S-mode - **/ VOID +EFIAPI SupervisorModeTrap ( VOID ); @@ -108,4 +108,4 @@ typedef struct { } SMODE_TRAP_REGISTERS; #pragma pack() -#endif +#endif /* EXCEPTION_HANDLER_H_ */ diff --git a/UefiCpuPkg/Library/BaseRiscV64CpuExceptionHandlerLib/SupervisorTrapHandler.S b/UefiCpuPkg/Library/CpuExceptionHandlerLib/RiscV/ExceptionHandlerAsm.S similarity index 96% rename from UefiCpuPkg/Library/BaseRiscV64CpuExceptionHandlerLib/SupervisorTrapHandler.S rename to UefiCpuPkg/Library/CpuExceptionHandlerLib/RiscV/ExceptionHandlerAsm.S index 45070b5cda..815e28bbc6 100644 --- a/UefiCpuPkg/Library/BaseRiscV64CpuExceptionHandlerLib/SupervisorTrapHandler.S +++ b/UefiCpuPkg/Library/CpuExceptionHandlerLib/RiscV/ExceptionHandlerAsm.S @@ -8,7 +8,7 @@ **/ #include -#include "CpuExceptionHandlerLib.h" +#include "ExceptionHandler.h" .align 3 .section .entry, "ax", %progbits diff --git a/UefiCpuPkg/Library/BaseRiscV64CpuExceptionHandlerLib/CpuExceptionHandlerLib.c b/UefiCpuPkg/Library/CpuExceptionHandlerLib/RiscV/ExceptionLib.c similarity index 96% rename from UefiCpuPkg/Library/BaseRiscV64CpuExceptionHandlerLib/CpuExceptionHandlerLib.c rename to UefiCpuPkg/Library/CpuExceptionHandlerLib/RiscV/ExceptionLib.c index 73a9dd5765..48f57f6c5a 100644 --- a/UefiCpuPkg/Library/BaseRiscV64CpuExceptionHandlerLib/CpuExceptionHandlerLib.c +++ b/UefiCpuPkg/Library/CpuExceptionHandlerLib/RiscV/ExceptionLib.c @@ -14,7 +14,7 @@ #include #include #include -#include "CpuExceptionHandlerLib.h" +#include "ExceptionHandler.h" // // Define the maximum message length diff --git a/UefiCpuPkg/Library/CpuExceptionHandlerLib/SecPeiCpuExceptionHandlerLib.inf b/UefiCpuPkg/Library/CpuExceptionHandlerLib/SecPeiCpuExceptionHandlerLib.inf index 64de252dcd..cc872e12b0 100644 --- a/UefiCpuPkg/Library/CpuExceptionHandlerLib/SecPeiCpuExceptionHandlerLib.inf +++ b/UefiCpuPkg/Library/CpuExceptionHandlerLib/SecPeiCpuExceptionHandlerLib.inf @@ -20,7 +20,7 @@ # The following information is for reference only and not required by the build tools. # # VALID_ARCHITECTURES = IA32 X64 -# VALID_ARCHITECTURES = IA32 X64 LOONGARCH64 +# VALID_ARCHITECTURES = IA32 X64 LOONGARCH64 RISCV64 # [Sources.Ia32] @@ -46,6 +46,10 @@ LoongArch/LoongArch64/ArchExceptionHandler.c LoongArch/LoongArch64/ExceptionHandlerAsm.S | GCC +[Sources.RISCV64] + RiscV/ExceptionLib.c + RiscV/ExceptionHandler.h + RiscV/ExceptionHandlerAsm.S | GCC [Packages] MdePkg/MdePkg.dec diff --git a/UefiCpuPkg/UefiCpuPkg.ci.yaml b/UefiCpuPkg/UefiCpuPkg.ci.yaml index a6fd1471de..57867ddf98 100644 --- a/UefiCpuPkg/UefiCpuPkg.ci.yaml +++ b/UefiCpuPkg/UefiCpuPkg.ci.yaml @@ -30,7 +30,6 @@ ], ## Both file path and directory path are accepted. "IgnoreFiles": [ - "Library/BaseRiscV64CpuExceptionHandlerLib/CpuExceptionHandlerLib.h" ] }, "CompilerPlugin": { diff --git a/UefiCpuPkg/UefiCpuPkg.dsc b/UefiCpuPkg/UefiCpuPkg.dsc index aac466848f..e011b1839d 100644 --- a/UefiCpuPkg/UefiCpuPkg.dsc +++ b/UefiCpuPkg/UefiCpuPkg.dsc @@ -218,7 +218,6 @@ UefiCpuPkg/Library/CpuExceptionHandlerLib/UnitTest/DxeCpuExceptionHandlerLibUnitTest.inf [Components.RISCV64] - UefiCpuPkg/Library/BaseRiscV64CpuExceptionHandlerLib/BaseRiscV64CpuExceptionHandlerLib.inf UefiCpuPkg/Library/BaseRiscV64CpuTimerLib/BaseRiscV64CpuTimerLib.inf UefiCpuPkg/Library/BaseRiscVMmuLib/BaseRiscVMmuLib.inf UefiCpuPkg/CpuTimerDxeRiscV64/CpuTimerDxeRiscV64.inf