This patch set adjusted some order in UefiCpuPig alphabetically, added
LoongArch libraries and drivers into UefiCpuPkg, it is a continuation of
the first patch series v8 submitted at
https://edk2.groups.io/g/devel/message/114526.
And also separated from
https://edk2.groups.io/g/devel/message/116583.
This series only contents the changes for UefiCpuPkg.
Patch1-Patch4: Reorder some INF files located in UefiCpuPkg
alphabetically.
Patch5-Patch13: Added Timer, CpuMmuLib, CpuMmuInitLib, MpInitLib, CpuDxe
for LoongArch, and added some PCD and header files requested by the
above libraries and drivers.
Modfied modules: UefiCpuPkg
BZ:
https://bugzilla.tianocore.org/show_bug.cgi?id=4726
BZ:
https://bugzilla.tianocore.org/show_bug.cgi?id=4734
PR:
https://github.com/tianocore/edk2/pull/5483
V1 -> V2:
1. Removed PcdCpuMmuIsEnabled.
2. Removed API GetMemoryRegionAttributes API as it is no longer needed.
3. Patch3, added two empty line in DXE and PEI INF files.
4. Patch5, added the Status check in GetTimeInnanoSecond function.
5. Separated into two series, this is series one, and the second one is
OvmfPkg.
V2 -> V3:
1. Remove CpuMmuInitLib.
2. Added a new GUID HOB named PROCESSOR_RESOURCE_HOG_GUID.
3. Following Ray suggest, adjust CpuMmuLib API, rename the API name.
4. Rename the PcdCpuExceptionVectorBaseAddress to
PcdLoongArch64ExceptionVectorBaseAddress.
5. Enable CpuMmio2Dxe in LoongArch.
V3 -> V4:
Patch 10, use flexible arrays in PROCESSOR_RESOURCE_DATA.
Cc: Ray Ni <ray.ni@intel.com>
Cc: Rahul Kumar <rahul1.kumar@intel.com>
Cc: Gerd Hoffmann <kraxel@redhat.com>
Cc: Sami Mujawar <sami.mujawar@arm.com>
Cc: Sunil V L <sunilvl@ventanamicro.com>
Cc: Bibo Mao <maobibo@loongson.cn>
Cc: Dongyan Qian <qiandongyan@loongson.cn>
Chao Li (13):
UefiCpuPkg/CpuTimerLib: Reorder the INF file alphabetically
UefiCpuPkg/CpuExceptionHandlerLib: Reorder the INF files
alphabetically
UefiCpuPkg/MpInitLib: Reorder the INF files alphabetically
UefiCpuPkg/CpuDxe: Reorder the INF file alphabetically
UefiCpuPkg: Add LoongArch64 CPU Timer instance
UefiCpuPkg: Add CPU exception library for LoongArch
UefiCpuPkg: Add CpuMmuLib.h to UefiCpuPkg
UefiCpuPkg: Added a new PCD named
PcdLoongArchExceptionVectorBaseAddress
UefiCpuPkg: Add CpuMmuLib to UefiCpuPkg
UefiCpuPkg: Add a new GUID to store the processors resource
UefiCpuPkg: Add multiprocessor library for LoongArch64
UefiCpuPkg: Add CpuDxe driver for LoongArch64
UefiCpuPkg/UefiCpuPkg.dsc: Add CpuMmio2Dxe.inf to LoongArch64 field
UefiCpuPkg/CpuDxe/CpuDxe.inf | 39 +-
UefiCpuPkg/CpuDxe/LoongArch64/CpuDxe.c | 514 ++++++
UefiCpuPkg/CpuDxe/LoongArch64/CpuDxe.h | 288 +++
UefiCpuPkg/CpuDxe/LoongArch64/CpuMp.c | 544 ++++++
UefiCpuPkg/CpuDxe/LoongArch64/Exception.c | 159 ++
.../Include/Guid/ProcessorResourceHob.h | 29 +
UefiCpuPkg/Include/Library/CpuMmuLib.h | 41 +
.../DxeCpuExceptionHandlerLib.inf | 37 +-
.../LoongArch/DxeExceptionLib.c | 198 ++
.../LoongArch/ExceptionCommon.c | 171 ++
.../LoongArch/ExceptionCommon.h | 131 ++
.../LoongArch64/ArchExceptionHandler.c | 268 +++
.../LoongArch64/ExceptionHandlerAsm.S | 366 ++++
.../LoongArch/SecPeiExceptionLib.c | 102 ++
.../PeiCpuExceptionHandlerLib.inf | 16 +-
.../SecPeiCpuExceptionHandlerLib.inf | 31 +-
.../SmmCpuExceptionHandlerLib.inf | 16 +-
UefiCpuPkg/Library/CpuMmuLib/CpuMmuLib.inf | 39 +
UefiCpuPkg/Library/CpuMmuLib/CpuMmuLib.uni | 14 +
.../Library/CpuMmuLib/LoongArch64/CpuMmu.c | 784 ++++++++
.../Library/CpuMmuLib/LoongArch64/Page.h | 33 +
.../LoongArch64/TlbExceptionHandle.S | 51 +
.../LoongArch64/TlbExceptionHandle.h | 36 +
.../CpuMmuLib/LoongArch64/TlbInvalid.S | 24 +
.../CpuMmuLib/LoongArch64/TlbInvalid.h | 24 +
.../Library/CpuTimerLib/BaseCpuTimerLib.inf | 17 +-
.../CpuTimerLib/LoongArch64/CpuTimerLib.c | 250 +++
UefiCpuPkg/Library/MpInitLib/DxeMpInitLib.inf | 42 +-
.../Library/MpInitLib/LoongArch64/DxeMpLib.c | 480 +++++
.../Library/MpInitLib/LoongArch64/MpLib.c | 1626 +++++++++++++++++
.../Library/MpInitLib/LoongArch64/MpLib.h | 350 ++++
.../Library/MpInitLib/LoongArch64/PeiMpLib.c | 381 ++++
UefiCpuPkg/Library/MpInitLib/PeiMpInitLib.inf | 40 +-
UefiCpuPkg/UefiCpuPkg.dec | 13 +
UefiCpuPkg/UefiCpuPkg.dsc | 7 +
35 files changed, 7082 insertions(+), 79 deletions(-)
create mode 100644 UefiCpuPkg/CpuDxe/LoongArch64/CpuDxe.c
create mode 100644 UefiCpuPkg/CpuDxe/LoongArch64/CpuDxe.h
create mode 100644 UefiCpuPkg/CpuDxe/LoongArch64/CpuMp.c
create mode 100644 UefiCpuPkg/CpuDxe/LoongArch64/Exception.c
create mode 100644 UefiCpuPkg/Include/Guid/ProcessorResourceHob.h
create mode 100644 UefiCpuPkg/Include/Library/CpuMmuLib.h
create mode 100644 UefiCpuPkg/Library/CpuExceptionHandlerLib/LoongArch/DxeExceptionLib.c
create mode 100644 UefiCpuPkg/Library/CpuExceptionHandlerLib/LoongArch/ExceptionCommon.c
create mode 100644 UefiCpuPkg/Library/CpuExceptionHandlerLib/LoongArch/ExceptionCommon.h
create mode 100644 UefiCpuPkg/Library/CpuExceptionHandlerLib/LoongArch/LoongArch64/ArchExceptionHandler.c
create mode 100644 UefiCpuPkg/Library/CpuExceptionHandlerLib/LoongArch/LoongArch64/ExceptionHandlerAsm.S
create mode 100644 UefiCpuPkg/Library/CpuExceptionHandlerLib/LoongArch/SecPeiExceptionLib.c
create mode 100644 UefiCpuPkg/Library/CpuMmuLib/CpuMmuLib.inf
create mode 100644 UefiCpuPkg/Library/CpuMmuLib/CpuMmuLib.uni
create mode 100644 UefiCpuPkg/Library/CpuMmuLib/LoongArch64/CpuMmu.c
create mode 100644 UefiCpuPkg/Library/CpuMmuLib/LoongArch64/Page.h
create mode 100644 UefiCpuPkg/Library/CpuMmuLib/LoongArch64/TlbExceptionHandle.S
create mode 100644 UefiCpuPkg/Library/CpuMmuLib/LoongArch64/TlbExceptionHandle.h
create mode 100644 UefiCpuPkg/Library/CpuMmuLib/LoongArch64/TlbInvalid.S
create mode 100644 UefiCpuPkg/Library/CpuMmuLib/LoongArch64/TlbInvalid.h
create mode 100644 UefiCpuPkg/Library/CpuTimerLib/LoongArch64/CpuTimerLib.c
create mode 100644 UefiCpuPkg/Library/MpInitLib/LoongArch64/DxeMpLib.c
create mode 100644 UefiCpuPkg/Library/MpInitLib/LoongArch64/MpLib.c
create mode 100644 UefiCpuPkg/Library/MpInitLib/LoongArch64/MpLib.h
create mode 100644 UefiCpuPkg/Library/MpInitLib/LoongArch64/PeiMpLib.c
--
2.27.0