[edk2-devel] [PATCH v3 00/39] Enable LoongArch virtual machine in edk2

Chao Li posted 39 patches 5 months, 1 week ago
Only 0 patches received!
There is a newer version of this series
ArmPkg/ArmPkg.dsc                             |    2 -
.../Drivers/ArmPciCpuIo2Dxe/ArmPciCpuIo2Dxe.c |  556 ------
.../ArmPciCpuIo2Dxe/ArmPciCpuIo2Dxe.inf       |   47 -
ArmVirtPkg/ArmVirt.dsc.inc                    |    2 +-
ArmVirtPkg/ArmVirtCloudHv.dsc                 |    8 +-
ArmVirtPkg/ArmVirtCloudHv.fdf                 |    2 +-
ArmVirtPkg/ArmVirtKvmTool.dsc                 |    8 +-
ArmVirtPkg/ArmVirtKvmTool.fdf                 |    2 +-
ArmVirtPkg/ArmVirtPkg.dec                     |   21 -
ArmVirtPkg/ArmVirtQemu.dsc                    |   10 +-
ArmVirtPkg/ArmVirtQemuFvMain.fdf.inc          |    2 +-
ArmVirtPkg/ArmVirtQemuKernel.dsc              |   10 +-
ArmVirtPkg/ArmVirtXen.dsc                     |    4 +-
.../ArmVirtPsciResetSystemPeiLib.inf          |    3 +-
.../CloudHvVirtMemInfoPeiLib.inf              |    3 +-
.../DebugLibFdtPL011UartFlash.inf             |    3 +-
.../EarlyFdt16550SerialPortHookLib.inf        |    3 +-
.../EarlyFdtPL011SerialPortLib.inf            |    3 +-
.../KvmtoolPlatformPeiLib.inf                 |    5 +-
.../Library/PlatformPeiLib/PlatformPeiLib.inf |   10 +-
.../QemuVirtMemInfoPeiLib.inf                 |    3 +-
.../PrePi/ArmVirtPrePiUniCoreRelocatable.inf  |    3 +-
EmbeddedPkg/EmbeddedPkg.dec                   |    3 +
MdePkg/Include/Library/BaseLib.h              |  221 +++
MdePkg/Include/Library/CpuLib.h               |   37 +-
.../Library/PeiServicesTablePointerLib.h      |   37 +-
MdePkg/Include/Protocol/DebugSupport.h        |   76 +-
MdePkg/Include/Register/LoongArch64/Cpucfg.h  |  565 ++++++
MdePkg/Include/Register/LoongArch64/Csr.h     |  263 +++
MdePkg/Library/BaseCpuLib/BaseCpuLib.inf      |    7 +-
.../Library/BaseCpuLib/LoongArch/DisableFpu.S |   17 +
.../Library/BaseCpuLib/LoongArch/EnableFpu.S  |   17 +
.../BaseCpuLib/LoongArch/InitializeFpu.S      |   51 +
MdePkg/Library/BaseLib/BaseLib.inf            |    6 +
MdePkg/Library/BaseLib/LoongArch64/AsmCsr.S   |  422 +++++
MdePkg/Library/BaseLib/LoongArch64/Cpucfg.S   |   26 +
MdePkg/Library/BaseLib/LoongArch64/Csr.c      |   81 +
.../BaseLib/LoongArch64/DisableInterrupts.S   |   22 +-
.../BaseLib/LoongArch64/EnableInterrupts.S    |   22 +-
.../BaseLib/LoongArch64/ExceptionBase.S       |   41 +
MdePkg/Library/BaseLib/LoongArch64/IoCsr.S    |  120 ++
.../BaseLib/LoongArch64/ReadStableCounter.S   |   24 +
.../LoongArch64/PeiServicesTablePointerReg.c  |   47 +
.../PeiServicesTablePointer.c                 |   86 +
.../PeiServicesTablePointerLib.uni            |   20 +
.../PeiServicesTablePointerLibReg.inf         |   43 +
MdePkg/MdePkg.ci.yaml                         |    3 +-
MdePkg/MdePkg.dec                             |    6 +
MdePkg/MdePkg.dsc                             |    1 +
.../Include/Library/FdtSerialPortAddressLib.h |    0
.../FdtSerialPortAddressLib.c                 |    0
.../FdtSerialPortAddressLib.inf               |    2 +-
.../PlatformBootManagerLibLight}/PlatformBm.c |    0
.../PlatformBootManagerLibLight}/PlatformBm.h |    0
.../PlatformBootManagerLib.inf                |    4 +-
.../PlatformBootManagerLibLight}/QemuKernel.c |    0
.../Drivers/StableTimerDxe/Timer.c            |  381 ++++
.../Drivers/StableTimerDxe/Timer.h            |  127 ++
.../Drivers/StableTimerDxe/TimerDxe.inf       |   41 +
.../CollectApResourceLibNull.c                |   35 +
.../CollectApResourceLibNull.inf              |   32 +
.../CollectApResourceLibNull.uni              |    9 +
.../EarlyFdtSerialPortLib16550.c              |  816 +++++++++
.../EarlyFdtSerialPortLib16550.inf            |   47 +
.../EarlyFdt16550SerialPortHookLib.c          |   55 +
.../EarlyFdt16550SerialPortHookLib.inf        |   37 +
.../Fdt16550SerialPortHookLib.c               |   41 +
.../Fdt16550SerialPortHookLib.inf             |   33 +
.../Fdt16550SerialPortHookLib.uni             |   13 +
.../FdtQemuFwCfgLib/FdtQemuFwCfgPeiLib.c      |  505 ++++++
.../FdtQemuFwCfgLib/FdtQemuFwCfgPeiLib.inf    |   42 +
.../FdtQemuFwCfgLib/QemuFwCfgLibInternal.h    |   73 +
.../Library/FdtQemuFwCfgLib/QemuFwCfgPei.c    |  117 ++
.../DxeLsRealTimeClockLib.c                   |  333 ++++
.../DxeLsRealTimeClockLib.inf                 |   42 +
.../LsRealTimeClockLib/LsRealTimeClock.h      |   47 +
.../PeiLsRealTimeClockLib.c                   |   31 +
.../PeiLsRealTimeClockLib.inf                 |   29 +
.../Library/NorFlashQemuLib/NorFlashQemuLib.c |  140 ++
.../NorFlashQemuLib/NorFlashQemuLib.inf       |   43 +
.../BaseResetSystemAcpiGed.c                  |  148 ++
.../BaseResetSystemAcpiGedLib.inf             |   37 +
.../DxeResetSystemAcpiGed.c                   |  259 +++
.../DxeResetSystemAcpiGedLib.inf              |   41 +
.../ResetSystemAcpiLib/ResetSystemAcpiGed.c   |  128 ++
.../ResetSystemAcpiLib/ResetSystemAcpiGed.h   |   23 +
OvmfPkg/LoongArchVirt/LoongArchVirt.fdf.inc   |   34 +
OvmfPkg/LoongArchVirt/LoongArchVirtQemu.dsc   |  679 +++++++
OvmfPkg/LoongArchVirt/LoongArchVirtQemu.fdf   |  313 ++++
OvmfPkg/LoongArchVirt/PlatformPei/Fv.c        |   40 +
OvmfPkg/LoongArchVirt/PlatformPei/MemDetect.c |  201 +++
OvmfPkg/LoongArchVirt/PlatformPei/Platform.c  |  393 ++++
OvmfPkg/LoongArchVirt/PlatformPei/Platform.h  |  127 ++
.../LoongArchVirt/PlatformPei/PlatformPei.inf |   72 +
OvmfPkg/LoongArchVirt/Readme.md               |   67 +
OvmfPkg/LoongArchVirt/Sec/LoongArch64/Start.S |  176 ++
OvmfPkg/LoongArchVirt/Sec/SecMain.c           |  507 ++++++
OvmfPkg/LoongArchVirt/Sec/SecMain.inf         |   53 +
OvmfPkg/LoongArchVirt/VarStore.fdf.inc        |   67 +
OvmfPkg/OvmfPkg.dec                           |   22 +
OvmfPkg/RiscVVirt/PciCpuIo2Dxe/PciCpuIo2Dxe.c |  557 ------
.../RiscVVirt/PciCpuIo2Dxe/PciCpuIo2Dxe.inf   |   48 -
OvmfPkg/RiscVVirt/RiscVVirtQemu.dsc           |    4 +-
OvmfPkg/RiscVVirt/RiscVVirtQemu.fdf           |    2 +-
UefiCpuPkg/CpuDxeLoongArch64/CpuDxe.c         |  440 +++++
UefiCpuPkg/CpuDxeLoongArch64/CpuDxe.h         |  261 +++
UefiCpuPkg/CpuDxeLoongArch64/CpuDxe.inf       |   60 +
UefiCpuPkg/CpuDxeLoongArch64/CpuDxe.uni       |   15 +
UefiCpuPkg/CpuDxeLoongArch64/CpuMp.c          |  544 ++++++
UefiCpuPkg/CpuDxeLoongArch64/CpuMp.h          |  471 +++++
UefiCpuPkg/CpuDxeLoongArch64/Exception.c      |  150 ++
UefiCpuPkg/CpuIo2Dxe/CpuIo2Dxe.c              |  147 +-
UefiCpuPkg/CpuIo2Dxe/CpuIo2Dxe.h              |    2 +
UefiCpuPkg/CpuIo2Dxe/CpuIo2Dxe.inf            |    8 +-
UefiCpuPkg/CpuIo2Dxe/CpuIo2Dxe.uni            |    2 +
UefiCpuPkg/Include/Library/CpuMmuLib.h        |  155 ++
.../BaseLoongArch64CpuTimerLib.inf            |   30 +
.../BaseLoongArch64CpuTimerLib.uni            |   15 +
.../BaseLoongArch64CpuTimerLib/CpuTimerLib.c  |  226 +++
.../DxeCpuExceptionHandlerLib.inf             |   45 +
.../DxeCpuExceptionHandlerLib.uni             |   15 +
.../DxeExceptionLib.c                         |  202 +++
.../ExceptionCommon.c                         |  170 ++
.../ExceptionCommon.h                         |  111 ++
.../LoongArch64/ArchExceptionHandler.c        |  214 +++
.../LoongArch64/ExceptionHandlerAsm.S         |  320 ++++
.../SecPeiCpuExceptionHandlerLib.inf          |   45 +
.../SecPeiCpuExceptionHandlerLib.uni          |   15 +
.../SecPeiExceptionLib.c                      |   90 +
.../LoongArch64CpuMmuLib/CommonMmuLib.c       |  965 ++++++++++
.../LoongArch64CpuMmuLib/CommonMmuLib.h       |   43 +
.../LoongArch64CpuMmuLib/DxeCpuMmuLib.inf     |   37 +
.../LoongArch64CpuMmuLib/DxeCpuMmuLib.uni     |   14 +
.../LoongArch64CpuMmuLib/CommonMmuLib.c       |  964 ++++++++++
.../LoongArch64CpuMmuLib/CommonMmuLib.h       |   43 +
.../LoongArch64CpuMmuLib/DxeCpuMmuLib.inf     |   37 +
.../LoongArch64CpuMmuLib/DxeCpuMmuLib.uni     |   14 +
.../LoongArch64CpuMmuLib/Page.h               |  279 +++
.../LoongArch64CpuMmuLib/PeiCpuMmuLib.c       |  165 ++
.../LoongArch64CpuMmuLib/PeiCpuMmuLib.inf     |   44 +
.../LoongArch64CpuMmuLib/PeiCpuMmuLib.uni     |   14 +
.../LoongArch64CpuMmuLib/Tlb.h                |   48 +
.../LoongArch64CpuMmuLib/TlbOperation.S       |   44 +
.../Library/LoongArch64CpuMmuLib/Page.h       |  279 +++
.../LoongArch64CpuMmuLib/PeiCpuMmuLib.c       |  165 ++
.../LoongArch64CpuMmuLib/PeiCpuMmuLib.inf     |   44 +
.../LoongArch64CpuMmuLib/PeiCpuMmuLib.uni     |   14 +
UefiCpuPkg/Library/LoongArch64CpuMmuLib/Tlb.h |   48 +
.../LoongArch64CpuMmuLib/TlbOperation.S       |   44 +
.../LoongArch64MpInitLib/DxeMpInitLib.inf     |   45 +
.../LoongArch64MpInitLib/DxeMpInitLib.uni     |   15 +
.../Library/LoongArch64MpInitLib/DxeMpLib.c   |  481 +++++
.../Library/LoongArch64MpInitLib/MpLib.c      | 1596 +++++++++++++++++
.../Library/LoongArch64MpInitLib/MpLib.h      |  361 ++++
.../LoongArch64MpInitLib/PeiMpInitLib.inf     |   37 +
.../LoongArch64MpInitLib/PeiMpInitLib.uni     |   15 +
.../Library/LoongArch64MpInitLib/PeiMpLib.c   |  404 +++++
UefiCpuPkg/UefiCpuPkg.dec                     |   10 +
UefiCpuPkg/UefiCpuPkg.dsc                     |   10 +
159 files changed, 18704 insertions(+), 1375 deletions(-)
delete mode 100644 ArmPkg/Drivers/ArmPciCpuIo2Dxe/ArmPciCpuIo2Dxe.c
delete mode 100644 ArmPkg/Drivers/ArmPciCpuIo2Dxe/ArmPciCpuIo2Dxe.inf
create mode 100644 MdePkg/Include/Register/LoongArch64/Cpucfg.h
create mode 100644 MdePkg/Include/Register/LoongArch64/Csr.h
create mode 100644 MdePkg/Library/BaseCpuLib/LoongArch/DisableFpu.S
create mode 100644 MdePkg/Library/BaseCpuLib/LoongArch/EnableFpu.S
create mode 100644 MdePkg/Library/BaseCpuLib/LoongArch/InitializeFpu.S
create mode 100644 MdePkg/Library/BaseLib/LoongArch64/AsmCsr.S
create mode 100644 MdePkg/Library/BaseLib/LoongArch64/Cpucfg.S
create mode 100644 MdePkg/Library/BaseLib/LoongArch64/Csr.c
create mode 100644 MdePkg/Library/BaseLib/LoongArch64/ExceptionBase.S
create mode 100644 MdePkg/Library/BaseLib/LoongArch64/IoCsr.S
create mode 100644 MdePkg/Library/BaseLib/LoongArch64/ReadStableCounter.S
create mode 100644 MdePkg/Library/PeiServicesTablePointerLibReg/LoongArch64/PeiServicesTablePointerReg.c
create mode 100644 MdePkg/Library/PeiServicesTablePointerLibReg/PeiServicesTablePointer.c
create mode 100644 MdePkg/Library/PeiServicesTablePointerLibReg/PeiServicesTablePointerLib.uni
create mode 100644 MdePkg/Library/PeiServicesTablePointerLibReg/PeiServicesTablePointerLibReg.inf
rename {ArmVirtPkg => OvmfPkg}/Include/Library/FdtSerialPortAddressLib.h (100%)
rename {ArmVirtPkg => OvmfPkg}/Library/FdtSerialPortAddressLib/FdtSerialPortAddressLib.c (100%)
rename {ArmVirtPkg => OvmfPkg}/Library/FdtSerialPortAddressLib/FdtSerialPortAddressLib.inf (90%)
rename {ArmVirtPkg/Library/PlatformBootManagerLib => OvmfPkg/Library/PlatformBootManagerLibLight}/PlatformBm.c (100%)
rename {ArmVirtPkg/Library/PlatformBootManagerLib => OvmfPkg/Library/PlatformBootManagerLibLight}/PlatformBm.h (100%)
rename {ArmVirtPkg/Library/PlatformBootManagerLib => OvmfPkg/Library/PlatformBootManagerLibLight}/PlatformBootManagerLib.inf (90%)
rename {ArmVirtPkg/Library/PlatformBootManagerLib => OvmfPkg/Library/PlatformBootManagerLibLight}/QemuKernel.c (100%)
create mode 100644 OvmfPkg/LoongArchVirt/Drivers/StableTimerDxe/Timer.c
create mode 100644 OvmfPkg/LoongArchVirt/Drivers/StableTimerDxe/Timer.h
create mode 100644 OvmfPkg/LoongArchVirt/Drivers/StableTimerDxe/TimerDxe.inf
create mode 100644 OvmfPkg/LoongArchVirt/Library/CollectApResouceLibNull/CollectApResourceLibNull.c
create mode 100644 OvmfPkg/LoongArchVirt/Library/CollectApResouceLibNull/CollectApResourceLibNull.inf
create mode 100644 OvmfPkg/LoongArchVirt/Library/CollectApResouceLibNull/CollectApResourceLibNull.uni
create mode 100644 OvmfPkg/LoongArchVirt/Library/EarlyFdtSerialPortLib16550/EarlyFdtSerialPortLib16550.c
create mode 100644 OvmfPkg/LoongArchVirt/Library/EarlyFdtSerialPortLib16550/EarlyFdtSerialPortLib16550.inf
create mode 100644 OvmfPkg/LoongArchVirt/Library/Fdt16550SerialPortHookLib/EarlyFdt16550SerialPortHookLib.c
create mode 100644 OvmfPkg/LoongArchVirt/Library/Fdt16550SerialPortHookLib/EarlyFdt16550SerialPortHookLib.inf
create mode 100644 OvmfPkg/LoongArchVirt/Library/Fdt16550SerialPortHookLib/Fdt16550SerialPortHookLib.c
create mode 100644 OvmfPkg/LoongArchVirt/Library/Fdt16550SerialPortHookLib/Fdt16550SerialPortHookLib.inf
create mode 100644 OvmfPkg/LoongArchVirt/Library/Fdt16550SerialPortHookLib/Fdt16550SerialPortHookLib.uni
create mode 100644 OvmfPkg/LoongArchVirt/Library/FdtQemuFwCfgLib/FdtQemuFwCfgPeiLib.c
create mode 100644 OvmfPkg/LoongArchVirt/Library/FdtQemuFwCfgLib/FdtQemuFwCfgPeiLib.inf
create mode 100644 OvmfPkg/LoongArchVirt/Library/FdtQemuFwCfgLib/QemuFwCfgLibInternal.h
create mode 100644 OvmfPkg/LoongArchVirt/Library/FdtQemuFwCfgLib/QemuFwCfgPei.c
create mode 100644 OvmfPkg/LoongArchVirt/Library/LsRealTimeClockLib/DxeLsRealTimeClockLib.c
create mode 100644 OvmfPkg/LoongArchVirt/Library/LsRealTimeClockLib/DxeLsRealTimeClockLib.inf
create mode 100644 OvmfPkg/LoongArchVirt/Library/LsRealTimeClockLib/LsRealTimeClock.h
create mode 100644 OvmfPkg/LoongArchVirt/Library/LsRealTimeClockLib/PeiLsRealTimeClockLib.c
create mode 100644 OvmfPkg/LoongArchVirt/Library/LsRealTimeClockLib/PeiLsRealTimeClockLib.inf
create mode 100644 OvmfPkg/LoongArchVirt/Library/NorFlashQemuLib/NorFlashQemuLib.c
create mode 100644 OvmfPkg/LoongArchVirt/Library/NorFlashQemuLib/NorFlashQemuLib.inf
create mode 100644 OvmfPkg/LoongArchVirt/Library/ResetSystemAcpiLib/BaseResetSystemAcpiGed.c
create mode 100644 OvmfPkg/LoongArchVirt/Library/ResetSystemAcpiLib/BaseResetSystemAcpiGedLib.inf
create mode 100644 OvmfPkg/LoongArchVirt/Library/ResetSystemAcpiLib/DxeResetSystemAcpiGed.c
create mode 100644 OvmfPkg/LoongArchVirt/Library/ResetSystemAcpiLib/DxeResetSystemAcpiGedLib.inf
create mode 100644 OvmfPkg/LoongArchVirt/Library/ResetSystemAcpiLib/ResetSystemAcpiGed.c
create mode 100644 OvmfPkg/LoongArchVirt/Library/ResetSystemAcpiLib/ResetSystemAcpiGed.h
create mode 100644 OvmfPkg/LoongArchVirt/LoongArchVirt.fdf.inc
create mode 100644 OvmfPkg/LoongArchVirt/LoongArchVirtQemu.dsc
create mode 100644 OvmfPkg/LoongArchVirt/LoongArchVirtQemu.fdf
create mode 100644 OvmfPkg/LoongArchVirt/PlatformPei/Fv.c
create mode 100644 OvmfPkg/LoongArchVirt/PlatformPei/MemDetect.c
create mode 100644 OvmfPkg/LoongArchVirt/PlatformPei/Platform.c
create mode 100644 OvmfPkg/LoongArchVirt/PlatformPei/Platform.h
create mode 100644 OvmfPkg/LoongArchVirt/PlatformPei/PlatformPei.inf
create mode 100644 OvmfPkg/LoongArchVirt/Readme.md
create mode 100644 OvmfPkg/LoongArchVirt/Sec/LoongArch64/Start.S
create mode 100644 OvmfPkg/LoongArchVirt/Sec/SecMain.c
create mode 100644 OvmfPkg/LoongArchVirt/Sec/SecMain.inf
create mode 100644 OvmfPkg/LoongArchVirt/VarStore.fdf.inc
delete mode 100644 OvmfPkg/RiscVVirt/PciCpuIo2Dxe/PciCpuIo2Dxe.c
delete mode 100644 OvmfPkg/RiscVVirt/PciCpuIo2Dxe/PciCpuIo2Dxe.inf
create mode 100644 UefiCpuPkg/CpuDxeLoongArch64/CpuDxe.c
create mode 100644 UefiCpuPkg/CpuDxeLoongArch64/CpuDxe.h
create mode 100644 UefiCpuPkg/CpuDxeLoongArch64/CpuDxe.inf
create mode 100644 UefiCpuPkg/CpuDxeLoongArch64/CpuDxe.uni
create mode 100644 UefiCpuPkg/CpuDxeLoongArch64/CpuMp.c
create mode 100644 UefiCpuPkg/CpuDxeLoongArch64/CpuMp.h
create mode 100644 UefiCpuPkg/CpuDxeLoongArch64/Exception.c
create mode 100644 UefiCpuPkg/Include/Library/CpuMmuLib.h
create mode 100644 UefiCpuPkg/Library/BaseLoongArch64CpuTimerLib/BaseLoongArch64CpuTimerLib.inf
create mode 100644 UefiCpuPkg/Library/BaseLoongArch64CpuTimerLib/BaseLoongArch64CpuTimerLib.uni
create mode 100644 UefiCpuPkg/Library/BaseLoongArch64CpuTimerLib/CpuTimerLib.c
create mode 100644 UefiCpuPkg/Library/LoongArch64CpuExceptionHandlerLib/DxeCpuExceptionHandlerLib.inf
create mode 100644 UefiCpuPkg/Library/LoongArch64CpuExceptionHandlerLib/DxeCpuExceptionHandlerLib.uni
create mode 100644 UefiCpuPkg/Library/LoongArch64CpuExceptionHandlerLib/DxeExceptionLib.c
create mode 100644 UefiCpuPkg/Library/LoongArch64CpuExceptionHandlerLib/ExceptionCommon.c
create mode 100644 UefiCpuPkg/Library/LoongArch64CpuExceptionHandlerLib/ExceptionCommon.h
create mode 100644 UefiCpuPkg/Library/LoongArch64CpuExceptionHandlerLib/LoongArch64/ArchExceptionHandler.c
create mode 100644 UefiCpuPkg/Library/LoongArch64CpuExceptionHandlerLib/LoongArch64/ExceptionHandlerAsm.S
create mode 100644 UefiCpuPkg/Library/LoongArch64CpuExceptionHandlerLib/SecPeiCpuExceptionHandlerLib.inf
create mode 100644 UefiCpuPkg/Library/LoongArch64CpuExceptionHandlerLib/SecPeiCpuExceptionHandlerLib.uni
create mode 100644 UefiCpuPkg/Library/LoongArch64CpuExceptionHandlerLib/SecPeiExceptionLib.c
create mode 100644 UefiCpuPkg/Library/LoongArch64CpuMmuLib/CommonMmuLib.c
create mode 100644 UefiCpuPkg/Library/LoongArch64CpuMmuLib/CommonMmuLib.h
create mode 100644 UefiCpuPkg/Library/LoongArch64CpuMmuLib/DxeCpuMmuLib.inf
create mode 100644 UefiCpuPkg/Library/LoongArch64CpuMmuLib/DxeCpuMmuLib.uni
create mode 100644 UefiCpuPkg/Library/LoongArch64CpuMmuLib/LoongArch64CpuMmuLib/CommonMmuLib.c
create mode 100644 UefiCpuPkg/Library/LoongArch64CpuMmuLib/LoongArch64CpuMmuLib/CommonMmuLib.h
create mode 100644 UefiCpuPkg/Library/LoongArch64CpuMmuLib/LoongArch64CpuMmuLib/DxeCpuMmuLib.inf
create mode 100644 UefiCpuPkg/Library/LoongArch64CpuMmuLib/LoongArch64CpuMmuLib/DxeCpuMmuLib.uni
create mode 100644 UefiCpuPkg/Library/LoongArch64CpuMmuLib/LoongArch64CpuMmuLib/Page.h
create mode 100644 UefiCpuPkg/Library/LoongArch64CpuMmuLib/LoongArch64CpuMmuLib/PeiCpuMmuLib.c
create mode 100644 UefiCpuPkg/Library/LoongArch64CpuMmuLib/LoongArch64CpuMmuLib/PeiCpuMmuLib.inf
create mode 100644 UefiCpuPkg/Library/LoongArch64CpuMmuLib/LoongArch64CpuMmuLib/PeiCpuMmuLib.uni
create mode 100644 UefiCpuPkg/Library/LoongArch64CpuMmuLib/LoongArch64CpuMmuLib/Tlb.h
create mode 100644 UefiCpuPkg/Library/LoongArch64CpuMmuLib/LoongArch64CpuMmuLib/TlbOperation.S
create mode 100644 UefiCpuPkg/Library/LoongArch64CpuMmuLib/Page.h
create mode 100644 UefiCpuPkg/Library/LoongArch64CpuMmuLib/PeiCpuMmuLib.c
create mode 100644 UefiCpuPkg/Library/LoongArch64CpuMmuLib/PeiCpuMmuLib.inf
create mode 100644 UefiCpuPkg/Library/LoongArch64CpuMmuLib/PeiCpuMmuLib.uni
create mode 100644 UefiCpuPkg/Library/LoongArch64CpuMmuLib/Tlb.h
create mode 100644 UefiCpuPkg/Library/LoongArch64CpuMmuLib/TlbOperation.S
create mode 100644 UefiCpuPkg/Library/LoongArch64MpInitLib/DxeMpInitLib.inf
create mode 100644 UefiCpuPkg/Library/LoongArch64MpInitLib/DxeMpInitLib.uni
create mode 100644 UefiCpuPkg/Library/LoongArch64MpInitLib/DxeMpLib.c
create mode 100644 UefiCpuPkg/Library/LoongArch64MpInitLib/MpLib.c
create mode 100644 UefiCpuPkg/Library/LoongArch64MpInitLib/MpLib.h
create mode 100644 UefiCpuPkg/Library/LoongArch64MpInitLib/PeiMpInitLib.inf
create mode 100644 UefiCpuPkg/Library/LoongArch64MpInitLib/PeiMpInitLib.uni
create mode 100644 UefiCpuPkg/Library/LoongArch64MpInitLib/PeiMpLib.c
[edk2-devel] [PATCH v3 00/39] Enable LoongArch virtual machine in edk2
Posted by Chao Li 5 months, 1 week ago
This patch set will enable LoongArch virtual machine in edk2, the new
LoongArch virtual machine is located in OvmfPkg/LoongArchVirt/, it is a
generic platform that dose not require any actual hardware.

Patch1-Patch14: Submit the common library and driver for LoongArch
virtual machine and real hardware. Such as base help functions,
exception handel, MMU library, multiprocessor library etc.

Patch15-Patch16: Add PrePiCpuIoSize for LoongArch64. and move ArmVirtPkg
two PCDs into OvmfPkg for easier use by other architectures.

Patch17-Patch29: LoongArch virtual machine private code, include SEC and
PEI phase code, some library and drivers.

Patch30: Add LoongArchVirt's self introduction-file.

Modfied modues: MdePkg, UefiCpuPkg, EmbeddedPkg, ArmVirtPkg, OvmfPkg.

BZ: https://bugzilla.tianocore.org/show_bug.cgi?id=4584

**Changes from V1 to V2:**
1. Add Ray's Ack signature to patch 13.
2. Add LoongArchVirt's self introduction-file. And made a standalone
patch for this change.

**Changes from V2 to V3:**
Compared with V2, there are 9 more patches, removed 2 libraries and 1
driver from OvmfPkg/LoongArchVrt.

New patches:
MdePkg: Add a new library named PeiServicesTablePointerLibReg
MdePkg: Add method of LoongArch64 to PeiServicesTablePointerLibReg
MdePkg: Add a PCD feature flag named PcdPciIoTranslationIsEnabled
UefiCpuPkg: Add MMIO method in CpuIo2Dxe
ArmVirtPkg: Enable UefiCpuPkg version CpuIo2Dxe
ArmPkg: Remove ArmPciCpuIo2Dxe from ArmPkg
OvmfPkg/RiscVVirt: Enable UefiCpuPkg version CpuIo2Dxe
OvmfPkg/RiscVVirt: Remove PciCpuIo2Dxe from RiscVVirt
ArmVirtPkg: Move the FdtSerialPortAddressLib to OvmfPkg
ArmVirtPkg: Move the PcdTerminalTypeGuidBuffer into OvmfPkg
ArmVirtPkg: Move PlatformBootManagerLib to OvmfPkg

For the review opinion:
1. Add MMIO method to CpuIo2Dxe driver to accommodate more ARCH that
require MMIO method, enable it on ARM, RISCV64 and LOONGARCH64.
Questioner: Gerd, Sunil.

2. Move the FdtSerialProtAddressLib to OvmfPkg and enabled it on ARM and
LOONGARCH64. Questioner: Gerd, Laszlo.

3. Add a new library in MdePkg named PeiServiceTablePointerLibReg for
the Register Mechanism and enabled it on LOONGARCH64. Questioner: Laszlo.

4. Moved the ARM version of PlatformBootManagerLib to OvmfPkg/Library, and
enabled it on ARM and LOONGARCH64. Questioner: Laszlo, Gerd.

5. Adjust the order of some inf file in ArmVirtPkg. Questioner: Sami.

6. Move the CpuMmuLib.h some architecture-specific PTE #defines into
Csr.h. Questioner: Andrei.

Cc: Michael D Kinney <michael.d.kinney@intel.com>
Cc: Liming Gao <gaoliming@byosoft.com.cn>
Cc: Zhiguang Liu <zhiguang.liu@intel.com>
Cc: Eric Dong <eric.dong@intel.com>
Cc: Ray Ni <ray.ni@intel.com>
Cc: Rahul Kumar <rahul1.kumar@intel.com>
Cc: Gerd Hoffmann <kraxel@redhat.com>
Cc: Leif Lindholm <quic_llindhol@quicinc.com>
Cc: Ard Biesheuvel <ardb+tianocore@kernel.org>
Cc: Abner Chang <abner.chang@amd.com>
Cc: Daniel Schaefer <git@danielschaefer.me>
Cc: Sami Mujawar <sami.mujawar@arm.com>
Cc: Jiewen Yao <jiewen.yao@intel.com>
Cc: Jordan Justen <jordan.l.justen@intel.com>
Cc: Andrei Warkentin <andrei.warkentin@intel.com>
Cc: Laszlo Ersek <lersek@redhat.com>
Cc: Sunil V L <sunilvl@ventanamicro.com>

Chao Li (39):
  MdePkg: Add the header file named Csr.h for LoongArch64
  MdePkg: Add LoongArch64 FPU function set into BaseCpuLib
  MdePkg: Add LoongArch64 exception function set into BaseLib
  MdePkg: Add LoongArch64 local interrupt function set into BaseLib
  MdePkg: Add LoongArch Cpucfg function
  MdePkg: Add read stable counter operation for LoongArch
  MdePkg: Add CSR operation for LoongArch
  MdePkg: Add IOCSR operation for LoongArch
  MdePkg: Add a new library named PeiServicesTablePointerLibReg
  MdePkg: Add method of LoongArch64 to PeiServicesTablePointerLibReg
  UefiCpuPkg: Add LoongArch64 CPU Timer library
  UefiCpuPkg: Add CPU exception library for LoongArch
  UefiCpuPkg: Add CpuMmuLib.h to UefiCpuPkg
  UefiCpuPkg: Add LoongArch64CpuMmuLib to UefiCpuPkg
  UefiCpuPkg: Add multiprocessor library for LoongArch64
  UefiCpuPkg: Add CpuDxe driver for LoongArch64
  EmbeddedPkg: Add PcdPrePiCpuIoSize width for LOONGARCH64
  ArmVirtPkg: Move PCD of FDT base address and FDT padding to OvmfPkg
  MdePkg: Add a PCD feature flag named PcdPciIoTranslationIsEnabled
  UefiCpuPkg: Add MMIO method in CpuIo2Dxe
  ArmVirtPkg: Enable UefiCpuPkg version CpuIo2Dxe
  ArmPkg: Remove ArmPciCpuIo2Dxe from ArmPkg
  OvmfPkg/RiscVVirt: Enable UefiCpuPkg version CpuIo2Dxe
  OvmfPkg/RiscVVirt: Remove PciCpuIo2Dxe from RiscVVirt
  ArmVirtPkg: Move the FdtSerialPortAddressLib to OvmfPkg
  ArmVirtPkg: Move the PcdTerminalTypeGuidBuffer into OvmfPkg
  ArmVirtPkg: Move PlatformBootManagerLib to OvmfPkg
  OvmfPkg/LoongArchVirt: Add stable timer driver
  OvmfPkg/LoongArchVirt: Add a NULL library named
    CollectApResouceLibNull
  OvmfPkg/LoongArchVirt: Add serial port hook library
  OvmfPkg/LoongArchVirt: Add the early serial port output library
  OvmfPkg/LoongArchVirt: Add real time clock library
  OvmfPkg/LoongArchVirt: Add NorFlashQemuLib
  OvmfPkg/LoongArchVirt: Add FdtQemuFwCfgLib
  OvmfPkg/LoongArchVirt: Add reset system library
  OvmfPkg/LoongArchVirt: Support SEC phase
  OvmfPkg/LoongArchVirt: Support PEI phase
  OvmfPkg/LoongArchVirt: Add build file
  OvmfPkg/LoongArchVirt: Add self introduction file

 ArmPkg/ArmPkg.dsc                             |    2 -
 .../Drivers/ArmPciCpuIo2Dxe/ArmPciCpuIo2Dxe.c |  556 ------
 .../ArmPciCpuIo2Dxe/ArmPciCpuIo2Dxe.inf       |   47 -
 ArmVirtPkg/ArmVirt.dsc.inc                    |    2 +-
 ArmVirtPkg/ArmVirtCloudHv.dsc                 |    8 +-
 ArmVirtPkg/ArmVirtCloudHv.fdf                 |    2 +-
 ArmVirtPkg/ArmVirtKvmTool.dsc                 |    8 +-
 ArmVirtPkg/ArmVirtKvmTool.fdf                 |    2 +-
 ArmVirtPkg/ArmVirtPkg.dec                     |   21 -
 ArmVirtPkg/ArmVirtQemu.dsc                    |   10 +-
 ArmVirtPkg/ArmVirtQemuFvMain.fdf.inc          |    2 +-
 ArmVirtPkg/ArmVirtQemuKernel.dsc              |   10 +-
 ArmVirtPkg/ArmVirtXen.dsc                     |    4 +-
 .../ArmVirtPsciResetSystemPeiLib.inf          |    3 +-
 .../CloudHvVirtMemInfoPeiLib.inf              |    3 +-
 .../DebugLibFdtPL011UartFlash.inf             |    3 +-
 .../EarlyFdt16550SerialPortHookLib.inf        |    3 +-
 .../EarlyFdtPL011SerialPortLib.inf            |    3 +-
 .../KvmtoolPlatformPeiLib.inf                 |    5 +-
 .../Library/PlatformPeiLib/PlatformPeiLib.inf |   10 +-
 .../QemuVirtMemInfoPeiLib.inf                 |    3 +-
 .../PrePi/ArmVirtPrePiUniCoreRelocatable.inf  |    3 +-
 EmbeddedPkg/EmbeddedPkg.dec                   |    3 +
 MdePkg/Include/Library/BaseLib.h              |  221 +++
 MdePkg/Include/Library/CpuLib.h               |   37 +-
 .../Library/PeiServicesTablePointerLib.h      |   37 +-
 MdePkg/Include/Protocol/DebugSupport.h        |   76 +-
 MdePkg/Include/Register/LoongArch64/Cpucfg.h  |  565 ++++++
 MdePkg/Include/Register/LoongArch64/Csr.h     |  263 +++
 MdePkg/Library/BaseCpuLib/BaseCpuLib.inf      |    7 +-
 .../Library/BaseCpuLib/LoongArch/DisableFpu.S |   17 +
 .../Library/BaseCpuLib/LoongArch/EnableFpu.S  |   17 +
 .../BaseCpuLib/LoongArch/InitializeFpu.S      |   51 +
 MdePkg/Library/BaseLib/BaseLib.inf            |    6 +
 MdePkg/Library/BaseLib/LoongArch64/AsmCsr.S   |  422 +++++
 MdePkg/Library/BaseLib/LoongArch64/Cpucfg.S   |   26 +
 MdePkg/Library/BaseLib/LoongArch64/Csr.c      |   81 +
 .../BaseLib/LoongArch64/DisableInterrupts.S   |   22 +-
 .../BaseLib/LoongArch64/EnableInterrupts.S    |   22 +-
 .../BaseLib/LoongArch64/ExceptionBase.S       |   41 +
 MdePkg/Library/BaseLib/LoongArch64/IoCsr.S    |  120 ++
 .../BaseLib/LoongArch64/ReadStableCounter.S   |   24 +
 .../LoongArch64/PeiServicesTablePointerReg.c  |   47 +
 .../PeiServicesTablePointer.c                 |   86 +
 .../PeiServicesTablePointerLib.uni            |   20 +
 .../PeiServicesTablePointerLibReg.inf         |   43 +
 MdePkg/MdePkg.ci.yaml                         |    3 +-
 MdePkg/MdePkg.dec                             |    6 +
 MdePkg/MdePkg.dsc                             |    1 +
 .../Include/Library/FdtSerialPortAddressLib.h |    0
 .../FdtSerialPortAddressLib.c                 |    0
 .../FdtSerialPortAddressLib.inf               |    2 +-
 .../PlatformBootManagerLibLight}/PlatformBm.c |    0
 .../PlatformBootManagerLibLight}/PlatformBm.h |    0
 .../PlatformBootManagerLib.inf                |    4 +-
 .../PlatformBootManagerLibLight}/QemuKernel.c |    0
 .../Drivers/StableTimerDxe/Timer.c            |  381 ++++
 .../Drivers/StableTimerDxe/Timer.h            |  127 ++
 .../Drivers/StableTimerDxe/TimerDxe.inf       |   41 +
 .../CollectApResourceLibNull.c                |   35 +
 .../CollectApResourceLibNull.inf              |   32 +
 .../CollectApResourceLibNull.uni              |    9 +
 .../EarlyFdtSerialPortLib16550.c              |  816 +++++++++
 .../EarlyFdtSerialPortLib16550.inf            |   47 +
 .../EarlyFdt16550SerialPortHookLib.c          |   55 +
 .../EarlyFdt16550SerialPortHookLib.inf        |   37 +
 .../Fdt16550SerialPortHookLib.c               |   41 +
 .../Fdt16550SerialPortHookLib.inf             |   33 +
 .../Fdt16550SerialPortHookLib.uni             |   13 +
 .../FdtQemuFwCfgLib/FdtQemuFwCfgPeiLib.c      |  505 ++++++
 .../FdtQemuFwCfgLib/FdtQemuFwCfgPeiLib.inf    |   42 +
 .../FdtQemuFwCfgLib/QemuFwCfgLibInternal.h    |   73 +
 .../Library/FdtQemuFwCfgLib/QemuFwCfgPei.c    |  117 ++
 .../DxeLsRealTimeClockLib.c                   |  333 ++++
 .../DxeLsRealTimeClockLib.inf                 |   42 +
 .../LsRealTimeClockLib/LsRealTimeClock.h      |   47 +
 .../PeiLsRealTimeClockLib.c                   |   31 +
 .../PeiLsRealTimeClockLib.inf                 |   29 +
 .../Library/NorFlashQemuLib/NorFlashQemuLib.c |  140 ++
 .../NorFlashQemuLib/NorFlashQemuLib.inf       |   43 +
 .../BaseResetSystemAcpiGed.c                  |  148 ++
 .../BaseResetSystemAcpiGedLib.inf             |   37 +
 .../DxeResetSystemAcpiGed.c                   |  259 +++
 .../DxeResetSystemAcpiGedLib.inf              |   41 +
 .../ResetSystemAcpiLib/ResetSystemAcpiGed.c   |  128 ++
 .../ResetSystemAcpiLib/ResetSystemAcpiGed.h   |   23 +
 OvmfPkg/LoongArchVirt/LoongArchVirt.fdf.inc   |   34 +
 OvmfPkg/LoongArchVirt/LoongArchVirtQemu.dsc   |  679 +++++++
 OvmfPkg/LoongArchVirt/LoongArchVirtQemu.fdf   |  313 ++++
 OvmfPkg/LoongArchVirt/PlatformPei/Fv.c        |   40 +
 OvmfPkg/LoongArchVirt/PlatformPei/MemDetect.c |  201 +++
 OvmfPkg/LoongArchVirt/PlatformPei/Platform.c  |  393 ++++
 OvmfPkg/LoongArchVirt/PlatformPei/Platform.h  |  127 ++
 .../LoongArchVirt/PlatformPei/PlatformPei.inf |   72 +
 OvmfPkg/LoongArchVirt/Readme.md               |   67 +
 OvmfPkg/LoongArchVirt/Sec/LoongArch64/Start.S |  176 ++
 OvmfPkg/LoongArchVirt/Sec/SecMain.c           |  507 ++++++
 OvmfPkg/LoongArchVirt/Sec/SecMain.inf         |   53 +
 OvmfPkg/LoongArchVirt/VarStore.fdf.inc        |   67 +
 OvmfPkg/OvmfPkg.dec                           |   22 +
 OvmfPkg/RiscVVirt/PciCpuIo2Dxe/PciCpuIo2Dxe.c |  557 ------
 .../RiscVVirt/PciCpuIo2Dxe/PciCpuIo2Dxe.inf   |   48 -
 OvmfPkg/RiscVVirt/RiscVVirtQemu.dsc           |    4 +-
 OvmfPkg/RiscVVirt/RiscVVirtQemu.fdf           |    2 +-
 UefiCpuPkg/CpuDxeLoongArch64/CpuDxe.c         |  440 +++++
 UefiCpuPkg/CpuDxeLoongArch64/CpuDxe.h         |  261 +++
 UefiCpuPkg/CpuDxeLoongArch64/CpuDxe.inf       |   60 +
 UefiCpuPkg/CpuDxeLoongArch64/CpuDxe.uni       |   15 +
 UefiCpuPkg/CpuDxeLoongArch64/CpuMp.c          |  544 ++++++
 UefiCpuPkg/CpuDxeLoongArch64/CpuMp.h          |  471 +++++
 UefiCpuPkg/CpuDxeLoongArch64/Exception.c      |  150 ++
 UefiCpuPkg/CpuIo2Dxe/CpuIo2Dxe.c              |  147 +-
 UefiCpuPkg/CpuIo2Dxe/CpuIo2Dxe.h              |    2 +
 UefiCpuPkg/CpuIo2Dxe/CpuIo2Dxe.inf            |    8 +-
 UefiCpuPkg/CpuIo2Dxe/CpuIo2Dxe.uni            |    2 +
 UefiCpuPkg/Include/Library/CpuMmuLib.h        |  155 ++
 .../BaseLoongArch64CpuTimerLib.inf            |   30 +
 .../BaseLoongArch64CpuTimerLib.uni            |   15 +
 .../BaseLoongArch64CpuTimerLib/CpuTimerLib.c  |  226 +++
 .../DxeCpuExceptionHandlerLib.inf             |   45 +
 .../DxeCpuExceptionHandlerLib.uni             |   15 +
 .../DxeExceptionLib.c                         |  202 +++
 .../ExceptionCommon.c                         |  170 ++
 .../ExceptionCommon.h                         |  111 ++
 .../LoongArch64/ArchExceptionHandler.c        |  214 +++
 .../LoongArch64/ExceptionHandlerAsm.S         |  320 ++++
 .../SecPeiCpuExceptionHandlerLib.inf          |   45 +
 .../SecPeiCpuExceptionHandlerLib.uni          |   15 +
 .../SecPeiExceptionLib.c                      |   90 +
 .../LoongArch64CpuMmuLib/CommonMmuLib.c       |  965 ++++++++++
 .../LoongArch64CpuMmuLib/CommonMmuLib.h       |   43 +
 .../LoongArch64CpuMmuLib/DxeCpuMmuLib.inf     |   37 +
 .../LoongArch64CpuMmuLib/DxeCpuMmuLib.uni     |   14 +
 .../LoongArch64CpuMmuLib/CommonMmuLib.c       |  964 ++++++++++
 .../LoongArch64CpuMmuLib/CommonMmuLib.h       |   43 +
 .../LoongArch64CpuMmuLib/DxeCpuMmuLib.inf     |   37 +
 .../LoongArch64CpuMmuLib/DxeCpuMmuLib.uni     |   14 +
 .../LoongArch64CpuMmuLib/Page.h               |  279 +++
 .../LoongArch64CpuMmuLib/PeiCpuMmuLib.c       |  165 ++
 .../LoongArch64CpuMmuLib/PeiCpuMmuLib.inf     |   44 +
 .../LoongArch64CpuMmuLib/PeiCpuMmuLib.uni     |   14 +
 .../LoongArch64CpuMmuLib/Tlb.h                |   48 +
 .../LoongArch64CpuMmuLib/TlbOperation.S       |   44 +
 .../Library/LoongArch64CpuMmuLib/Page.h       |  279 +++
 .../LoongArch64CpuMmuLib/PeiCpuMmuLib.c       |  165 ++
 .../LoongArch64CpuMmuLib/PeiCpuMmuLib.inf     |   44 +
 .../LoongArch64CpuMmuLib/PeiCpuMmuLib.uni     |   14 +
 UefiCpuPkg/Library/LoongArch64CpuMmuLib/Tlb.h |   48 +
 .../LoongArch64CpuMmuLib/TlbOperation.S       |   44 +
 .../LoongArch64MpInitLib/DxeMpInitLib.inf     |   45 +
 .../LoongArch64MpInitLib/DxeMpInitLib.uni     |   15 +
 .../Library/LoongArch64MpInitLib/DxeMpLib.c   |  481 +++++
 .../Library/LoongArch64MpInitLib/MpLib.c      | 1596 +++++++++++++++++
 .../Library/LoongArch64MpInitLib/MpLib.h      |  361 ++++
 .../LoongArch64MpInitLib/PeiMpInitLib.inf     |   37 +
 .../LoongArch64MpInitLib/PeiMpInitLib.uni     |   15 +
 .../Library/LoongArch64MpInitLib/PeiMpLib.c   |  404 +++++
 UefiCpuPkg/UefiCpuPkg.dec                     |   10 +
 UefiCpuPkg/UefiCpuPkg.dsc                     |   10 +
 159 files changed, 18704 insertions(+), 1375 deletions(-)
 delete mode 100644 ArmPkg/Drivers/ArmPciCpuIo2Dxe/ArmPciCpuIo2Dxe.c
 delete mode 100644 ArmPkg/Drivers/ArmPciCpuIo2Dxe/ArmPciCpuIo2Dxe.inf
 create mode 100644 MdePkg/Include/Register/LoongArch64/Cpucfg.h
 create mode 100644 MdePkg/Include/Register/LoongArch64/Csr.h
 create mode 100644 MdePkg/Library/BaseCpuLib/LoongArch/DisableFpu.S
 create mode 100644 MdePkg/Library/BaseCpuLib/LoongArch/EnableFpu.S
 create mode 100644 MdePkg/Library/BaseCpuLib/LoongArch/InitializeFpu.S
 create mode 100644 MdePkg/Library/BaseLib/LoongArch64/AsmCsr.S
 create mode 100644 MdePkg/Library/BaseLib/LoongArch64/Cpucfg.S
 create mode 100644 MdePkg/Library/BaseLib/LoongArch64/Csr.c
 create mode 100644 MdePkg/Library/BaseLib/LoongArch64/ExceptionBase.S
 create mode 100644 MdePkg/Library/BaseLib/LoongArch64/IoCsr.S
 create mode 100644 MdePkg/Library/BaseLib/LoongArch64/ReadStableCounter.S
 create mode 100644 MdePkg/Library/PeiServicesTablePointerLibReg/LoongArch64/PeiServicesTablePointerReg.c
 create mode 100644 MdePkg/Library/PeiServicesTablePointerLibReg/PeiServicesTablePointer.c
 create mode 100644 MdePkg/Library/PeiServicesTablePointerLibReg/PeiServicesTablePointerLib.uni
 create mode 100644 MdePkg/Library/PeiServicesTablePointerLibReg/PeiServicesTablePointerLibReg.inf
 rename {ArmVirtPkg => OvmfPkg}/Include/Library/FdtSerialPortAddressLib.h (100%)
 rename {ArmVirtPkg => OvmfPkg}/Library/FdtSerialPortAddressLib/FdtSerialPortAddressLib.c (100%)
 rename {ArmVirtPkg => OvmfPkg}/Library/FdtSerialPortAddressLib/FdtSerialPortAddressLib.inf (90%)
 rename {ArmVirtPkg/Library/PlatformBootManagerLib => OvmfPkg/Library/PlatformBootManagerLibLight}/PlatformBm.c (100%)
 rename {ArmVirtPkg/Library/PlatformBootManagerLib => OvmfPkg/Library/PlatformBootManagerLibLight}/PlatformBm.h (100%)
 rename {ArmVirtPkg/Library/PlatformBootManagerLib => OvmfPkg/Library/PlatformBootManagerLibLight}/PlatformBootManagerLib.inf (90%)
 rename {ArmVirtPkg/Library/PlatformBootManagerLib => OvmfPkg/Library/PlatformBootManagerLibLight}/QemuKernel.c (100%)
 create mode 100644 OvmfPkg/LoongArchVirt/Drivers/StableTimerDxe/Timer.c
 create mode 100644 OvmfPkg/LoongArchVirt/Drivers/StableTimerDxe/Timer.h
 create mode 100644 OvmfPkg/LoongArchVirt/Drivers/StableTimerDxe/TimerDxe.inf
 create mode 100644 OvmfPkg/LoongArchVirt/Library/CollectApResouceLibNull/CollectApResourceLibNull.c
 create mode 100644 OvmfPkg/LoongArchVirt/Library/CollectApResouceLibNull/CollectApResourceLibNull.inf
 create mode 100644 OvmfPkg/LoongArchVirt/Library/CollectApResouceLibNull/CollectApResourceLibNull.uni
 create mode 100644 OvmfPkg/LoongArchVirt/Library/EarlyFdtSerialPortLib16550/EarlyFdtSerialPortLib16550.c
 create mode 100644 OvmfPkg/LoongArchVirt/Library/EarlyFdtSerialPortLib16550/EarlyFdtSerialPortLib16550.inf
 create mode 100644 OvmfPkg/LoongArchVirt/Library/Fdt16550SerialPortHookLib/EarlyFdt16550SerialPortHookLib.c
 create mode 100644 OvmfPkg/LoongArchVirt/Library/Fdt16550SerialPortHookLib/EarlyFdt16550SerialPortHookLib.inf
 create mode 100644 OvmfPkg/LoongArchVirt/Library/Fdt16550SerialPortHookLib/Fdt16550SerialPortHookLib.c
 create mode 100644 OvmfPkg/LoongArchVirt/Library/Fdt16550SerialPortHookLib/Fdt16550SerialPortHookLib.inf
 create mode 100644 OvmfPkg/LoongArchVirt/Library/Fdt16550SerialPortHookLib/Fdt16550SerialPortHookLib.uni
 create mode 100644 OvmfPkg/LoongArchVirt/Library/FdtQemuFwCfgLib/FdtQemuFwCfgPeiLib.c
 create mode 100644 OvmfPkg/LoongArchVirt/Library/FdtQemuFwCfgLib/FdtQemuFwCfgPeiLib.inf
 create mode 100644 OvmfPkg/LoongArchVirt/Library/FdtQemuFwCfgLib/QemuFwCfgLibInternal.h
 create mode 100644 OvmfPkg/LoongArchVirt/Library/FdtQemuFwCfgLib/QemuFwCfgPei.c
 create mode 100644 OvmfPkg/LoongArchVirt/Library/LsRealTimeClockLib/DxeLsRealTimeClockLib.c
 create mode 100644 OvmfPkg/LoongArchVirt/Library/LsRealTimeClockLib/DxeLsRealTimeClockLib.inf
 create mode 100644 OvmfPkg/LoongArchVirt/Library/LsRealTimeClockLib/LsRealTimeClock.h
 create mode 100644 OvmfPkg/LoongArchVirt/Library/LsRealTimeClockLib/PeiLsRealTimeClockLib.c
 create mode 100644 OvmfPkg/LoongArchVirt/Library/LsRealTimeClockLib/PeiLsRealTimeClockLib.inf
 create mode 100644 OvmfPkg/LoongArchVirt/Library/NorFlashQemuLib/NorFlashQemuLib.c
 create mode 100644 OvmfPkg/LoongArchVirt/Library/NorFlashQemuLib/NorFlashQemuLib.inf
 create mode 100644 OvmfPkg/LoongArchVirt/Library/ResetSystemAcpiLib/BaseResetSystemAcpiGed.c
 create mode 100644 OvmfPkg/LoongArchVirt/Library/ResetSystemAcpiLib/BaseResetSystemAcpiGedLib.inf
 create mode 100644 OvmfPkg/LoongArchVirt/Library/ResetSystemAcpiLib/DxeResetSystemAcpiGed.c
 create mode 100644 OvmfPkg/LoongArchVirt/Library/ResetSystemAcpiLib/DxeResetSystemAcpiGedLib.inf
 create mode 100644 OvmfPkg/LoongArchVirt/Library/ResetSystemAcpiLib/ResetSystemAcpiGed.c
 create mode 100644 OvmfPkg/LoongArchVirt/Library/ResetSystemAcpiLib/ResetSystemAcpiGed.h
 create mode 100644 OvmfPkg/LoongArchVirt/LoongArchVirt.fdf.inc
 create mode 100644 OvmfPkg/LoongArchVirt/LoongArchVirtQemu.dsc
 create mode 100644 OvmfPkg/LoongArchVirt/LoongArchVirtQemu.fdf
 create mode 100644 OvmfPkg/LoongArchVirt/PlatformPei/Fv.c
 create mode 100644 OvmfPkg/LoongArchVirt/PlatformPei/MemDetect.c
 create mode 100644 OvmfPkg/LoongArchVirt/PlatformPei/Platform.c
 create mode 100644 OvmfPkg/LoongArchVirt/PlatformPei/Platform.h
 create mode 100644 OvmfPkg/LoongArchVirt/PlatformPei/PlatformPei.inf
 create mode 100644 OvmfPkg/LoongArchVirt/Readme.md
 create mode 100644 OvmfPkg/LoongArchVirt/Sec/LoongArch64/Start.S
 create mode 100644 OvmfPkg/LoongArchVirt/Sec/SecMain.c
 create mode 100644 OvmfPkg/LoongArchVirt/Sec/SecMain.inf
 create mode 100644 OvmfPkg/LoongArchVirt/VarStore.fdf.inc
 delete mode 100644 OvmfPkg/RiscVVirt/PciCpuIo2Dxe/PciCpuIo2Dxe.c
 delete mode 100644 OvmfPkg/RiscVVirt/PciCpuIo2Dxe/PciCpuIo2Dxe.inf
 create mode 100644 UefiCpuPkg/CpuDxeLoongArch64/CpuDxe.c
 create mode 100644 UefiCpuPkg/CpuDxeLoongArch64/CpuDxe.h
 create mode 100644 UefiCpuPkg/CpuDxeLoongArch64/CpuDxe.inf
 create mode 100644 UefiCpuPkg/CpuDxeLoongArch64/CpuDxe.uni
 create mode 100644 UefiCpuPkg/CpuDxeLoongArch64/CpuMp.c
 create mode 100644 UefiCpuPkg/CpuDxeLoongArch64/CpuMp.h
 create mode 100644 UefiCpuPkg/CpuDxeLoongArch64/Exception.c
 create mode 100644 UefiCpuPkg/Include/Library/CpuMmuLib.h
 create mode 100644 UefiCpuPkg/Library/BaseLoongArch64CpuTimerLib/BaseLoongArch64CpuTimerLib.inf
 create mode 100644 UefiCpuPkg/Library/BaseLoongArch64CpuTimerLib/BaseLoongArch64CpuTimerLib.uni
 create mode 100644 UefiCpuPkg/Library/BaseLoongArch64CpuTimerLib/CpuTimerLib.c
 create mode 100644 UefiCpuPkg/Library/LoongArch64CpuExceptionHandlerLib/DxeCpuExceptionHandlerLib.inf
 create mode 100644 UefiCpuPkg/Library/LoongArch64CpuExceptionHandlerLib/DxeCpuExceptionHandlerLib.uni
 create mode 100644 UefiCpuPkg/Library/LoongArch64CpuExceptionHandlerLib/DxeExceptionLib.c
 create mode 100644 UefiCpuPkg/Library/LoongArch64CpuExceptionHandlerLib/ExceptionCommon.c
 create mode 100644 UefiCpuPkg/Library/LoongArch64CpuExceptionHandlerLib/ExceptionCommon.h
 create mode 100644 UefiCpuPkg/Library/LoongArch64CpuExceptionHandlerLib/LoongArch64/ArchExceptionHandler.c
 create mode 100644 UefiCpuPkg/Library/LoongArch64CpuExceptionHandlerLib/LoongArch64/ExceptionHandlerAsm.S
 create mode 100644 UefiCpuPkg/Library/LoongArch64CpuExceptionHandlerLib/SecPeiCpuExceptionHandlerLib.inf
 create mode 100644 UefiCpuPkg/Library/LoongArch64CpuExceptionHandlerLib/SecPeiCpuExceptionHandlerLib.uni
 create mode 100644 UefiCpuPkg/Library/LoongArch64CpuExceptionHandlerLib/SecPeiExceptionLib.c
 create mode 100644 UefiCpuPkg/Library/LoongArch64CpuMmuLib/CommonMmuLib.c
 create mode 100644 UefiCpuPkg/Library/LoongArch64CpuMmuLib/CommonMmuLib.h
 create mode 100644 UefiCpuPkg/Library/LoongArch64CpuMmuLib/DxeCpuMmuLib.inf
 create mode 100644 UefiCpuPkg/Library/LoongArch64CpuMmuLib/DxeCpuMmuLib.uni
 create mode 100644 UefiCpuPkg/Library/LoongArch64CpuMmuLib/LoongArch64CpuMmuLib/CommonMmuLib.c
 create mode 100644 UefiCpuPkg/Library/LoongArch64CpuMmuLib/LoongArch64CpuMmuLib/CommonMmuLib.h
 create mode 100644 UefiCpuPkg/Library/LoongArch64CpuMmuLib/LoongArch64CpuMmuLib/DxeCpuMmuLib.inf
 create mode 100644 UefiCpuPkg/Library/LoongArch64CpuMmuLib/LoongArch64CpuMmuLib/DxeCpuMmuLib.uni
 create mode 100644 UefiCpuPkg/Library/LoongArch64CpuMmuLib/LoongArch64CpuMmuLib/Page.h
 create mode 100644 UefiCpuPkg/Library/LoongArch64CpuMmuLib/LoongArch64CpuMmuLib/PeiCpuMmuLib.c
 create mode 100644 UefiCpuPkg/Library/LoongArch64CpuMmuLib/LoongArch64CpuMmuLib/PeiCpuMmuLib.inf
 create mode 100644 UefiCpuPkg/Library/LoongArch64CpuMmuLib/LoongArch64CpuMmuLib/PeiCpuMmuLib.uni
 create mode 100644 UefiCpuPkg/Library/LoongArch64CpuMmuLib/LoongArch64CpuMmuLib/Tlb.h
 create mode 100644 UefiCpuPkg/Library/LoongArch64CpuMmuLib/LoongArch64CpuMmuLib/TlbOperation.S
 create mode 100644 UefiCpuPkg/Library/LoongArch64CpuMmuLib/Page.h
 create mode 100644 UefiCpuPkg/Library/LoongArch64CpuMmuLib/PeiCpuMmuLib.c
 create mode 100644 UefiCpuPkg/Library/LoongArch64CpuMmuLib/PeiCpuMmuLib.inf
 create mode 100644 UefiCpuPkg/Library/LoongArch64CpuMmuLib/PeiCpuMmuLib.uni
 create mode 100644 UefiCpuPkg/Library/LoongArch64CpuMmuLib/Tlb.h
 create mode 100644 UefiCpuPkg/Library/LoongArch64CpuMmuLib/TlbOperation.S
 create mode 100644 UefiCpuPkg/Library/LoongArch64MpInitLib/DxeMpInitLib.inf
 create mode 100644 UefiCpuPkg/Library/LoongArch64MpInitLib/DxeMpInitLib.uni
 create mode 100644 UefiCpuPkg/Library/LoongArch64MpInitLib/DxeMpLib.c
 create mode 100644 UefiCpuPkg/Library/LoongArch64MpInitLib/MpLib.c
 create mode 100644 UefiCpuPkg/Library/LoongArch64MpInitLib/MpLib.h
 create mode 100644 UefiCpuPkg/Library/LoongArch64MpInitLib/PeiMpInitLib.inf
 create mode 100644 UefiCpuPkg/Library/LoongArch64MpInitLib/PeiMpInitLib.uni
 create mode 100644 UefiCpuPkg/Library/LoongArch64MpInitLib/PeiMpLib.c

-- 
2.27.0



-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#111353): https://edk2.groups.io/g/devel/message/111353
Mute This Topic: https://groups.io/mt/102644735/1787277
Group Owner: devel+owner@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub [importer@patchew.org]
-=-=-=-=-=-=-=-=-=-=-=-