public inbox for devel@edk2.groups.io
 help / color / mirror / Atom feed
From: "xianglai" <lixianglai@loongson.cn>
To: devel@edk2.groups.io
Subject: [edk2-platforms][PATCH V1 00/15] Platform: Add Loongson support
Date: Wed,  2 Mar 2022 03:44:32 -0500	[thread overview]
Message-ID: <20220302084447.2991355-1-lixianglai@loongson.cn> (raw)

The uploaded code generates firmware to support Linux launching on the LoongArch platform under qemu,
So it will run in a virtual machine.

 LoongArch is the general processor architecture of Loongson.
 You can get the latest LoongArch documents or LoongArch tools at https://github.com/loongson/.

xianglai li (15):
  Platform/Loongson: Add Serial Port library
  Platform/Loongson: Support SEC And Add Readme.md
  Platform/Loongson: Add PeiServicesTablePointerLib.
  Platform/Loongson: Add QemuFwCfgLib.
  Platform/Loongson: Add BpiLib.
  Platform/Loongson: Add MmuLib.
  Platform/Loongson: Add StableTimerLib.
  Platform/Loongson: Support PEI phase.
  Platform/Loongson: Add CPU DXE driver.
  Platform/Loongson: Add PciCpuIoDxe driver.
  Platform/Loongson:  Add timer Dxe driver.
  Platform/Loongson: Add RealTime Clock lib.
  Platform/Loongson: Add Platform Boot Manager Lib.
  Platform/Loongson: Add Reset System Lib.
  Platform/Loongson: Support Dxe

 .../LoongArchQemuPkg/Drivers/CpuDxe/CpuDxe.c  | 382 +++++++++
 .../LoongArchQemuPkg/Drivers/CpuDxe/CpuDxe.h  | 153 ++++
 .../Drivers/CpuDxe/CpuDxe.inf                 |  56 ++
 .../Drivers/CpuDxe/LoongArch64/Exception.c    | 337 ++++++++
 .../Drivers/CpuDxe/LoongArch64/Fpu.S          |  67 ++
 .../Drivers/CpuDxe/LoongArch64/LoongArch.S    | 288 +++++++
 .../Drivers/PciCpuIo2Dxe/PciCpuIo2Dxe.c       | 548 ++++++++++++
 .../Drivers/PciCpuIo2Dxe/PciCpuIo2Dxe.h       | 219 +++++
 .../Drivers/PciCpuIo2Dxe/PciCpuIo2Dxe.inf     |  40 +
 .../Drivers/StableTimerDxe/Timer.c            | 405 +++++++++
 .../Drivers/StableTimerDxe/Timer.h            | 166 ++++
 .../Drivers/StableTimerDxe/TimerDxe.inf       |  40 +
 .../Include/IndustryStandard/QemuFwCfg.h      |  95 +++
 .../LoongArchQemuPkg/Include/Library/Bpi.h    |  77 ++
 .../LoongArchQemuPkg/Include/Library/Cpu.h    | 344 ++++++++
 .../LoongArchQemuPkg/Include/Library/MmuLib.h |  85 ++
 .../Include/Library/QemuFwCfgLib.h            | 179 ++++
 .../Include/Library/StableTimer.h             |  42 +
 .../Include/LoongArchAsmMacro.h               |  23 +
 .../Include/LoongArchQemuPlatform.h           | 103 +++
 .../LoongArchQemuPkg/Library/BpiLib/Bpi.c     | 492 +++++++++++
 .../Library/BpiLib/BpiLib.inf                 |  38 +
 .../LsRealTimeClockLib/LsRealTimeClock.h      |  41 +
 .../LsRealTimeClockLib/LsRealTimeClockLib.c   | 343 ++++++++
 .../LsRealTimeClockLib/LsRealTimeClockLib.inf |  41 +
 .../LoongArchQemuPkg/Library/MmuLib/Mmu.S     |  35 +
 .../Library/MmuLib/MmuBaseLib.inf             |  35 +
 .../Library/MmuLib/MmuBaseLibPei.inf          |  45 +
 .../Library/MmuLib/MmuLibCore.c               | 790 ++++++++++++++++++
 .../Library/MmuLib/MmuLibCore.h               |  39 +
 .../Library/MmuLib/MmuLibCorePei.c            | 237 ++++++
 .../LoongArchQemuPkg/Library/MmuLib/mmu.h     | 101 +++
 .../LoongArchQemuPkg/Library/MmuLib/page.h    | 267 ++++++
 .../LoongArchQemuPkg/Library/MmuLib/pte.h     |  57 ++
 .../PeiServicesTablePointer.c                 |  78 ++
 .../PeiServicesTablePointerLib.inf            |  32 +
 .../PlatformBootManagerLib/PlatformBm.c       | 761 +++++++++++++++++
 .../PlatformBootManagerLib/PlatformBm.h       | 126 +++
 .../PlatformBootManagerLib.inf                |  78 ++
 .../PlatformBootManagerLib/QemuKernel.c       | 449 ++++++++++
 .../Library/QemuFwCfgLib/QemuFwCfg.c          | 119 +++
 .../Library/QemuFwCfgLib/QemuFwCfgLib.c       | 477 +++++++++++
 .../Library/QemuFwCfgLib/QemuFwCfgLib.inf     |  44 +
 .../QemuFwCfgLib/QemuFwCfgLibInternal.h       |  64 ++
 .../Library/ResetSystemLib/ResetSystemLib.c   | 155 ++++
 .../Library/ResetSystemLib/ResetSystemLib.inf |  40 +
 .../Library/SerialPortLib/SerialPortLib.c     | 614 ++++++++++++++
 .../Library/SerialPortLib/SerialPortLib.inf   |  36 +
 .../Library/StableTimerLib/Count.S            |  26 +
 .../Library/StableTimerLib/TimerLib.c         | 262 ++++++
 .../Library/StableTimerLib/TimerLib.inf       |  28 +
 .../Loongson/LoongArchQemuPkg/Loongson.dec    |  72 ++
 .../Loongson/LoongArchQemuPkg/Loongson.dsc    | 578 +++++++++++++
 .../Loongson/LoongArchQemuPkg/Loongson.fdf    | 345 ++++++++
 .../LoongArchQemuPkg/Loongson.fdf.inc         |  62 ++
 .../LoongArchQemuPkg/PlatformPei/Fv.c         |  61 ++
 .../LoongArchQemuPkg/PlatformPei/MemDetect.c  | 116 +++
 .../LoongArchQemuPkg/PlatformPei/Platform.c   | 264 ++++++
 .../LoongArchQemuPkg/PlatformPei/Platform.h   |  87 ++
 .../PlatformPei/PlatformPei.inf               |  72 ++
 Platform/Loongson/LoongArchQemuPkg/Readme.md  |  53 ++
 .../LoongArchQemuPkg/Sec/LoongArch64/Start.S  |  76 ++
 .../Loongson/LoongArchQemuPkg/Sec/SecMain.c   | 510 +++++++++++
 .../Loongson/LoongArchQemuPkg/Sec/SecMain.inf |  49 ++
 .../LoongArchQemuPkg/VarStore.fdf.inc         |  64 ++
 Readme.md                                     |   9 +
 66 files changed, 12017 insertions(+)
 create mode 100644 Platform/Loongson/LoongArchQemuPkg/Drivers/CpuDxe/CpuDxe.c
 create mode 100644 Platform/Loongson/LoongArchQemuPkg/Drivers/CpuDxe/CpuDxe.h
 create mode 100644 Platform/Loongson/LoongArchQemuPkg/Drivers/CpuDxe/CpuDxe.inf
 create mode 100644 Platform/Loongson/LoongArchQemuPkg/Drivers/CpuDxe/LoongArch64/Exception.c
 create mode 100644 Platform/Loongson/LoongArchQemuPkg/Drivers/CpuDxe/LoongArch64/Fpu.S
 create mode 100644 Platform/Loongson/LoongArchQemuPkg/Drivers/CpuDxe/LoongArch64/LoongArch.S
 create mode 100644 Platform/Loongson/LoongArchQemuPkg/Drivers/PciCpuIo2Dxe/PciCpuIo2Dxe.c
 create mode 100644 Platform/Loongson/LoongArchQemuPkg/Drivers/PciCpuIo2Dxe/PciCpuIo2Dxe.h
 create mode 100644 Platform/Loongson/LoongArchQemuPkg/Drivers/PciCpuIo2Dxe/PciCpuIo2Dxe.inf
 create mode 100644 Platform/Loongson/LoongArchQemuPkg/Drivers/StableTimerDxe/Timer.c
 create mode 100644 Platform/Loongson/LoongArchQemuPkg/Drivers/StableTimerDxe/Timer.h
 create mode 100644 Platform/Loongson/LoongArchQemuPkg/Drivers/StableTimerDxe/TimerDxe.inf
 create mode 100644 Platform/Loongson/LoongArchQemuPkg/Include/IndustryStandard/QemuFwCfg.h
 create mode 100644 Platform/Loongson/LoongArchQemuPkg/Include/Library/Bpi.h
 create mode 100644 Platform/Loongson/LoongArchQemuPkg/Include/Library/Cpu.h
 create mode 100644 Platform/Loongson/LoongArchQemuPkg/Include/Library/MmuLib.h
 create mode 100644 Platform/Loongson/LoongArchQemuPkg/Include/Library/QemuFwCfgLib.h
 create mode 100644 Platform/Loongson/LoongArchQemuPkg/Include/Library/StableTimer.h
 create mode 100644 Platform/Loongson/LoongArchQemuPkg/Include/LoongArchAsmMacro.h
 create mode 100644 Platform/Loongson/LoongArchQemuPkg/Include/LoongArchQemuPlatform.h
 create mode 100644 Platform/Loongson/LoongArchQemuPkg/Library/BpiLib/Bpi.c
 create mode 100644 Platform/Loongson/LoongArchQemuPkg/Library/BpiLib/BpiLib.inf
 create mode 100644 Platform/Loongson/LoongArchQemuPkg/Library/LsRealTimeClockLib/LsRealTimeClock.h
 create mode 100644 Platform/Loongson/LoongArchQemuPkg/Library/LsRealTimeClockLib/LsRealTimeClockLib.c
 create mode 100644 Platform/Loongson/LoongArchQemuPkg/Library/LsRealTimeClockLib/LsRealTimeClockLib.inf
 create mode 100644 Platform/Loongson/LoongArchQemuPkg/Library/MmuLib/Mmu.S
 create mode 100644 Platform/Loongson/LoongArchQemuPkg/Library/MmuLib/MmuBaseLib.inf
 create mode 100644 Platform/Loongson/LoongArchQemuPkg/Library/MmuLib/MmuBaseLibPei.inf
 create mode 100644 Platform/Loongson/LoongArchQemuPkg/Library/MmuLib/MmuLibCore.c
 create mode 100644 Platform/Loongson/LoongArchQemuPkg/Library/MmuLib/MmuLibCore.h
 create mode 100644 Platform/Loongson/LoongArchQemuPkg/Library/MmuLib/MmuLibCorePei.c
 create mode 100644 Platform/Loongson/LoongArchQemuPkg/Library/MmuLib/mmu.h
 create mode 100644 Platform/Loongson/LoongArchQemuPkg/Library/MmuLib/page.h
 create mode 100644 Platform/Loongson/LoongArchQemuPkg/Library/MmuLib/pte.h
 create mode 100644 Platform/Loongson/LoongArchQemuPkg/Library/PeiServicesTablePointerLib/PeiServicesTablePointer.c
 create mode 100644 Platform/Loongson/LoongArchQemuPkg/Library/PeiServicesTablePointerLib/PeiServicesTablePointerLib.inf
 create mode 100644 Platform/Loongson/LoongArchQemuPkg/Library/PlatformBootManagerLib/PlatformBm.c
 create mode 100644 Platform/Loongson/LoongArchQemuPkg/Library/PlatformBootManagerLib/PlatformBm.h
 create mode 100644 Platform/Loongson/LoongArchQemuPkg/Library/PlatformBootManagerLib/PlatformBootManagerLib.inf
 create mode 100644 Platform/Loongson/LoongArchQemuPkg/Library/PlatformBootManagerLib/QemuKernel.c
 create mode 100644 Platform/Loongson/LoongArchQemuPkg/Library/QemuFwCfgLib/QemuFwCfg.c
 create mode 100644 Platform/Loongson/LoongArchQemuPkg/Library/QemuFwCfgLib/QemuFwCfgLib.c
 create mode 100644 Platform/Loongson/LoongArchQemuPkg/Library/QemuFwCfgLib/QemuFwCfgLib.inf
 create mode 100644 Platform/Loongson/LoongArchQemuPkg/Library/QemuFwCfgLib/QemuFwCfgLibInternal.h
 create mode 100644 Platform/Loongson/LoongArchQemuPkg/Library/ResetSystemLib/ResetSystemLib.c
 create mode 100644 Platform/Loongson/LoongArchQemuPkg/Library/ResetSystemLib/ResetSystemLib.inf
 create mode 100644 Platform/Loongson/LoongArchQemuPkg/Library/SerialPortLib/SerialPortLib.c
 create mode 100644 Platform/Loongson/LoongArchQemuPkg/Library/SerialPortLib/SerialPortLib.inf
 create mode 100644 Platform/Loongson/LoongArchQemuPkg/Library/StableTimerLib/Count.S
 create mode 100644 Platform/Loongson/LoongArchQemuPkg/Library/StableTimerLib/TimerLib.c
 create mode 100644 Platform/Loongson/LoongArchQemuPkg/Library/StableTimerLib/TimerLib.inf
 create mode 100644 Platform/Loongson/LoongArchQemuPkg/Loongson.dec
 create mode 100644 Platform/Loongson/LoongArchQemuPkg/Loongson.dsc
 create mode 100644 Platform/Loongson/LoongArchQemuPkg/Loongson.fdf
 create mode 100644 Platform/Loongson/LoongArchQemuPkg/Loongson.fdf.inc
 create mode 100644 Platform/Loongson/LoongArchQemuPkg/PlatformPei/Fv.c
 create mode 100644 Platform/Loongson/LoongArchQemuPkg/PlatformPei/MemDetect.c
 create mode 100644 Platform/Loongson/LoongArchQemuPkg/PlatformPei/Platform.c
 create mode 100644 Platform/Loongson/LoongArchQemuPkg/PlatformPei/Platform.h
 create mode 100644 Platform/Loongson/LoongArchQemuPkg/PlatformPei/PlatformPei.inf
 create mode 100644 Platform/Loongson/LoongArchQemuPkg/Readme.md
 create mode 100644 Platform/Loongson/LoongArchQemuPkg/Sec/LoongArch64/Start.S
 create mode 100644 Platform/Loongson/LoongArchQemuPkg/Sec/SecMain.c
 create mode 100644 Platform/Loongson/LoongArchQemuPkg/Sec/SecMain.inf
 create mode 100644 Platform/Loongson/LoongArchQemuPkg/VarStore.fdf.inc

-- 
2.27.0


             reply	other threads:[~2022-03-02  8:45 UTC|newest]

Thread overview: 16+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-03-02  8:44 xianglai [this message]
2022-03-02  8:44 ` [edk2-platforms][PATCH V1 01/15] Platform/Loongson: Add Serial Port library xianglai
2022-03-02  8:44 ` [edk2-platforms][PATCH V1 02/15] Platform/Loongson: Support SEC And Add Readme.md xianglai
2022-03-02  8:44 ` [edk2-platforms][PATCH V1 03/15] Platform/Loongson: Add PeiServicesTablePointerLib xianglai
2022-03-02  8:44 ` [edk2-platforms][PATCH V1 04/15] Platform/Loongson: Add QemuFwCfgLib xianglai
2022-03-02  8:44 ` [edk2-platforms][PATCH V1 05/15] Platform/Loongson: Add BpiLib xianglai
2022-03-02  8:44 ` [edk2-platforms][PATCH V1 06/15] Platform/Loongson: Add MmuLib xianglai
2022-03-02  8:44 ` [edk2-platforms][PATCH V1 07/15] Platform/Loongson: Add StableTimerLib xianglai
2022-03-02  8:44 ` [edk2-platforms][PATCH V1 08/15] Platform/Loongson: Support PEI phase xianglai
2022-03-02  8:44 ` [edk2-platforms][PATCH V1 09/15] Platform/Loongson: Add CPU DXE driver xianglai
2022-03-02  8:44 ` [edk2-platforms][PATCH V1 10/15] Platform/Loongson: Add PciCpuIoDxe driver xianglai
2022-03-02  8:44 ` [edk2-platforms][PATCH V1 11/15] Platform/Loongson: Add timer Dxe driver xianglai
2022-03-02  8:44 ` [edk2-platforms][PATCH V1 12/15] Platform/Loongson: Add RealTime Clock lib xianglai
2022-03-02  8:44 ` [edk2-platforms][PATCH V1 13/15] Platform/Loongson: Add Platform Boot Manager Lib xianglai
2022-03-02  8:44 ` [edk2-platforms][PATCH V1 14/15] Platform/Loongson: Add Reset System Lib xianglai
2022-03-02  8:44 ` [edk2-platforms][PATCH V1 15/15] Platform/Loongson: Support Dxe xianglai

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-list from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20220302084447.2991355-1-lixianglai@loongson.cn \
    --to=devel@edk2.groups.io \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox