* [edk2-devel] [PATCH V2 0/2] Initial commit for RISC-V Qemu-based Server
@ 2024-07-09 12:37 Evan Chai
2024-07-09 12:37 ` [edk2-devel] [PATCH V2 1/2] RiscVQemuServerPlatform: Initial commit for RISC-V Qemu-based Server platform Evan Chai
` (2 more replies)
0 siblings, 3 replies; 10+ messages in thread
From: Evan Chai @ 2024-07-09 12:37 UTC (permalink / raw)
To: devel; +Cc: Evan Chai
This is a foundational patch to move the 'RISC-V QEMU Server Reference Platform' forward.
Evan Chai (2):
RiscVQemuServerPlatform: Initial commit for RISC-V Qemu-based Server
platform
RiscVQemuServerPlatform: Unified .dsc files into a single file
Platform/Qemu/RiscVQemuServerPlatform/Documents/Media/RISC-V_Platform_EDK2_Firmware_Enabling_Philosophy.jpg | Bin 0 -> 329871 bytes
Platform/Qemu/RiscVQemuServerPlatform/Readme.md | 355 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Platform/Qemu/RiscVQemuServerPlatform/RiscVQemuServerPlatform.dsc | 799 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Platform/Qemu/RiscVQemuServerPlatform/RiscVQemuServerPlatform.fdf | 315 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Platform/Qemu/RiscVQemuServerPlatform/RiscVQemuServerPlatform.fdf.inc | 41 +++++++++++++++++++++++++++++++++++++++++
Platform/Qemu/RiscVQemuServerPlatform/VarStore.fdf.inc | 72 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
6 files changed, 1582 insertions(+)
create mode 100644 Platform/Qemu/RiscVQemuServerPlatform/Documents/Media/RISC-V_Platform_EDK2_Firmware_Enabling_Philosophy.jpg
create mode 100644 Platform/Qemu/RiscVQemuServerPlatform/Readme.md
create mode 100644 Platform/Qemu/RiscVQemuServerPlatform/RiscVQemuServerPlatform.dsc
create mode 100644 Platform/Qemu/RiscVQemuServerPlatform/RiscVQemuServerPlatform.fdf
create mode 100644 Platform/Qemu/RiscVQemuServerPlatform/RiscVQemuServerPlatform.fdf.inc
create mode 100644 Platform/Qemu/RiscVQemuServerPlatform/VarStore.fdf.inc
--
2.45.1.windows.1
-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#119846): https://edk2.groups.io/g/devel/message/119846
Mute This Topic: https://groups.io/mt/107122510/7686176
Group Owner: devel+owner@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub [rebecca@openfw.io]
-=-=-=-=-=-=-=-=-=-=-=-
^ permalink raw reply [flat|nested] 10+ messages in thread
* [edk2-devel] [PATCH V2 1/2] RiscVQemuServerPlatform: Initial commit for RISC-V Qemu-based Server platform
2024-07-09 12:37 [edk2-devel] [PATCH V2 0/2] Initial commit for RISC-V Qemu-based Server Evan Chai
@ 2024-07-09 12:37 ` Evan Chai
2024-07-09 12:37 ` [edk2-devel] [PATCH V2 2/2] RiscVQemuServerPlatform: Unified .dsc files into a single file Evan Chai
2024-07-09 12:51 ` 转发:[edk2-devel] [PATCH V2 0/2] Initial commit for RISC-V Qemu-based Server EvanChai
2 siblings, 0 replies; 10+ messages in thread
From: Evan Chai @ 2024-07-09 12:37 UTC (permalink / raw)
To: devel; +Cc: Evan Chai, Andrei Warkentin, Sunil V L, Yong Li
Leveraging RiscVVirt code, this initial commit establishes the foundational
framework for the first phase of the RISC-V Qemu-based Server platform.
Cc: Andrei Warkentin <andrei.warkentin@intel.com>
Cc: Sunil V L <sunilvl@ventanamicro.com>
Cc: Yong Li <yong.li@intel.com>
Signed-off-by: Evan Chai <evan.chai@linux.alibaba.com>
---
Platform/Qemu/RiscVQemuServerPlatform/Documents/Media/RISC-V_Platform_EDK2_Firmware_Enabling_Philosophy.jpg | Bin 0 -> 329871 bytes
Platform/Qemu/RiscVQemuServerPlatform/Readme.md | 355 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Platform/Qemu/RiscVQemuServerPlatform/RiscVQemuServerPlatform.dsc | 489 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Platform/Qemu/RiscVQemuServerPlatform/RiscVQemuServerPlatform.dsc.inc | 341 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Platform/Qemu/RiscVQemuServerPlatform/RiscVQemuServerPlatform.fdf | 315 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Platform/Qemu/RiscVQemuServerPlatform/RiscVQemuServerPlatform.fdf.inc | 41 +++++++++++++++++++++++++++++++++++++++++
Platform/Qemu/RiscVQemuServerPlatform/VarStore.fdf.inc | 72 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
7 files changed, 1613 insertions(+)
diff --git a/Platform/Qemu/RiscVQemuServerPlatform/Documents/Media/RISC-V_Platform_EDK2_Firmware_Enabling_Philosophy.jpg b/Platform/Qemu/RiscVQemuServerPlatform/Documents/Media/RISC-V_Platform_EDK2_Firmware_Enabling_Philosophy.jpg
new file mode 100644
index 0000000000000000000000000000000000000000..e94ab4dd38bcb9d5cfe930dae91f9e34f485eb45
GIT binary patch
literal 329871
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∓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
CBT}*e
literal 0
HcmV?d00001
diff --git a/Platform/Qemu/RiscVQemuServerPlatform/Readme.md b/Platform/Qemu/RiscVQemuServerPlatform/Readme.md
new file mode 100644
index 00000000..94a07fdf
--- /dev/null
+++ b/Platform/Qemu/RiscVQemuServerPlatform/Readme.md
@@ -0,0 +1,355 @@
+# RISC-V UEFI Server Reference Board
+The goal of this document is to provide a generic server platform firmware solution applicable to systems built on the RISC-V architecture SOC.
+
+## Revision History
+
+| Document Number | Revision Number | Description | Maintainer | Revision Date |
+| ------------- | --- | :--------------------------------------------------------------------- | ---------- | -------- |
+| \<XXXX\> | 0.1 | Initial release : create RISC-V UEFI server reference board | [Evan Chai](evan.chai@intel.com) | Mar 2024 |
+| | 0.2 | | | |
+
+
+## INDEX
+* 1 [Overview](#1-Overview)
+* 2 [Server SOC Reference Model](#2-Server-SOC-Reference-Model)
+* 3 [Boot Flow](#3-Boot-Flow)
+* 4 [Verification](#4-Verification)
+* 5 [Pending Tasks](#5-Pending-Tasks)
+* 6 [Known Issues](#6-Known-Issues)
+* 7 [Appendix](#7-Appendix)
+
+
+## 1 Overview
+### 1.1 References
+* UEFI Specification v2.10: https://uefi.org/sites/default/files/resources/UEFI_Spec_2_10_Aug29.pdf
+* UEFI PI Specification v1.8.0: https://uefi.org/sites/default/files/resources/UEFI_PI_Spec_1_8_March3.pdf
+* ACPI Specification v6.5: https://uefi.org/sites/default/files/resources/ACPI_Spec_6_5_Aug29.pdf
+* OpenSbi Specification: https://github.com/riscv-software-src/opensbi
+* BRS Specification: https://github.com/riscv-non-isa/riscv-brs
+* Device Tree Specification v0.4: https://www.devicetree.org/
+* Smbios Specification v3.7.0: https://www.dmtf.org/sites/default/files/standards/documents/DSP0134_3.7.0.pdf
+* Server Soc Specification: https://github.com/riscv-non-isa/server-soc
+* Server Platform Specification: https://github.com/riscv-non-isa/riscv-server-platform
+
+### 1.2 Target Audience
+This document is intended for the following readers:
+* IHVs and OSVs who actively engaged in the building of the RISC-V ecosystem, serving as a vital component in the vertical integration of systems.
+* Bios developers, either those who create general-purpose BIOS and other firmware products or those who modify these products for use in various vendor architecture-based products.
+* Other stakeholders who are interested in the RISC-V platform and have firmware development needs.
+
+### 1.3 Terminology
+
+| Term | Description
+|:-------------------- |:-------------------------
+| UEFI | Unified Extensible Firmware Interface
+| SBI | Supervisor Binary Interface
+| BRS | Boot and Runtime Services
+| BMC | Baseboard Management Component BMC's main function is to automatically monitor the system platform management events, the events recorded in the system event log.
+| OOB | Out of Band
+| RVI | [RISC-V International](https://riscv.org/)
+| RISE | [RISC-V Software Ecosystem](https://wiki.riseproject.dev/display/HOME/About+RISE)
+| SCT | UEFI Self Certification Tests
+| FWTS | Firmware Test Suite
+| SPL | U-Boot Second Program Loader
+| SAL | System Abstraction Layer
+
+
+## 2 Server SOC Reference Model
+This chapter introduces the hardware-level topology of ‘ssoc_ref’, allowing users to gain insights into the device list and resource allocation under this model.
+
+### 2.1 Requirements
+This qemu virtual machine (server soc reference board) is required to be compliant with RISC-V [Server SOC Spec](https://github.com/riscv-non-isa/server-soc) (the commit id at writing this doc is aec20046c35b108f76a11a751f754505aaad7800) as much as possible.
+
+#### <caption>Table 1 Server SOC Requirement
+
+| Items | Requirements | On qemu reference board (1st version)| Future Plan
+|:-------------------- |:-------------------------|:-------------------- |:-------------------------
+| 2.1. Clocks and Timers | time CSR | supported
+| 2.2. External Interrupt Controllers | AIA | supported with non-upstream patches
+| 2.3. Input-Output Memory Management Unit (IOMMU) | RISC-V IOMMU spec | no support (need qemu/linux patches) | Yes
+| 2.4. PCIe Subsystem Integration | PCIe features | supported using existing qemu implementation |
+| 2.5. Reliability, Availability, and Serviceability (RAS) | The level of RAS implemented by the SoC is UNSPECIFIED | not considered
+| 2.6. Quality of Service | capacity and bandwidth controller register interface (CBQRI), etc. | not considered |
+| 2.7. Manageability | BMC | no support | TBD
+| 2.8. Performance Monitoring | HPM counters | supported |
+| 2.9. Security Requirements | On PCIe, off-chip DRAM and TPM | no support (follow qemu existing features) | Yes (for TPM)
+| Harts features | (removed from this spec) | support the previous stated hart features |
+
+
+### 2.2 High Level Design
+The Implementation Choices
+* Make the configuration as fixed as possible so that this new machine is easy-to-go and less confusing.
+* Remove the unnecessary devices as many as possible, e.g. CLINT/PLIC are removed.
+* Keep the MemMap entries as similar as RiscVVirt vm for easy adoption at the early stage.
+* Keep dtb entries as small as possible.
+#### <caption>Table 2 Devices and Memory Mappings
+
+| Devices | Base Addr | Size | Comment
+|:-------------------- |:-------------------------|:-------------------- |:-------------------------
+| MROM | 0x1000 | 0xf000 |
+| TEST | 0x100000 | 0x1000 | For reset function (name misleading?)
+| RTC | 0x101000 | 0x1000 |
+| ACLINT | 0x2000000 | 0x10000 | aclint mtimer (spec definition missed)
+| PCIE_PIO | 0x3000000 | 0x10000 |
+| APLIC_M | 0xc000000 | APLIC_SIZE(SSOC_CPUS_MAX) | fixed AIA
+| APLIC_S | 0xd000000 | APLIC_SIZE(SSOC_CPUS_MAX) |
+| UART0 | 0x10000000 | 0x100 |
+| FW_CFG | 0x10200000 | 0x18 | depend on ACPI support on firmware
+| FLASH | 0x20000000 | 0x4000000 |
+| IMSIC_M | 0x24000000 | SSOC_IMSIC_MAX_SIZE |
+| IMSIC_S | 0x28000000 | SSOC_IMSIC_MAX_SIZE |
+| PCIE_ECAM | 0x30000000 | 0x10000000 |
+| PCIE_MMIO | 0x40000000 | 0x40000000 |
+| DRAM | 0x80000000 | 0xff80000000ull (max) | still one continuous range
+| VIRT64_HIGH_PCIE_MMIO | 0x10000000000ull | 0x10000000000ull | different from RiscVVirt
+| AHCI | Handled as the PCIe device | |
+| EHCI | Handled as the PCIe device | |
+| IOMMU | to be decided | | patch yet to integrate (kernel/qemu/…)
+
+### 2.3 Qemu/Guest FW Interface
+#### Hardcode Addresses
+It's possible qemu and guest have no explicit interface about some information, e.g. address of specific devices, but both of them hardcodes the same address to access the device.
+
+## 3 Boot Flow
+The following diagram illustrates various platform initialization scenarios. This document will not cover the detailed work of initializing on real hardware platforms, as it is beyond its scope. Our focus will be on the more general firmware initialization tasks performed on the qemu emulator. See the part of the diagram indicated by the blue color, which corresponds to QemuServerPlatform Boot Flow.
+
+Note: _For specifics on the qemu Server SOC reference model in this document, it is essential to consult both the latest developments in the qemu source code and the definition in the server platform specifications. Relevant information for both can be obtained from Server SOC TG and Server Platform TG of RVI.c_
+
+#### <caption>Figuire 1 RISC-V Platform EDK2 Firmware Enabling Philosophy
+
+![RISC-V_Platform_EDK2_Firmware_Enabling_Philosophy](Documents/Media/RISC-V_Platform_EDK2_Firmware_Enabling_Philosophy.jpg)
+
+### 3.1 The Traditional Boot Flow
+
+[PI Architecture Firmware Phases](https://uefi.org/specs/PI/1.8/V2_Overview.html#pi-architecture-firmware-phases) shows the phases that a platform with PI Architecture firmware will execute.
+
+#### <caption>Figuire 2 PI Architecture Firmware Phases
+
+![PI_Boot_Phases](https://uefi.org/specs/PI/1.8/_images/V2_Overview-2.png)
+
+_In a PI Architecture firmware implementation, the phase executed prior to DXE is PEI. This specification covers the transition from the PEI to the DXE phase, the DXE phase, and the DXE phase’s interaction with the BDS phase. The DXE phase does not require a PEI phase to be executed. The only requirement for the DXE phase to execute is the presence of a valid HOB list. There are many different implementations that can produce a valid HOB list for the DXE phase to execute. The PEI phase in a PI Architecture firmware implementation is just one of many possible implementations._
+
+Based on the content quoted from the PI specification above, it is evident that the PEI phase is merely a traditional and integral part of the UEFI boot flow. In actual PI Architecture firmware implementations, it is not mandatory. Currently, the primary purpose of the PEI Phase is to perform memory initialization and pass necessary HOBs to DXE.
+
+For the former, the alternative solution for the former involves the implementation of OOB firmware, which is currently beyond the scope of this document. Regarding the latter, we can move more works for building Hand-Off Blocks (HOBs) to the SEC phase. All of these considerations collectively contribute to providing additional insights and flexibility for the practical initiation of hardware.
+
+### 3.2 Alternative Boot Flow
+The boot flow without the PEI phase, also known as the Pei-Less flow, is the initialization approach that will be further discussed in this document. Detailed standards for Pei-Less can be obtained from RISE's Firmware TG.(See [Boot Flow](https://wiki.riseproject.dev/display/HOME/EDK2_00_18+-+RISC-V+QEMU+Server+Reference+Platform?preview=/25395218/25395220/EDK2%20implementation%20choices%20for%20RISC-V%20platforms.pdf) in Project No. EDK2_00_18)
+
+#### 3.2.1 SEC Phase
+See [HOB Translations](https://uefi.org/specs/PI/1.8/V2_DXE_Foundation.html#hob-translations) for more information on HOB types.
+
+#### <caption>Figuire 3 HOB List
+![V2_DXE_Foundation-2](https://uefi.org/specs/PI/1.8/_images/V2_DXE_Foundation-2.png)
+
+The HOBs list, as mandated by the PI specification, is illustrated in Figure 2.3. It is recommended to refer to the SecMain structure in RiscVVirt for guidance.
+
+Figure 2.3 displays the HOBs list, a prerequisite set by the PI specification for readiness before entering the DXE phase. For additional insights, it is recommended to refer to the SecMain module in RiscVVirt.
+
+Regarding memory initialization, specific details are intentionally omitted in this document. The recommended strategy involves the use of OOB firmware, like SPL. This provides input to the System Memory HOB generated by the UEFI firmware during the SEC phase, and the input for HOB is extracted from static data in the device tree, including entries like 'memory' by AddMemoryBaseSizeHob() and 'reserved-memory BuildMemoryAllocationHob().'
+
+The creation of HOBs for IO, MMIO, and other resources provides SOC vendors with the flexibility to customize according to their chip specifications. The PopulateIoResources() function provides a straightforward approach to achieve this customization.
+
+It is essential to emphasize that RiscVVirt adopts a separate Flash Descriptor (FD) approach for firmware code and Variables. The advantage is clear as it allows for the protection of the firmware code by setting it as read-only, while conferring write permissions exclusively to the Variable FD, effectively ensuring the security of the firmware. Particularly, this approach provides convenient and flexible control, especially when dealing with firmware upgrade actions in the future. Of course, in qemu-based firmware development, virtualizing two or even more flashes is extremely straightforward. However, it's worth mentioning that in many real hardware platforms, the single-flash configuration is more common, and further elaboration on this point is not necessary here.
+
+In the upcoming server platform solution, we will continue to adopt a similar approach as RiscVVirt. However, there is a slight difference in the treatment of the Variable FD.
+
+#### 3.2.2 DXE Phase
+The following table supplements the missing implementation details in Table 2.5 of the PI specification. The DXE Foundation is abstracted from the platform through the DXE Architectural Protocols. The DXE Architectural Protocols manifest the platform-specific components of the DXE Foundation. DXE drivers that are loaded and executed by the DXE Dispatcher component of the DXE Foundation must produce these protocols.
+
+For implementations outside of the EmbeddedPkg solutions, please follow the guidance outlined in the table.
+
+
+#### <caption>Table 3 DXE Architectural Protocols
+| Protocol Name | Driver Path in use | Driver Compatibility **1** | Task required |
+| ------------------------------------ | ------------------------------------------------------------ | -------------------------- | ------------------------------------------------------------ |
+| Security Architectural | MdeModulePkg/Universal/SecurityStubDxe/SecurityStubDxe.inf | Platform independent | no extra work |
+| CPU Architectural | UefiCpuPkg/CpuDxeRiscV64/CpuDxeRiscV64.inf | Platform dependent | no extra work |
+| Metronome Architectural | EmbeddedPkg/MetronomeDxe/MetronomeDxe.inf (**Note**: Precision in the EmbeddedPkg version is limited to microseconds, whereas the MdeModulePkg version offers precision down to nanoseconds.) | Platform dependent | no extra work |
+| Timer Architectural | UefiCpuPkg/CpuTimerDxeRiscV64/CpuTimerDxeRiscV64.inf (**Note**: In S mode, utilize the TIME CSR for implementing GetTimer, and achieve SetTimer by the ‘Set Timer’ interface of SBI Timer Extension 6.1. Please note that the Runtime type of timer service isn’t presently supported yet. Runtime type of timer service will be produced by RealTimeClock.) | Platform dependent | no extra work |
+| BDS Architectural | MdeModulePkg/Universal/BdsDxe/BdsDxe.inf | Platform independent | no extra work |
+| Watchdog Timer Architectural | MdeModulePkg/Universal/WatchdogTimerDxe/WatchdogTimer.inf (**Note**: It depends on TimerLib and ResetLib, the implementation of which is typically determined by the different CPU architectures.) | Platform independent | no extra work |
+| Runtime Architectural | MdeModulePkg/Core/RuntimeDxe/RuntimeDxe.inf (**Note**: Some functionalities in the RISC-V version of CacheMaintenanceLib are still under development.) | Platform independent | need to complete the remaining functions of CacheMaintenanceLib. |
+| Variable Architectural | MdeModulePkg/Universal/Variable/RuntimeDxe/VariableRuntimeDxe.inf (**Note**: The dependency issue on VirtNorFlashDxe in RiscVVirt should be fixed. ) | Platform independent | need to clean up 'APRIORI DXE' |
+| Variable Write ArchitecturalProtocol | MdeModulePkg/Universal/Variable/RuntimeDxe/VariableRuntimeDxe.inf | Platform independent | no extra work |
+| Monotonic Counter Architectural | MdeModulePkg/Universal/MonotonicCounterRuntimeDxe/MonotonicCounterRuntimeDxe.inf | Platform independent | no extra work |
+| Reset Architectural | MdeModulePkg/Universal/ResetSystemRuntimeDxe/ResetSystemRuntimeDxe.inf (**Note**: ResetSystemLib implements warm reset, cold reset, and shutdown through the SBI interface.) | Platform independent | no extra work |
+| Real Time Clock Architectural | EmbeddedPkg/RealTimeClockRuntimeDxe/RealTimeClockRuntimeDxe.inf (**Note**: Some features in RealTimeClockLib remain unimplemented, including GetWakeUpTime/SetWakeUpTime. The present RealTimeClockLib is specifically designed for qemu; future adaptations should implement their own RTC timer based on the platform's needs.) | Platform dependent | no extra work |
+| Capsule Architectural Protocol | MdeModulePkg/Universal/CapsuleRuntimeDxe/CapsuleRuntimeDxe.inf (**Note**: It depends on CacheMaintenanceLib and ResetLib.) | Platform independent | no extra work |
+
+Note: *1.The 'Driver Compatibility, task required' column addresses platform dependencies exclusively at the DXE driver level. The platform-specificity of the consumed libraries does not influence the conclusion.*
+
+#### 3.2.3 Network Stack
+The Server SOC model currently in use, 'rvsp-ref,' comes with e1000 as the default NIC device. However, as this device lacks an integrated UEFI UNDI driver, it cannot provide the foundational services to enable the network. From a testing perspective, here are two recommended steps:
+* Build UndiRuntimeDxe to your firmware FD, with the following patch: edk2-platforms/Drivers/OptionRomPkg/UndiRuntimeDxe/UndiRuntimeDxe.inf
+* Append NIC ‘i82557b’ to the qemu command line. See the reference command in Chapter 4.
+
+From a product implementation perspective, it is not recommended to directly use UndiRuntimeDxe as the provider for the UNDI services. It is more appropriate to provide the UNDI services based on the NIC device integrated into the platform.
+
+### 3.3 Extra work for Fdt-to-OS
+The DXE Foundation produces the UEFI System Table, and the UEFI System Table is consumed by every DXE driver and executable image invoked by the DXE Dispatcher and BDS. It contains all the information required for these components to utilize the services provided by the DXE Foundation and the services provided by any previously loaded DXE driver. [UEFI System Table and Related Components](https://uefi.org/specs/PI/1.8/V2_DXE_Foundation.html#uefi-system-table-and-related-components) shows the various components that are available through the UEFI System Table.
+
+#### <caption>Figuire 4 UEFI System Table and Related Components
+![V2_DXE_Foundation-3](https://uefi.org/specs/PI/1.8/_images/V2_DXE_Foundation-3.png)
+
+As shown in figure 9.2, the UEFI Configuration Tables are an extensible list of tables that describe the configuration of the platform. Today, this includes pointers to tables such as DXE Services, the HOB list, ACPI table, SMBIOS table, and the SAL System Table. This list may be expanded in the future as new table types are defined.
+
+Due to the broad usage of device trees in embedded firmware products, several chip manufacturers in the upstream and downstream supply chains use static data from the device tree to initialize specific peripherals. For compatibility reasons, it is essential to install the device tree pointer into the system configuration table. Two DXE drivers are available as references:
+
+#### <caption>Table 4 The Proposal for FdtTabGuid
+|Table Guid |Driver Path in use |Comments|
+|:-------------------- |:-------------------------|:--------------------|
+|gFdtTableGuid |EmbeddedPkg/Drivers/FdtClientDxe/FdtClientDxe.inf |Using in RiscVVirt|
+|gFdtTableGuid |Silicon/RISCV/ProcessorPkg/Universal/FdtDxe/FdtDxe.inf |The streamlined DXE driver can also meet if no required for FdtClientProtocl|
+
+### 3.4 DT File Decoding
+The DXE driver FdtClientDxe, mentioned in the previous section, supplies a limited set of APIs for parsing DT binary, handling fundamental DT data extraction tasks.
+
+Users with more advanced demands can turn to another DXE service produced by [FdtBusPkg](https://github.com/intel/FdtBusPkg), which offers an extensive array of APIs to meet the requirements of more complex scenarios. Detailed information is accessible in the firmware TG of RISE community (Project No. [EDK2_00_03](https://wiki.riseproject.dev/display/HOME/Firmware+Projects)), and the source code is available from [FdtBusPkg](https://github.com/intel/FdtBusPkg) repository. It will be upstreamed to the [edk2](https://github.com/tianocore/edk2) repository in the future, and any suggestions or requirements for improvement are encouraged before this transition.
+
+### 3.5 OpenSbi
+It is recommended to align with the version of OpenSBI in the [RISC-V BRS Development Suite Repository](https://github.com/intel/rv-brs-test-suite). The binary file can be found at the following path: ./rv-brs-test-suite/brsi/scripts/opensbi/build/platform/generic/firmware/fw_dynamic.bin
+
+__Or build it by the command example1__:
+```
+cd opensbi
+make ARCH=riscv CROSS_COMPILE=riscv64-linux-gnu- PLATFORM=generic
+```
+### 3.6 OS Image
+Similarly, the BRS Repo offers an OS image based on RISC-V. To validate the boot flow, you can make use of the prebuilt images located in the test suite at /rv-brs-test-suite/brsi/prebuilt_images/. For those interested in building their own image, please refer to the repository guidance for detailed steps.
+
+## 4 Verification
+The tests covered in this document are based on the BRS spec, focusing on two primary modules: SCT and FWTS. The relevant test scripts, pre-build image and guidance can be obtained from the [RISC-V BRS Development Suite Repository](https://github.com/intel/rv-brs-test-suite):
+
+__Command example2__:
+```
+ ./qemu-system-riscv64 -nographic -m 8G -smp 2 \
+ -machine rvsp-ref,pflash0=pflash0,pflash1=pflash1 \
+ -blockdev node-name=pflash0,driver=file,read-only=on,filename=$FW_DIR/RISCV_SP_CODE.fd \
+ -blockdev node-name=pflash1,driver=file,filename=$FW_DIR/RISCV_SP_VARS.fd \
+ -bios $Sbi_DIR/fw_dynamic.bin \
+ -drive file=$Img_DIR/brs_live_image.img,if=ide,format=raw
+```
+
+__Note__:
+* _‘rvsp-ref’ is a specified qemu-based SOC model, whose source code is still under development and will be accessible from the RVI staging repository later._
+* _The Pre-build image ‘brs_live_image.img,if’ can be downloaded in RISC-V BRS Development Suite repository, or you can build it by yourself. See 3.6_
+* _‘-bios $Sbi_DIR/fw_dynamic.bin’ the parameter points to the opensbi path. See more in 3.5._
+
+In general, a series of modules related to Network are enabled by default. However, during SCT test execution, it is noticed that most Network test items fail to pass. The most likely reason is the lack of a UNDI driver built in the current platform firmware codebase. So, if you intend to enable the edk2 network stack with QEMU in the boot flow, it is suggested to use the following command:
+
+__Command example3__:
+```
+ Command example2 \
+ -device i82557b,netdev=net2 \
+ -netdev type=user,id=net2
+```
+
+## 5 Pending Tasks
+The listed items in the table represent ongoing firmware development tasks that are still unfinished. Some specifications are in the process of refinement, and a few are yet to be drafted. Please refer to subsequent updates from the RISE community for more information.
+### 5.1 Bios Requirements and TODOs
+
+#### <caption>Table 5-1 Bios Requirements
+| ID | Requirements/TODOs | Comment |
+| ---- | ------------------------------ | ------------------------------------------------------------ |
+| 1 | 'APRIORI DXE' cleaning up | Usage of 'APRIORI DXE' syntax is strictly forbidden going forward, regardless of the rationale. |
+| 2 | Implement a generic ECAM model | Support for RC configuration via PCDs, DT properties, or any other form of input. |
+| 3 | ACPI enabling | The establishment of all ACPI tables is currently achieved through qemu, leveraging a series of libraries such as QemuFwCfgLib to interact with the Linux kernel. The following task is to implement the publishment of all ACPI tables solely through firmware. |
+| 4 | Smbios enabling | The upcoming tasks for SMBIOS should be handled exclusively through firmware publishment, replacing the existing qemu method entirely. |
+| 5 | FWTS test | Upon the completion of tasks 3 and 4, the pass ratio for FWTS should be maintained at a specific benchmark. |
+| 6 | Security | Not started |
+| 7 | TPM | Not started |
+
+### 5.2 UEFI Implementation and TODOs
+
+#### <caption>Table 5-2 Upcoming UEFI Features List
+
+| Task Category | Task Description | Comments |
+|------------------------------|-----------------------------------------------------------|-------------------------------------------------------------------------|
+| \# Enable Non-Virtio devices | 1. Add Memory mapped AHCI controller, to enable SATA device | Inlcude drivers for AHCI and Sata, eg: OvmfPkg/SataControllerDxe/SataControllerDxe.inf MdeModulePkg/Bus/Scsi/ScsiBusDxe/ScsiBusDxe.inf MdeModulePkg/Bus/Scsi/ScsiDiskDxe/ScsiDiskDxe.inf |
+| | 2. Add Memory mapped EHCI/XHCI controller to enable USB devices | Inlcude drivers for AHCI and Sata, eg: OvmfPkg/SataControllerDxe/SataControllerDxe.inf MdeModulePkg/Bus/Scsi/ScsiBusDxe/ScsiBusDxe.inf MdeModulePkg/Bus/Scsi/ScsiDiskDxe/ScsiDiskDxe.inf |
+| | 3. Clean-up OVMF version of the NOR flash DXE driver, which supports QEMU's NOR flash emulation | Existing OVMF Norflash driver will cause some BRS related cases’ failure, this takes includes the code clean-up and bug fixes to the existing Norflash drvier in OVMF: ExitBootServicesTestVariable * 1, BS.GetNextMonotonicCount * 3, RT.SetVariable - Non-volatile variable after system reset * 4, RT.SetTime - Verify xx after change * 8 |
+| | 4. Enable non-virtio network, eg: E1000E NIC | This may depend on QEMU side implementation, and the server platform spec requirement, can take it as low priority and use virtio-net first. |
+| | 5. Enable non-virto VGA display | This may depend on QEMU side implementation, and the server platform spec requirement, can take it as low priority and use virtio-gpu first. |
+| \# Add initial support for static ACPI tables | 6. Add the DSDT, FADT, GTDT, SPCR tables for ServerPlatform-Ref platform, | This can refer to SBSA’s implementation https://github.com/tianocore/edk2-platforms/commit/4476e34cf93458e0ea84820fb88e82a2997e5075 |
+| | 7. Handle EHCI and XHCI in DSDT, not to try to initialize non-existing hardware | This can refer to SBSA’s implementation https://www.mail-archive.com/devel@edk2.groups.io/msg64706.html |
+| \# Add SMBIOS tables | 8. Add SMBIOS tables by referencing ArmPkg/Universal/Smbios, set PcdSmbiosVersion to the version as required by RISCV server platform spec | Refer to https://github.com/tianocore/edk2-platforms/commit/c2016d9b6836acc27df939f0cccffe61c1bac492 |
+| | 9. Add implementation that provides the system information. The serial numbers, asset tags etc. are currently all fixed strings, to allow fwts to pass without errors. | Refer to https://github.com/tianocore/edk2-platforms/tree/master/Platform/Qemu/SbsaQemu/OemMiscLib |
+| \# Move drivers toward to FdtBusPkg-based implementation (This will not be 1st priority) | 10. Verify and replace the OVMF Norflash driver to device tree-based Norflash driver | Refer to https://github.com/intel/FdtBusPkg |
+| | 11. Verify and replace the PCI root bridge driver to device tree-based PCI root bridge driver | Refer to https://github.com/intel/FdtBusPkg |
+| \# MSIC | 12. Initiate the design by Intel, keep ReadMe.md update with partner | Refer to https://github.com/tianocore/edk2-platforms/blob/master/Platform/Qemu/SbsaQemu/Readme.md |
+| | | |
+
+## 6 Known Issues
+
+The following table outlines the current known issues, which will be resolved gradually during the subsequent phases of development.
+
+#### <caption>Table 6 Known Issues
+| No. | Issue Description | Cause | Comment |
+| ---- | --------------------------- | -------------------------------------------- | --------------------- |
+| 1 | Graphic device doesn’t work | ‘rvsp-ref’ doesn’t provide a default GPU yet | Will do in next phase |
+| 2 | ACPI/Smbios don’t work | Not firmware implementation | Will do in next phase |
+
+## 7 Appendix
+
+
+
+### 7.1 Building and running based on BRS environment
+
+1. Build brs test suit
+```
+git clone https://github.com/intel/rv-brs-test-suite.git
+```
+
+Please refer to detailed build steps from [README.md](https://github.com/intel/rv-brs-test-suite/blob/main/README.md), then you will get the following stuff:
+```
+ QEMU_DIR=$WORKSPACE/rv-brs-test-suite/brsi/scripts/qemu/build
+ BRS_IMG_DIR=$WORKSPACE/rv-brs-test-suite/brsi/scripts/output
+ OPENSBI_DIR=$WORKSPACE/rv-brs-test-suite/brsi/scripts/opensbi/build/platform/generic/firmware
+ EDK2_DIR=$WORKSPACE/rv-brs-test-suite/brsi/scripts/Build/RiscVQemuServerPlatform/DEBUG_GCC5/FV
+```
+
+2. Boot Execution(See Command example2)
+```
+$QEMU_DIR/qemu-system-riscv64 \
+ -machine rvsp-ref,pflash0=pflash0,pflash1=pflash1 \
+ -blockdev node-name=pflash0,driver=file,read-only=on,filename=$EDK2_DIR/RISCV_SP_CODE.fd \
+ -blockdev node-name=pflash1,driver=file,filename=$EDK2_DIR/RISCV_SP_VARS.fd \
+ -bios $OPENSBI_DIR/fw_dynamic.bin \
+ -drive file=$BRS_IMG_DIR/brs_live_image.img,if=ide,format=raw
+```
+### 7.2 Compiling edk2 firmware separately outside of BRS
+1. Building the RISC-V edk2 server platform
+
+```
+git clone https://github.com/tianocore/edk2.git
+cd edk2
+git submodule update --init
+cd ..
+
+git clone https://github.com/tianocore/edk2-platforms.git
+cd edk2-platforms
+git submodule update --init
+cd ..
+
+export WORKSPACE=`pwd`
+export GCC5_RISCV64_PREFIX=riscv64-linux-gnu-
+export PACKAGES_PATH=$WORKSPACE/edk2:$WORKSPACE/edk2-platforms
+
+cd edk2
+make -C BaseTools clean
+make -C BaseTools
+source edksetup.sh
+./edksetup.sh
+
+build -a RISCV64 -t GCC5 -p Platform/Qemu/RiscVQemuServerPlatform/RiscVQemuServerPlatform.dsc
+```
+2. Convert FD files
+```
+ truncate -s 32M Build/RiscVQemuServerPlatform/DEBUG_GCC5/FV/RISCV_SP_CODE.fd
+ truncate -s 32M Build/RiscVQemuServerPlatform/DEBUG_GCC5/FV/RISCV_SP_VARS.fd
+```
+
+## Contributors
+- ~~Evan Chai <evan.chai@intel.com>~~
+- Evan Chai <evan.chai@linux.alibaba.com>
\ No newline at end of file
diff --git a/Platform/Qemu/RiscVQemuServerPlatform/RiscVQemuServerPlatform.dsc b/Platform/Qemu/RiscVQemuServerPlatform/RiscVQemuServerPlatform.dsc
new file mode 100644
index 00000000..fe555968
--- /dev/null
+++ b/Platform/Qemu/RiscVQemuServerPlatform/RiscVQemuServerPlatform.dsc
@@ -0,0 +1,489 @@
+## @file
+# RISC-V Qemu-based Server Platform
+#
+# Copyright (c) 2024, Intel Corporation. All rights reserved.<BR>
+# Copyright (c) 2021, Hewlett Packard Enterprise Development LP. All rights reserved.<BR>
+# Copyright (c) 2022, Ventana Micro Systems Inc. All rights reserved.<BR>
+# Copyright (C) 2024, Alibaba Group Holding Limited.<BR>
+#
+# SPDX-License-Identifier: BSD-2-Clause-Patent
+#
+
+[Defines]
+ PLATFORM_NAME = RiscVQemuServerPlatform
+ PLATFORM_GUID = A5FAC672-1D51-4461-AB37-B7DB202F34BA
+ PLATFORM_VERSION = 0.1
+ DSC_SPECIFICATION = 0x0001001c
+ OUTPUT_DIRECTORY = Build/$(PLATFORM_NAME)
+ SUPPORTED_ARCHITECTURES = RISCV64
+ BUILD_TARGETS = DEBUG|RELEASE|NOOPT
+ SKUID_IDENTIFIER = DEFAULT
+ FLASH_DEFINITION = Platform/Qemu/RiscVQemuServerPlatform/RiscVQemuServerPlatform.fdf
+
+ #
+ # Enable below options may cause build error or may not work on
+ # the initial version of RISC-V package
+ # Defines for default states. These can be changed on the command line.
+ # -D FLAG=VALUE
+ #
+ DEFINE TTY_TERMINAL = FALSE
+ DEFINE SECURE_BOOT_ENABLE = FALSE
+ DEFINE TPM2_ENABLE = FALSE
+ DEFINE TPM2_CONFIG_ENABLE = FALSE
+ DEFINE DEBUG_ON_SERIAL_PORT = TRUE
+
+ #
+ # Network definition
+ #
+ DEFINE NETWORK_IP6_ENABLE = FALSE
+ DEFINE NETWORK_HTTP_BOOT_ENABLE = FALSE
+ DEFINE NETWORK_SNP_ENABLE = FALSE
+ DEFINE NETWORK_TLS_ENABLE = FALSE
+ DEFINE NETWORK_ALLOW_HTTP_CONNECTIONS = TRUE
+ DEFINE NETWORK_ISCSI_ENABLE = FALSE
+
+!if $(NETWORK_SNP_ENABLE) == TRUE
+ !error "NETWORK_SNP_ENABLE is IA32/X64/EBC only"
+!endif
+
+!include MdePkg/MdeLibs.dsc.inc
+!include NetworkPkg/Network.dsc.inc
+
+[BuildOptions]
+ GCC:RELEASE_*_*_CC_FLAGS = -DMDEPKG_NDEBUG
+!ifdef $(SOURCE_DEBUG_ENABLE)
+ GCC:*_*_RISCV64_GENFW_FLAGS = --keepexceptiontable
+!endif
+
+[BuildOptions.common.EDKII.DXE_RUNTIME_DRIVER]
+ GCC: *_*_*_DLINK_FLAGS = -z common-page-size=0x1000
+ MSFT: *_*_*_DLINK_FLAGS = /ALIGN:4096
+
+################################################################################
+#
+# Library Class section - list of all Library Classes needed by this Platform.
+#
+################################################################################
+
+!include Platform/Qemu/RiscVQemuServerPlatform/RiscVQemuServerPlatform.dsc.inc
+
+!include MdePkg/MdeLibs.dsc.inc
+
+[LibraryClasses.common]
+ # Virtio Support
+ VirtioLib|OvmfPkg/Library/VirtioLib/VirtioLib.inf
+ VirtioMmioDeviceLib|OvmfPkg/Library/VirtioMmioDeviceLib/VirtioMmioDeviceLib.inf
+ QemuFwCfgLib|OvmfPkg/Library/QemuFwCfgLib/QemuFwCfgMmioDxeLib.inf
+ QemuFwCfgS3Lib|OvmfPkg/Library/QemuFwCfgS3Lib/BaseQemuFwCfgS3LibNull.inf
+ QemuFwCfgSimpleParserLib|OvmfPkg/Library/QemuFwCfgSimpleParserLib/QemuFwCfgSimpleParserLib.inf
+ QemuLoadImageLib|OvmfPkg/Library/GenericQemuLoadImageLib/GenericQemuLoadImageLib.inf
+
+ TimerLib|UefiCpuPkg/Library/BaseRiscV64CpuTimerLib/BaseRiscV64CpuTimerLib.inf
+ VirtNorFlashPlatformLib|OvmfPkg/RiscVVirt/Library/VirtNorFlashPlatformLib/VirtNorFlashDeviceTreeLib.inf
+
+ CapsuleLib|MdeModulePkg/Library/DxeCapsuleLibNull/DxeCapsuleLibNull.inf
+ BootLogoLib|MdeModulePkg/Library/BootLogoLib/BootLogoLib.inf
+ PlatformBootManagerLib|OvmfPkg/RiscVVirt/Library/PlatformBootManagerLib/PlatformBootManagerLib.inf
+ PlatformBmPrintScLib|OvmfPkg/Library/PlatformBmPrintScLib/PlatformBmPrintScLib.inf
+ CustomizedDisplayLib|MdeModulePkg/Library/CustomizedDisplayLib/CustomizedDisplayLib.inf
+ FrameBufferBltLib|MdeModulePkg/Library/FrameBufferBltLib/FrameBufferBltLib.inf
+ QemuBootOrderLib|OvmfPkg/Library/QemuBootOrderLib/QemuBootOrderLib.inf
+ FileExplorerLib|MdeModulePkg/Library/FileExplorerLib/FileExplorerLib.inf
+ PciPcdProducerLib|OvmfPkg/Fdt/FdtPciPcdProducerLib/FdtPciPcdProducerLib.inf
+ PciSegmentLib|MdePkg/Library/BasePciSegmentLibPci/BasePciSegmentLibPci.inf
+ PciHostBridgeLib|OvmfPkg/Fdt/FdtPciHostBridgeLib/FdtPciHostBridgeLib.inf
+ PciHostBridgeUtilityLib|OvmfPkg/Library/PciHostBridgeUtilityLib/PciHostBridgeUtilityLib.inf
+ PeiHardwareInfoLib|OvmfPkg/Library/HardwareInfoLib/PeiHardwareInfoLib.inf
+ PlatformHookLib|MdeModulePkg/Library/BasePlatformHookLibNull/BasePlatformHookLibNull.inf
+ ImagePropertiesRecordLib|MdeModulePkg/Library/ImagePropertiesRecordLib/ImagePropertiesRecordLib.inf
+
+!if $(TPM2_ENABLE) == TRUE
+ Tpm2CommandLib|SecurityPkg/Library/Tpm2CommandLib/Tpm2CommandLib.inf
+ Tcg2PhysicalPresenceLib|OvmfPkg/Library/Tcg2PhysicalPresenceLibQemu/DxeTcg2PhysicalPresenceLib.inf
+ TpmMeasurementLib|SecurityPkg/Library/DxeTpmMeasurementLib/DxeTpmMeasurementLib.inf
+ TpmPlatformHierarchyLib|SecurityPkg/Library/PeiDxeTpmPlatformHierarchyLib/PeiDxeTpmPlatformHierarchyLib.inf
+!else
+ TpmMeasurementLib|MdeModulePkg/Library/TpmMeasurementLibNull/TpmMeasurementLibNull.inf
+ TpmPlatformHierarchyLib|SecurityPkg/Library/PeiDxeTpmPlatformHierarchyLibNull/PeiDxeTpmPlatformHierarchyLib.inf
+!endif
+
+[LibraryClasses.common.DXE_DRIVER]
+ AcpiPlatformLib|OvmfPkg/Library/AcpiPlatformLib/DxeAcpiPlatformLib.inf
+ ReportStatusCodeLib|MdeModulePkg/Library/DxeReportStatusCodeLib/DxeReportStatusCodeLib.inf
+ PciExpressLib|OvmfPkg/Library/BaseCachingPciExpressLib/BaseCachingPciExpressLib.inf
+
+!if $(TPM2_ENABLE) == TRUE
+ Tpm2DeviceLib|SecurityPkg/Library/Tpm2DeviceLibTcg2/Tpm2DeviceLibTcg2.inf
+!endif
+
+[LibraryClasses.common.UEFI_DRIVER]
+ UefiScsiLib|MdePkg/Library/UefiScsiLib/UefiScsiLib.inf
+ PciExpressLib|OvmfPkg/Library/BaseCachingPciExpressLib/BaseCachingPciExpressLib.inf
+
+################################################################################
+#
+# Pcd Section - list of all EDK II PCD Entries defined by this Platform.
+#
+################################################################################
+[PcdsFeatureFlag.common]
+ gUefiOvmfPkgTokenSpaceGuid.PcdQemuBootOrderPciTranslation|TRUE
+ gUefiOvmfPkgTokenSpaceGuid.PcdQemuBootOrderMmioTranslation|TRUE
+
+ ## If TRUE, Graphics Output Protocol will be installed on virtual handle created by ConsplitterDxe.
+ # It could be set FALSE to save size.
+ gEfiMdeModulePkgTokenSpaceGuid.PcdConOutGopSupport|TRUE
+ gEfiMdeModulePkgTokenSpaceGuid.PcdConOutUgaSupport|FALSE
+
+ gEfiMdeModulePkgTokenSpaceGuid.PcdTurnOffUsbLegacySupport|TRUE
+
+[PcdsFixedAtBuild.common]
+ gEfiMdeModulePkgTokenSpaceGuid.PcdMaxVariableSize|0x2000
+ gEfiMdeModulePkgTokenSpaceGuid.PcdMaxAuthVariableSize|0x2800
+!if $(NETWORK_TLS_ENABLE) == TRUE
+ #
+ # The cumulative and individual VOLATILE variable size limits should be set
+ # high enough for accommodating several and/or large CA certificates.
+ #
+ gEfiMdeModulePkgTokenSpaceGuid.PcdVariableStoreSize|0x80000
+ gEfiMdeModulePkgTokenSpaceGuid.PcdMaxVolatileVariableSize|0x40000
+!endif
+
+ gEfiMdeModulePkgTokenSpaceGuid.PcdFirmwareVersionString|L"2.7"
+
+ # Serial Port
+ gEfiMdeModulePkgTokenSpaceGuid.PcdSerialUseMmio|TRUE
+ gEfiMdeModulePkgTokenSpaceGuid.PcdSerialRegisterBase|0x10000000
+ gEfiMdeModulePkgTokenSpaceGuid.PcdSerialBaudRate|9600
+ gEfiMdeModulePkgTokenSpaceGuid.PcdSerialUseHardwareFlowControl|FALSE
+ gEfiMdeModulePkgTokenSpaceGuid.PcdSerialClockRate|3686400
+ gEfiMdeModulePkgTokenSpaceGuid.PcdSerialRegisterStride|1
+
+ gEfiMdeModulePkgTokenSpaceGuid.PcdResetOnMemoryTypeInformationChange|FALSE
+ gEfiMdeModulePkgTokenSpaceGuid.PcdBootManagerMenuFile|{ 0x21, 0xaa, 0x2c, 0x46, 0x14, 0x76, 0x03, 0x45, 0x83, 0x6e, 0x8a, 0xb6, 0xf4, 0x66, 0x23, 0x31 }
+
+!if $(SECURE_BOOT_ENABLE) == TRUE
+ # override the default values from SecurityPkg to ensure images from all sources are verified in secure boot
+ gEfiSecurityPkgTokenSpaceGuid.PcdOptionRomImageVerificationPolicy|0x04
+ gEfiSecurityPkgTokenSpaceGuid.PcdFixedMediaImageVerificationPolicy|0x04
+ gEfiSecurityPkgTokenSpaceGuid.PcdRemovableMediaImageVerificationPolicy|0x04
+!endif
+
+ gEfiShellPkgTokenSpaceGuid.PcdShellFileOperationSize|0x20000
+ gEfiMdePkgTokenSpaceGuid.PcdReportStatusCodePropertyMask|0x02
+ gEfiMdeModulePkgTokenSpaceGuid.PcdStatusCodeUseMemory|FALSE
+ gEfiMdeModulePkgTokenSpaceGuid.PcdStatusCodeUseSerial|TRUE
+ gEfiMdeModulePkgTokenSpaceGuid.PcdStatusCodeMemorySize|1
+
+ gEfiMdeModulePkgTokenSpaceGuid.PcdSmbiosEntryPointProvideMethod|0x2
+
+[PcdsDynamicDefault.common]
+ gEfiMdePkgTokenSpaceGuid.PcdPlatformBootTimeOut|3
+
+ ## If TRUE, OvmfPkg/AcpiPlatformDxe will not wait for PCI
+ # enumeration to complete before installing ACPI tables.
+ gEfiMdeModulePkgTokenSpaceGuid.PcdPciDisableBusEnumeration|TRUE
+
+ # set PcdPciExpressBaseAddress to MAX_UINT64, which signifies that this
+ # PCD and PcdPciDisableBusEnumeration above have not been assigned yet
+ gEfiMdePkgTokenSpaceGuid.PcdPciExpressBaseAddress|0xFFFFFFFFFFFFFFFF
+
+ gEfiMdePkgTokenSpaceGuid.PcdPciIoTranslation|0x0
+
+ #
+ # Set video resolution for boot options and for text setup.
+ # PlatformDxe can set the former at runtime.
+ #
+ gEfiMdeModulePkgTokenSpaceGuid.PcdVideoHorizontalResolution|1280
+ gEfiMdeModulePkgTokenSpaceGuid.PcdVideoVerticalResolution|800
+ gEfiMdeModulePkgTokenSpaceGuid.PcdSetupVideoHorizontalResolution|640
+ gEfiMdeModulePkgTokenSpaceGuid.PcdSetupVideoVerticalResolution|480
+ gEfiMdeModulePkgTokenSpaceGuid.PcdConOutRow|0
+ gEfiMdeModulePkgTokenSpaceGuid.PcdConOutColumn|0
+
+ #
+ # SMBIOS entry point version
+ #
+ gEfiMdeModulePkgTokenSpaceGuid.PcdSmbiosVersion|0x0300
+ gEfiMdeModulePkgTokenSpaceGuid.PcdSmbiosDocRev|0x0
+ gUefiOvmfPkgTokenSpaceGuid.PcdQemuSmbiosValidated|FALSE
+
+ gEfiMdeModulePkgTokenSpaceGuid.PcdEmuVariableNvStoreReserved|0
+ gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageVariableBase64|0
+ gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageFtwWorkingBase|0
+ gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageFtwSpareBase|0
+
+ #
+ # IPv4 and IPv6 PXE Boot support.
+ #
+ gEfiNetworkPkgTokenSpaceGuid.PcdIPv4PXESupport|0x01
+ gEfiNetworkPkgTokenSpaceGuid.PcdIPv6PXESupport|0x01
+
+ #
+ # TPM2 support
+ #
+!if $(TPM2_ENABLE) == TRUE
+ gEfiSecurityPkgTokenSpaceGuid.PcdTpmBaseAddress|0x0
+ gEfiSecurityPkgTokenSpaceGuid.PcdTpmInstanceGuid|{0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
+ gEfiSecurityPkgTokenSpaceGuid.PcdTpm2HashMask|0
+!else
+[PcdsPatchableInModule]
+ # make this PCD patchable instead of dynamic when TPM support is not enabled
+ # this permits setting the PCD in unreachable code without pulling in dynamic PCD support
+ gEfiSecurityPkgTokenSpaceGuid.PcdTpmBaseAddress|0x0
+!endif
+
+[PcdsDynamicHii]
+ gUefiOvmfPkgTokenSpaceGuid.PcdForceNoAcpi|L"ForceNoAcpi"|gOvmfVariableGuid|0x0|FALSE|NV,BS
+
+!if $(TPM2_CONFIG_ENABLE) == TRUE
+ gEfiSecurityPkgTokenSpaceGuid.PcdTcgPhysicalPresenceInterfaceVer|L"TCG2_VERSION"|gTcg2ConfigFormSetGuid|0x0|"1.3"|NV,BS
+ gEfiSecurityPkgTokenSpaceGuid.PcdTpm2AcpiTableRev|L"TCG2_VERSION"|gTcg2ConfigFormSetGuid|0x8|3|NV,BS
+!endif
+
+ gEfiMdePkgTokenSpaceGuid.PcdPlatformBootTimeOut|L"Timeout"|gEfiGlobalVariableGuid|0x0|5
+
+[LibraryClasses.common.PEI_CORE, LibraryClasses.common.PEIM]
+!if $(TPM2_ENABLE) == TRUE
+ PcdLib|MdePkg/Library/PeiPcdLib/PeiPcdLib.inf
+!else
+ PcdLib|MdePkg/Library/BasePcdLibNull/BasePcdLibNull.inf
+!endif
+
+################################################################################
+#
+# Components Section - list of all EDK II Modules needed by this Platform.
+#
+################################################################################
+[Components]
+
+ #
+ # SEC Phase modules
+ #
+ OvmfPkg/RiscVVirt/Sec/SecMain.inf {
+ <LibraryClasses>
+ ExtractGuidedSectionLib|EmbeddedPkg/Library/PrePiExtractGuidedSectionLib/PrePiExtractGuidedSectionLib.inf
+ LzmaDecompressLib|MdeModulePkg/Library/LzmaCustomDecompressLib/LzmaCustomDecompressLib.inf
+ PrePiLib|EmbeddedPkg/Library/PrePiLib/PrePiLib.inf
+ HobLib|EmbeddedPkg/Library/PrePiHobLib/PrePiHobLib.inf
+ PrePiHobListPointerLib|OvmfPkg/RiscVVirt/Library/PrePiHobListPointerLib/PrePiHobListPointerLib.inf
+ MemoryAllocationLib|EmbeddedPkg/Library/PrePiMemoryAllocationLib/PrePiMemoryAllocationLib.inf
+ }
+
+ #
+ # DXE
+ #
+ MdeModulePkg/Core/Dxe/DxeMain.inf {
+ <LibraryClasses>
+ NULL|MdeModulePkg/Library/DxeCrc32GuidedSectionExtractLib/DxeCrc32GuidedSectionExtractLib.inf
+ DevicePathLib|MdePkg/Library/UefiDevicePathLib/UefiDevicePathLib.inf
+ }
+
+ MdeModulePkg/Universal/PCD/Dxe/Pcd.inf {
+ <LibraryClasses>
+ PcdLib|MdePkg/Library/BasePcdLibNull/BasePcdLibNull.inf
+ DebugLib|MdePkg/Library/BaseDebugLibNull/BaseDebugLibNull.inf
+ DevicePathLib|MdePkg/Library/UefiDevicePathLib/UefiDevicePathLib.inf
+ }
+
+ #
+ # Architectural Protocols
+ #
+ UefiCpuPkg/CpuDxeRiscV64/CpuDxeRiscV64.inf
+ MdeModulePkg/Core/RuntimeDxe/RuntimeDxe.inf
+ MdeModulePkg/Universal/Variable/RuntimeDxe/VariableRuntimeDxe.inf {
+ <LibraryClasses>
+ NULL|MdeModulePkg/Library/VarCheckUefiLib/VarCheckUefiLib.inf
+ # do not use unaligned CopyMem () on the UEFI varstore NOR flash region
+ BaseMemoryLib|MdePkg/Library/BaseMemoryLib/BaseMemoryLib.inf
+ }
+
+!if $(SECURE_BOOT_ENABLE) == TRUE
+ MdeModulePkg/Universal/SecurityStubDxe/SecurityStubDxe.inf {
+ <LibraryClasses>
+ NULL|SecurityPkg/Library/DxeImageVerificationLib/DxeImageVerificationLib.inf
+!if $(TPM2_ENABLE) == TRUE
+ NULL|SecurityPkg/Library/DxeTpm2MeasureBootLib/DxeTpm2MeasureBootLib.inf
+!endif
+ }
+ SecurityPkg/VariableAuthenticated/SecureBootConfigDxe/SecureBootConfigDxe.inf
+ OvmfPkg/EnrollDefaultKeys/EnrollDefaultKeys.inf
+!else
+ MdeModulePkg/Universal/SecurityStubDxe/SecurityStubDxe.inf
+!endif
+ MdeModulePkg/Universal/CapsuleRuntimeDxe/CapsuleRuntimeDxe.inf
+ MdeModulePkg/Universal/FaultTolerantWriteDxe/FaultTolerantWriteDxe.inf
+ MdeModulePkg/Universal/MonotonicCounterRuntimeDxe/MonotonicCounterRuntimeDxe.inf
+ MdeModulePkg/Universal/ResetSystemRuntimeDxe/ResetSystemRuntimeDxe.inf
+ EmbeddedPkg/RealTimeClockRuntimeDxe/RealTimeClockRuntimeDxe.inf
+ EmbeddedPkg/MetronomeDxe/MetronomeDxe.inf
+
+ MdeModulePkg/Universal/Console/ConPlatformDxe/ConPlatformDxe.inf
+ MdeModulePkg/Universal/Console/ConSplitterDxe/ConSplitterDxe.inf
+ MdeModulePkg/Universal/Console/GraphicsConsoleDxe/GraphicsConsoleDxe.inf
+ MdeModulePkg/Universal/Console/TerminalDxe/TerminalDxe.inf
+ MdeModulePkg/Universal/SerialDxe/SerialDxe.inf
+
+ MdeModulePkg/Universal/HiiDatabaseDxe/HiiDatabaseDxe.inf
+
+ UefiCpuPkg/CpuTimerDxeRiscV64/CpuTimerDxeRiscV64.inf
+ OvmfPkg/VirtNorFlashDxe/VirtNorFlashDxe.inf
+ MdeModulePkg/Universal/WatchdogTimerDxe/WatchdogTimer.inf
+
+ #
+ # Status Code Routing
+ #
+ MdeModulePkg/Universal/ReportStatusCodeRouter/RuntimeDxe/ReportStatusCodeRouterRuntimeDxe.inf
+ MdeModulePkg/Universal/StatusCodeHandler/RuntimeDxe/StatusCodeHandlerRuntimeDxe.inf
+
+ #
+ # Platform Driver
+ #
+ OvmfPkg/Fdt/VirtioFdtDxe/VirtioFdtDxe.inf
+ EmbeddedPkg/Drivers/FdtClientDxe/FdtClientDxe.inf {
+ <LibraryClasses>
+ DevicePathLib|MdePkg/Library/UefiDevicePathLib/UefiDevicePathLib.inf
+ PcdLib|MdePkg/Library/BasePcdLibNull/BasePcdLibNull.inf
+ DebugLib|MdePkg/Library/BaseDebugLibNull/BaseDebugLibNull.inf
+ }
+ OvmfPkg/Fdt/HighMemDxe/HighMemDxe.inf
+ OvmfPkg/VirtioBlkDxe/VirtioBlk.inf
+ OvmfPkg/VirtioScsiDxe/VirtioScsi.inf
+ OvmfPkg/VirtioNetDxe/VirtioNet.inf
+ OvmfPkg/VirtioRngDxe/VirtioRng.inf
+
+ #
+ # FAT filesystem + GPT/MBR partitioning + UDF filesystem + virtio-fs
+ #
+ MdeModulePkg/Universal/Disk/DiskIoDxe/DiskIoDxe.inf
+ MdeModulePkg/Universal/Disk/PartitionDxe/PartitionDxe.inf
+ MdeModulePkg/Universal/Disk/UnicodeCollation/EnglishDxe/EnglishDxe.inf
+ FatPkg/EnhancedFatDxe/Fat.inf
+ MdeModulePkg/Universal/Disk/UdfDxe/UdfDxe.inf
+ OvmfPkg/VirtioFsDxe/VirtioFsDxe.inf
+
+ #
+ # Bds
+ #
+ MdeModulePkg/Universal/DevicePathDxe/DevicePathDxe.inf {
+ <LibraryClasses>
+ DevicePathLib|MdePkg/Library/UefiDevicePathLib/UefiDevicePathLib.inf
+ PcdLib|MdePkg/Library/BasePcdLibNull/BasePcdLibNull.inf
+ DebugLib|MdePkg/Library/BaseDebugLibNull/BaseDebugLibNull.inf
+ }
+ MdeModulePkg/Universal/DisplayEngineDxe/DisplayEngineDxe.inf
+ MdeModulePkg/Universal/SetupBrowserDxe/SetupBrowserDxe.inf
+ MdeModulePkg/Universal/DriverHealthManagerDxe/DriverHealthManagerDxe.inf
+ MdeModulePkg/Universal/BdsDxe/BdsDxe.inf
+ MdeModulePkg/Logo/LogoDxe.inf
+ MdeModulePkg/Application/UiApp/UiApp.inf {
+ <LibraryClasses>
+ NULL|MdeModulePkg/Library/DeviceManagerUiLib/DeviceManagerUiLib.inf
+ NULL|MdeModulePkg/Library/BootManagerUiLib/BootManagerUiLib.inf
+ NULL|MdeModulePkg/Library/BootMaintenanceManagerUiLib/BootMaintenanceManagerUiLib.inf
+ }
+ OvmfPkg/QemuKernelLoaderFsDxe/QemuKernelLoaderFsDxe.inf {
+ <LibraryClasses>
+ NULL|OvmfPkg/Library/BlobVerifierLibNull/BlobVerifierLibNull.inf
+ }
+
+ NetworkPkg/UefiPxeBcDxe/UefiPxeBcDxe.inf {
+ <LibraryClasses>
+ NULL|OvmfPkg/Library/PxeBcPcdProducerLib/PxeBcPcdProducerLib.inf
+ }
+
+!if $(NETWORK_TLS_ENABLE) == TRUE
+ NetworkPkg/TlsAuthConfigDxe/TlsAuthConfigDxe.inf {
+ <LibraryClasses>
+ NULL|OvmfPkg/Library/TlsAuthConfigLib/TlsAuthConfigLib.inf
+ }
+!endif
+
+ #
+ # SCSI Bus and Disk Driver
+ #
+ MdeModulePkg/Bus/Scsi/ScsiBusDxe/ScsiBusDxe.inf
+ MdeModulePkg/Bus/Scsi/ScsiDiskDxe/ScsiDiskDxe.inf
+
+ #
+ # SATA
+ #
+ MdeModulePkg/Bus/Pci/SataControllerDxe/SataControllerDxe.inf
+ MdeModulePkg/Bus/Ata/AtaBusDxe/AtaBusDxe.inf
+ MdeModulePkg/Bus/Ata/AtaAtapiPassThru/AtaAtapiPassThru.inf
+
+ #
+ # NVME Driver
+ #
+ MdeModulePkg/Bus/Pci/NvmExpressDxe/NvmExpressDxe.inf
+
+ #
+ # SMBIOS Support
+ #
+ MdeModulePkg/Universal/SmbiosDxe/SmbiosDxe.inf {
+ <LibraryClasses>
+ NULL|OvmfPkg/Library/SmbiosVersionLib/DetectSmbiosVersionLib.inf
+ }
+ OvmfPkg/SmbiosPlatformDxe/SmbiosPlatformDxe.inf
+
+ #
+ # PCI support
+ #
+ UefiCpuPkg/CpuMmio2Dxe/CpuMmio2Dxe.inf {
+ <LibraryClasses>
+ NULL|OvmfPkg/Fdt/FdtPciPcdProducerLib/FdtPciPcdProducerLib.inf
+ }
+ MdeModulePkg/Bus/Pci/PciHostBridgeDxe/PciHostBridgeDxe.inf
+ MdeModulePkg/Bus/Pci/PciBusDxe/PciBusDxe.inf {
+ <LibraryClasses>
+ NULL|OvmfPkg/Fdt/FdtPciPcdProducerLib/FdtPciPcdProducerLib.inf
+ }
+ OvmfPkg/PciHotPlugInitDxe/PciHotPlugInit.inf
+ OvmfPkg/VirtioPciDeviceDxe/VirtioPciDeviceDxe.inf
+ OvmfPkg/Virtio10Dxe/Virtio10.inf
+
+ #
+ # Video support
+ #
+ OvmfPkg/QemuRamfbDxe/QemuRamfbDxe.inf
+ OvmfPkg/VirtioGpuDxe/VirtioGpu.inf
+ OvmfPkg/PlatformDxe/Platform.inf
+
+ #
+ # USB Support
+ #
+ MdeModulePkg/Bus/Pci/UhciDxe/UhciDxe.inf
+ MdeModulePkg/Bus/Pci/EhciDxe/EhciDxe.inf
+ MdeModulePkg/Bus/Pci/XhciDxe/XhciDxe.inf
+ MdeModulePkg/Bus/Usb/UsbBusDxe/UsbBusDxe.inf
+ MdeModulePkg/Bus/Usb/UsbKbDxe/UsbKbDxe.inf
+ MdeModulePkg/Bus/Usb/UsbMassStorageDxe/UsbMassStorageDxe.inf
+
+ #
+ # TPM2 support
+ #
+!if $(TPM2_ENABLE) == TRUE
+ SecurityPkg/Tcg/Tcg2Dxe/Tcg2Dxe.inf {
+ <LibraryClasses>
+ HashLib|SecurityPkg/Library/HashLibBaseCryptoRouter/HashLibBaseCryptoRouterDxe.inf
+ Tpm2DeviceLib|SecurityPkg/Library/Tpm2DeviceLibRouter/Tpm2DeviceLibRouterDxe.inf
+ NULL|SecurityPkg/Library/Tpm2DeviceLibDTpm/Tpm2InstanceLibDTpm.inf
+ NULL|SecurityPkg/Library/HashInstanceLibSha1/HashInstanceLibSha1.inf
+ NULL|SecurityPkg/Library/HashInstanceLibSha256/HashInstanceLibSha256.inf
+ NULL|SecurityPkg/Library/HashInstanceLibSha384/HashInstanceLibSha384.inf
+ NULL|SecurityPkg/Library/HashInstanceLibSha512/HashInstanceLibSha512.inf
+ NULL|SecurityPkg/Library/HashInstanceLibSm3/HashInstanceLibSm3.inf
+ }
+!if $(TPM2_CONFIG_ENABLE) == TRUE
+ SecurityPkg/Tcg/Tcg2Config/Tcg2ConfigDxe.inf
+!endif
+!endif
+
+ #
+ # ACPI Support
+ #
+ OvmfPkg/PlatformHasAcpiDtDxe/PlatformHasAcpiDtDxe.inf
+ MdeModulePkg/Universal/Acpi/BootGraphicsResourceTableDxe/BootGraphicsResourceTableDxe.inf
+ OvmfPkg/AcpiPlatformDxe/AcpiPlatformDxe.inf {
+ <LibraryClasses>
+ NULL|OvmfPkg/Fdt/FdtPciPcdProducerLib/FdtPciPcdProducerLib.inf
+ }
diff --git a/Platform/Qemu/RiscVQemuServerPlatform/RiscVQemuServerPlatform.dsc.inc b/Platform/Qemu/RiscVQemuServerPlatform/RiscVQemuServerPlatform.dsc.inc
new file mode 100644
index 00000000..06da8034
--- /dev/null
+++ b/Platform/Qemu/RiscVQemuServerPlatform/RiscVQemuServerPlatform.dsc.inc
@@ -0,0 +1,341 @@
+## @file
+# RISC-V Qemu-based Server Platform
+#
+# Copyright (c) 2022, Ventana Micro Systems Inc. All rights reserved.
+# Copyright (c) 2011 - 2022, ARM Limited. All rights reserved.
+# Copyright (c) 2014, Linaro Limited. All rights reserved.
+# Copyright (c) 2015 - 2024, Intel Corporation. All rights reserved.
+# Copyright (c) Microsoft Corporation.
+# Copyright (C) 2024, Alibaba Group Holding Limited.<BR>
+#
+# SPDX-License-Identifier: BSD-2-Clause-Patent
+#
+#
+
+[Defines]
+ DEFINE DEBUG_PRINT_ERROR_LEVEL = 0x80000047
+
+[LibraryClasses.common]
+!ifdef $(SOURCE_DEBUG_ENABLE)
+ PeCoffExtraActionLib|SourceLevelDebugPkg/Library/PeCoffExtraActionLibDebug/PeCoffExtraActionLibDebug.inf
+ DebugCommunicationLib|SourceLevelDebugPkg/Library/DebugCommunicationLibSerialPort/DebugCommunicationLibSerialPort.inf
+!else
+ PeCoffExtraActionLib|MdePkg/Library/BasePeCoffExtraActionLibNull/BasePeCoffExtraActionLibNull.inf
+ DebugAgentLib|MdeModulePkg/Library/DebugAgentLibNull/DebugAgentLibNull.inf
+ DebugLib|MdePkg/Library/BaseDebugLibNull/BaseDebugLibNull.inf
+!endif
+!if $(DEBUG_ON_SERIAL_PORT) == TRUE
+ DebugLib|MdePkg/Library/BaseDebugLibSerialPort/BaseDebugLibSerialPort.inf
+!else
+ DebugLib|MdePkg/Library/BaseDebugLibNull/BaseDebugLibNull.inf
+!endif
+ DebugPrintErrorLevelLib|MdePkg/Library/BaseDebugPrintErrorLevelLib/BaseDebugPrintErrorLevelLib.inf
+ PrintLib|MdePkg/Library/BasePrintLib/BasePrintLib.inf
+ BaseLib|MdePkg/Library/BaseLib/BaseLib.inf
+ SafeIntLib|MdePkg/Library/BaseSafeIntLib/BaseSafeIntLib.inf
+ BmpSupportLib|MdeModulePkg/Library/BaseBmpSupportLib/BaseBmpSupportLib.inf
+ SynchronizationLib|MdePkg/Library/BaseSynchronizationLib/BaseSynchronizationLib.inf
+ PrintLib|MdePkg/Library/BasePrintLib/BasePrintLib.inf
+ PeCoffGetEntryPointLib|MdePkg/Library/BasePeCoffGetEntryPointLib/BasePeCoffGetEntryPointLib.inf
+ PeCoffLib|MdePkg/Library/BasePeCoffLib/BasePeCoffLib.inf
+ IoLib|MdePkg/Library/BaseIoLibIntrinsic/BaseIoLibIntrinsic.inf
+ UefiDecompressLib|MdePkg/Library/BaseUefiDecompressLib/BaseUefiDecompressLib.inf
+ CpuLib|MdePkg/Library/BaseCpuLib/BaseCpuLib.inf
+ CacheMaintenanceLib|MdePkg/Library/BaseCacheMaintenanceLib/BaseCacheMaintenanceLib.inf
+ UefiLib|MdePkg/Library/UefiLib/UefiLib.inf
+ HobLib|MdePkg/Library/DxeHobLib/DxeHobLib.inf
+ UefiRuntimeServicesTableLib|MdePkg/Library/UefiRuntimeServicesTableLib/UefiRuntimeServicesTableLib.inf
+ DevicePathLib|MdePkg/Library/UefiDevicePathLibDevicePathProtocol/UefiDevicePathLibDevicePathProtocol.inf
+ UefiBootServicesTableLib|MdePkg/Library/UefiBootServicesTableLib/UefiBootServicesTableLib.inf
+ DxeServicesTableLib|MdePkg/Library/DxeServicesTableLib/DxeServicesTableLib.inf
+ DxeServicesLib|MdePkg/Library/DxeServicesLib/DxeServicesLib.inf
+ UefiDriverEntryPoint|MdePkg/Library/UefiDriverEntryPoint/UefiDriverEntryPoint.inf
+ UefiApplicationEntryPoint|MdePkg/Library/UefiApplicationEntryPoint/UefiApplicationEntryPoint.inf
+ HiiLib|MdeModulePkg/Library/UefiHiiLib/UefiHiiLib.inf
+ UefiHiiServicesLib|MdeModulePkg/Library/UefiHiiServicesLib/UefiHiiServicesLib.inf
+ SortLib|MdeModulePkg/Library/UefiSortLib/UefiSortLib.inf
+ ShellLib|ShellPkg/Library/UefiShellLib/UefiShellLib.inf
+ ShellCEntryLib|ShellPkg/Library/UefiShellCEntryLib/UefiShellCEntryLib.inf
+ FileHandleLib|MdePkg/Library/UefiFileHandleLib/UefiFileHandleLib.inf
+ PeCoffExtraActionLib|MdePkg/Library/BasePeCoffExtraActionLibNull/BasePeCoffExtraActionLibNull.inf
+ UefiRuntimeLib|MdePkg/Library/UefiRuntimeLib/UefiRuntimeLib.inf
+ OrderedCollectionLib|MdePkg/Library/BaseOrderedCollectionRedBlackTreeLib/BaseOrderedCollectionRedBlackTreeLib.inf
+ OemHookStatusCodeLib|MdeModulePkg/Library/OemHookStatusCodeLibNull/OemHookStatusCodeLibNull.inf
+ PeiServicesLib|MdePkg/Library/PeiServicesLib/PeiServicesLib.inf
+
+ #
+ # Ramdisk Requirements
+ #
+ FileExplorerLib|MdeModulePkg/Library/FileExplorerLib/FileExplorerLib.inf
+
+ # Allow dynamic PCDs
+ #
+
+ BaseMemoryLib|MdePkg/Library/BaseMemoryLib/BaseMemoryLib.inf
+
+ # Networking Requirements
+!include NetworkPkg/NetworkLibs.dsc.inc
+!if $(NETWORK_TLS_ENABLE) == TRUE
+ TlsLib|CryptoPkg/Library/TlsLib/TlsLib.inf
+!endif
+
+
+ # Add support for GCC stack protector
+ NULL|MdePkg/Library/BaseStackCheckLib/BaseStackCheckLib.inf
+
+ # RISC-V Architectural Libraries
+ CpuExceptionHandlerLib|UefiCpuPkg/Library/BaseRiscV64CpuExceptionHandlerLib/BaseRiscV64CpuExceptionHandlerLib.inf
+ RiscVSbiLib|MdePkg/Library/BaseRiscVSbiLib/BaseRiscVSbiLib.inf
+ RiscVMmuLib|UefiCpuPkg/Library/BaseRiscVMmuLib/BaseRiscVMmuLib.inf
+ PlatformBootManagerLib|OvmfPkg/RiscVVirt/Library/PlatformBootManagerLib/PlatformBootManagerLib.inf
+ ResetSystemLib|Platform/RISC-V/PlatformPkg/Library/ResetSystemLib/ResetSystemLib.inf
+
+ RealTimeClockLib|EmbeddedPkg/Library/VirtualRealTimeClockLib/VirtualRealTimeClockLib.inf
+ TimeBaseLib|EmbeddedPkg/Library/TimeBaseLib/TimeBaseLib.inf
+ SerialPortLib|MdeModulePkg/Library/BaseSerialPortLib16550/BaseSerialPortLib16550.inf
+
+ DebugAgentLib|MdeModulePkg/Library/DebugAgentLibNull/DebugAgentLibNull.inf
+ DebugAgentTimerLib|EmbeddedPkg/Library/DebugAgentTimerLibNull/DebugAgentTimerLibNull.inf
+
+ # Flattened Device Tree (FDT) access library
+ FdtLib|EmbeddedPkg/Library/FdtLib/FdtLib.inf
+
+ # PCI Libraries
+ PciLib|MdePkg/Library/BasePciLibPciExpress/BasePciLibPciExpress.inf
+ PciExpressLib|MdePkg/Library/BasePciExpressLib/BasePciExpressLib.inf
+ PciCapLib|OvmfPkg/Library/BasePciCapLib/BasePciCapLib.inf
+ PciCapPciSegmentLib|OvmfPkg/Library/BasePciCapPciSegmentLib/BasePciCapPciSegmentLib.inf
+ PciCapPciIoLib|OvmfPkg/Library/UefiPciCapPciIoLib/UefiPciCapPciIoLib.inf
+ DxeHardwareInfoLib|OvmfPkg/Library/HardwareInfoLib/DxeHardwareInfoLib.inf
+
+ # USB Libraries
+ UefiUsbLib|MdePkg/Library/UefiUsbLib/UefiUsbLib.inf
+
+ #
+ # CryptoPkg libraries needed by multiple firmware features
+ #
+ IntrinsicLib|CryptoPkg/Library/IntrinsicLib/IntrinsicLib.inf
+!if $(NETWORK_TLS_ENABLE) == TRUE
+ OpensslLib|CryptoPkg/Library/OpensslLib/OpensslLib.inf
+!else
+ OpensslLib|CryptoPkg/Library/OpensslLib/OpensslLibCrypto.inf
+!endif
+ BaseCryptLib|CryptoPkg/Library/BaseCryptLib/BaseCryptLib.inf
+ RngLib|MdePkg/Library/BaseRngLibTimerLib/BaseRngLibTimerLib.inf
+
+ #
+ # Secure Boot dependencies
+ #
+!if $(SECURE_BOOT_ENABLE) == TRUE
+ AuthVariableLib|SecurityPkg/Library/AuthVariableLib/AuthVariableLib.inf
+ SecureBootVariableLib|SecurityPkg/Library/SecureBootVariableLib/SecureBootVariableLib.inf
+ SecureBootVariableProvisionLib|SecurityPkg/Library/SecureBootVariableProvisionLib/SecureBootVariableProvisionLib.inf
+ PlatformPKProtectionLib|SecurityPkg/Library/PlatformPKProtectionLibVarPolicy/PlatformPKProtectionLibVarPolicy.inf
+
+ # re-use the UserPhysicalPresent() dummy implementation from the ovmf tree
+ PlatformSecureLib|OvmfPkg/Library/PlatformSecureLib/PlatformSecureLib.inf
+!else
+ AuthVariableLib|MdeModulePkg/Library/AuthVariableLibNull/AuthVariableLibNull.inf
+!endif
+ VarCheckLib|MdeModulePkg/Library/VarCheckLib/VarCheckLib.inf
+ VariableFlashInfoLib|MdeModulePkg/Library/BaseVariableFlashInfoLib/BaseVariableFlashInfoLib.inf
+ VariablePolicyLib|MdeModulePkg/Library/VariablePolicyLib/VariablePolicyLib.inf
+ VariablePolicyHelperLib|MdeModulePkg/Library/VariablePolicyHelperLib/VariablePolicyHelperLib.inf
+ UefiBootManagerLib|MdeModulePkg/Library/UefiBootManagerLib/UefiBootManagerLib.inf
+ ReportStatusCodeLib|MdeModulePkg/Library/DxeReportStatusCodeLib/DxeReportStatusCodeLib.inf
+ PerformanceLib|MdeModulePkg/Library/DxePerformanceLib/DxePerformanceLib.inf
+ ExtractGuidedSectionLib|MdePkg/Library/DxeExtractGuidedSectionLib/DxeExtractGuidedSectionLib.inf
+ PcdLib|MdePkg/Library/DxePcdLib/DxePcdLib.inf
+ HobLib|MdePkg/Library/DxeHobLib/DxeHobLib.inf
+
+[LibraryClasses.common.SEC]
+ PcdLib|MdePkg/Library/BasePcdLibNull/BasePcdLibNull.inf
+ BaseMemoryLib|MdePkg/Library/BaseMemoryLib/BaseMemoryLib.inf
+ PerformanceLib|MdePkg/Library/BasePerformanceLibNull/BasePerformanceLibNull.inf
+ ReportStatusCodeLib|MdeModulePkg/Library/PeiReportStatusCodeLib/PeiReportStatusCodeLib.inf
+ ExtractGuidedSectionLib|MdePkg/Library/BaseExtractGuidedSectionLib/BaseExtractGuidedSectionLib.inf
+ PlatformSecLib|UefiCpuPkg/Library/PlatformSecLibNull/PlatformSecLibNull.inf
+ HobLib|EmbeddedPkg/Library/PrePiHobLib/PrePiHobLib.inf
+ PrePiHobListPointerLib|OvmfPkg/RiscVVirt/Library/PrePiHobListPointerLib/PrePiHobListPointerLib.inf
+ MemoryAllocationLib|EmbeddedPkg/Library/PrePiMemoryAllocationLib/PrePiMemoryAllocationLib.inf
+
+[LibraryClasses.common.DXE_CORE]
+ PerformanceLib|MdeModulePkg/Library/DxeCorePerformanceLib/DxeCorePerformanceLib.inf
+ HobLib|MdePkg/Library/DxeCoreHobLib/DxeCoreHobLib.inf
+ MemoryAllocationLib|MdeModulePkg/Library/DxeCoreMemoryAllocationLib/DxeCoreMemoryAllocationLib.inf
+ DxeCoreEntryPoint|MdePkg/Library/DxeCoreEntryPoint/DxeCoreEntryPoint.inf
+
+[LibraryClasses.common.DXE_DRIVER]
+ SecurityManagementLib|MdeModulePkg/Library/DxeSecurityManagementLib/DxeSecurityManagementLib.inf
+ MemoryAllocationLib|MdePkg/Library/UefiMemoryAllocationLib/UefiMemoryAllocationLib.inf
+
+[LibraryClasses.common.UEFI_APPLICATION]
+ MemoryAllocationLib|MdePkg/Library/UefiMemoryAllocationLib/UefiMemoryAllocationLib.inf
+ HiiLib|MdeModulePkg/Library/UefiHiiLib/UefiHiiLib.inf
+
+[LibraryClasses.common.UEFI_DRIVER]
+ MemoryAllocationLib|MdePkg/Library/UefiMemoryAllocationLib/UefiMemoryAllocationLib.inf
+
+[LibraryClasses.common.DXE_RUNTIME_DRIVER]
+ MemoryAllocationLib|MdePkg/Library/UefiMemoryAllocationLib/UefiMemoryAllocationLib.inf
+ CapsuleLib|MdeModulePkg/Library/DxeCapsuleLibNull/DxeCapsuleLibNull.inf
+!if $(DEBUG_ON_SERIAL_PORT) == TRUE
+ DebugLib|MdePkg/Library/DxeRuntimeDebugLibSerialPort/DxeRuntimeDebugLibSerialPort.inf
+!endif
+ VariablePolicyLib|MdeModulePkg/Library/VariablePolicyLib/VariablePolicyLibRuntimeDxe.inf
+
+!if $(SECURE_BOOT_ENABLE) == TRUE
+ BaseCryptLib|CryptoPkg/Library/BaseCryptLib/RuntimeCryptLib.inf
+!endif
+
+################################################################################
+#
+# Pcd Section - list of all EDK II PCD Entries defined by this Platform
+#
+################################################################################
+
+[PcdsFeatureFlag.common]
+ gEfiMdeModulePkgTokenSpaceGuid.PcdHiiOsRuntimeSupport|FALSE
+
+ gEmbeddedTokenSpaceGuid.PcdPrePiProduceMemoryTypeInformationHob|TRUE
+
+[PcdsFeatureFlag]
+ #
+ # Activate AcpiSdtProtocol
+ #
+ gEfiMdeModulePkgTokenSpaceGuid.PcdInstallAcpiSdtProtocol|TRUE
+
+[PcdsFixedAtBuild.common]
+ gEfiMdePkgTokenSpaceGuid.PcdRiscVFeatureOverride|0xFFFFFFFFFFFFFFF8
+ gEfiMdePkgTokenSpaceGuid.PcdMaximumUnicodeStringLength|1000000
+ gEfiMdePkgTokenSpaceGuid.PcdMaximumAsciiStringLength|1000000
+ gEfiMdePkgTokenSpaceGuid.PcdMaximumLinkedListLength|0
+ gEfiMdePkgTokenSpaceGuid.PcdSpinLockTimeout|10000000
+ gEfiMdePkgTokenSpaceGuid.PcdUefiLibMaxPrintBufferSize|320
+
+ # DEBUG_ASSERT_ENABLED 0x01
+ # DEBUG_PRINT_ENABLED 0x02
+ # DEBUG_CODE_ENABLED 0x04
+ # CLEAR_MEMORY_ENABLED 0x08
+ # ASSERT_BREAKPOINT_ENABLED 0x10
+ # ASSERT_DEADLOOP_ENABLED 0x20
+!if $(DEBUG_ON_SERIAL_PORT) != TRUE
+ gEfiMdePkgTokenSpaceGuid.PcdDebugPropertyMask|0x21
+!else
+ gEfiMdePkgTokenSpaceGuid.PcdDebugPropertyMask|0x2f
+!endif
+
+ # DEBUG_INIT 0x00000001 // Initialization
+ # DEBUG_WARN 0x00000002 // Warnings
+ # DEBUG_LOAD 0x00000004 // Load events
+ # DEBUG_FS 0x00000008 // EFI File system
+ # DEBUG_POOL 0x00000010 // Alloc & Free (pool)
+ # DEBUG_PAGE 0x00000020 // Alloc & Free (page)
+ # DEBUG_INFO 0x00000040 // Informational debug messages
+ # DEBUG_DISPATCH 0x00000080 // PEI/DXE/SMM Dispatchers
+ # DEBUG_VARIABLE 0x00000100 // Variable
+ # DEBUG_BM 0x00000400 // Boot Manager
+ # DEBUG_BLKIO 0x00001000 // BlkIo Driver
+ # DEBUG_NET 0x00004000 // SNP Driver
+ # DEBUG_UNDI 0x00010000 // UNDI Driver
+ # DEBUG_LOADFILE 0x00020000 // LoadFile
+ # DEBUG_EVENT 0x00080000 // Event messages
+ # DEBUG_GCD 0x00100000 // Global Coherency Database changes
+ # DEBUG_CACHE 0x00200000 // Memory range cachability changes
+ # DEBUG_VERBOSE 0x00400000 // Detailed debug messages that may
+ # // significantly impact boot performance
+ # DEBUG_ERROR 0x80000000 // Error
+!if $(DEBUG_ON_SERIAL_PORT) == TRUE
+ gEfiMdePkgTokenSpaceGuid.PcdDebugPrintErrorLevel|$(DEBUG_PRINT_ERROR_LEVEL)
+!endif
+
+ #
+ # Optional feature to help prevent EFI memory map fragments
+ # Turned on and off via: PcdPrePiProduceMemoryTypeInformationHob
+ # Values are in EFI Pages (4K). DXE Core will make sure that
+ # at least this much of each type of memory can be allocated
+ # from a single memory range. This way you only end up with
+ # maximum of two fragments for each type in the memory map
+ # (the memory used, and the free memory that was prereserved
+ # but not used).
+ #
+ gEmbeddedTokenSpaceGuid.PcdMemoryTypeEfiACPIReclaimMemory|0
+ gEmbeddedTokenSpaceGuid.PcdMemoryTypeEfiACPIMemoryNVS|0
+ gEmbeddedTokenSpaceGuid.PcdMemoryTypeEfiReservedMemoryType|0
+!if $(SECURE_BOOT_ENABLE) == TRUE
+ gEmbeddedTokenSpaceGuid.PcdMemoryTypeEfiRuntimeServicesData|600
+ gEmbeddedTokenSpaceGuid.PcdMemoryTypeEfiRuntimeServicesCode|400
+ gEmbeddedTokenSpaceGuid.PcdMemoryTypeEfiBootServicesCode|1500
+!else
+ gEmbeddedTokenSpaceGuid.PcdMemoryTypeEfiRuntimeServicesData|300
+ gEmbeddedTokenSpaceGuid.PcdMemoryTypeEfiRuntimeServicesCode|150
+ gEmbeddedTokenSpaceGuid.PcdMemoryTypeEfiBootServicesCode|1000
+!endif
+ gEmbeddedTokenSpaceGuid.PcdMemoryTypeEfiBootServicesData|6000
+ gEmbeddedTokenSpaceGuid.PcdMemoryTypeEfiLoaderCode|20
+ gEmbeddedTokenSpaceGuid.PcdMemoryTypeEfiLoaderData|0
+
+ #
+ # Enable strict image permissions for all images. (This applies
+ # only to images that were built with >= 4 KB section alignment.)
+ #
+ gEfiMdeModulePkgTokenSpaceGuid.PcdImageProtectionPolicy|0x3
+
+ #
+ # Enable NX memory protection for all non-code regions, including OEM and OS
+ # reserved ones, with the exception of LoaderData regions, of which OS loaders
+ # (i.e., GRUB) may assume that its contents are executable.
+ #
+ gEfiMdeModulePkgTokenSpaceGuid.PcdDxeNxMemoryProtectionPolicy|0xC000000000007FD5
+
+[Components.common]
+ #
+ # Ramdisk support
+ #
+ MdeModulePkg/Universal/Disk/RamDiskDxe/RamDiskDxe.inf
+
+ ShellPkg/DynamicCommand/TftpDynamicCommand/TftpDynamicCommand.inf {
+ <PcdsFixedAtBuild>
+ gEfiShellPkgTokenSpaceGuid.PcdShellLibAutoInitialize|FALSE
+ }
+ ShellPkg/DynamicCommand/HttpDynamicCommand/HttpDynamicCommand.inf {
+ <PcdsFixedAtBuild>
+ gEfiShellPkgTokenSpaceGuid.PcdShellLibAutoInitialize|FALSE
+ }
+ OvmfPkg/LinuxInitrdDynamicShellCommand/LinuxInitrdDynamicShellCommand.inf {
+ <PcdsFixedAtBuild>
+ gEfiShellPkgTokenSpaceGuid.PcdShellLibAutoInitialize|FALSE
+ }
+ ShellPkg/Application/Shell/Shell.inf {
+ <LibraryClasses>
+ ShellCommandLib|ShellPkg/Library/UefiShellCommandLib/UefiShellCommandLib.inf
+ NULL|ShellPkg/Library/UefiShellLevel2CommandsLib/UefiShellLevel2CommandsLib.inf
+ NULL|ShellPkg/Library/UefiShellLevel1CommandsLib/UefiShellLevel1CommandsLib.inf
+ NULL|ShellPkg/Library/UefiShellLevel3CommandsLib/UefiShellLevel3CommandsLib.inf
+ NULL|ShellPkg/Library/UefiShellDriver1CommandsLib/UefiShellDriver1CommandsLib.inf
+ NULL|ShellPkg/Library/UefiShellDebug1CommandsLib/UefiShellDebug1CommandsLib.inf
+!if $(ACPIVIEW_ENABLE) == TRUE
+ NULL|ShellPkg/Library/UefiShellAcpiViewCommandLib/UefiShellAcpiViewCommandLib.inf
+!endif
+ NULL|ShellPkg/Library/UefiShellInstall1CommandsLib/UefiShellInstall1CommandsLib.inf
+ NULL|ShellPkg/Library/UefiShellNetwork1CommandsLib/UefiShellNetwork1CommandsLib.inf
+!if $(NETWORK_IP6_ENABLE) == TRUE
+ NULL|ShellPkg/Library/UefiShellNetwork2CommandsLib/UefiShellNetwork2CommandsLib.inf
+!endif
+ HandleParsingLib|ShellPkg/Library/UefiHandleParsingLib/UefiHandleParsingLib.inf
+ PrintLib|MdePkg/Library/BasePrintLib/BasePrintLib.inf
+ BcfgCommandLib|ShellPkg/Library/UefiShellBcfgCommandLib/UefiShellBcfgCommandLib.inf
+
+ <PcdsFixedAtBuild>
+ gEfiMdePkgTokenSpaceGuid.PcdDebugPropertyMask|0xFF
+ gEfiShellPkgTokenSpaceGuid.PcdShellLibAutoInitialize|FALSE
+ gEfiMdePkgTokenSpaceGuid.PcdUefiLibMaxPrintBufferSize|8000
+ }
+
+ #
+ # ACPI Support
+ #
+ MdeModulePkg/Universal/Acpi/AcpiTableDxe/AcpiTableDxe.inf {
+ <LibraryClasses>
+ NULL|EmbeddedPkg/Library/PlatformHasAcpiLib/PlatformHasAcpiLib.inf
+ }
diff --git a/Platform/Qemu/RiscVQemuServerPlatform/RiscVQemuServerPlatform.fdf b/Platform/Qemu/RiscVQemuServerPlatform/RiscVQemuServerPlatform.fdf
new file mode 100644
index 00000000..e2962993
--- /dev/null
+++ b/Platform/Qemu/RiscVQemuServerPlatform/RiscVQemuServerPlatform.fdf
@@ -0,0 +1,315 @@
+## @file
+# RISC-V Qemu-based Server Platform
+#
+# Copyright (c) 2024, Intel Corporation. All rights reserved.<BR>
+# Copyright (c) 2021, Hewlett Packard Enterprise Development LP. All rights reserved.<BR>
+# Copyright (c) 2022, Ventana Micro Systems Inc. All rights reserved.<BR>
+# Copyright (C) 2024, Alibaba Group Holding Limited.
+#
+# SPDX-License-Identifier: BSD-2-Clause-Patent
+#
+
+!include RiscVQemuServerPlatform.fdf.inc
+
+################################################################################
+[FD.RISCV_SP_CODE]
+BaseAddress = $(CODE_BASE_ADDRESS)|gUefiOvmfPkgTokenSpaceGuid.PcdOvmfFdBaseAddress
+Size = $(CODE_SIZE)|gUefiOvmfPkgTokenSpaceGuid.PcdOvmfFirmwareFdSize
+ErasePolarity = 1
+BlockSize = $(BLOCK_SIZE)
+NumBlocks = $(CODE_BLOCKS)
+
+0x00000000|$(CODE_SIZE)
+gUefiOvmfPkgTokenSpaceGuid.PcdOvmfDxeMemFvBase|gUefiOvmfPkgTokenSpaceGuid.PcdOvmfDxeMemFvSize
+FV = FVMAIN_COMPACT
+
+################################################################################
+[FD.RISCV_SP_VARS]
+BaseAddress = $(VARS_BASE_ADDRESS)
+Size = $(VARS_SIZE)
+ErasePolarity = 1
+BlockSize = $(VARS_BLOCK_SIZE)
+NumBlocks = $(VARS_BLOCKS)
+
+!include VarStore.fdf.inc
+################################################################################
+
+[FV.DXEFV]
+BlockSize = 0x10000
+FvAlignment = 16
+ERASE_POLARITY = 1
+MEMORY_MAPPED = TRUE
+STICKY_WRITE = TRUE
+LOCK_CAP = TRUE
+LOCK_STATUS = TRUE
+WRITE_DISABLED_CAP = TRUE
+WRITE_ENABLED_CAP = TRUE
+WRITE_STATUS = TRUE
+WRITE_LOCK_CAP = TRUE
+WRITE_LOCK_STATUS = TRUE
+READ_DISABLED_CAP = TRUE
+READ_ENABLED_CAP = TRUE
+READ_STATUS = TRUE
+READ_LOCK_CAP = TRUE
+READ_LOCK_STATUS = TRUE
+
+APRIORI DXE {
+ INF MdeModulePkg/Universal/DevicePathDxe/DevicePathDxe.inf
+ INF MdeModulePkg/Universal/PCD/Dxe/Pcd.inf
+ INF MdeModulePkg/Universal/ReportStatusCodeRouter/RuntimeDxe/ReportStatusCodeRouterRuntimeDxe.inf
+ INF MdeModulePkg/Universal/StatusCodeHandler/RuntimeDxe/StatusCodeHandlerRuntimeDxe.inf
+ INF EmbeddedPkg/Drivers/FdtClientDxe/FdtClientDxe.inf
+ INF UefiCpuPkg/CpuDxeRiscV64/CpuDxeRiscV64.inf
+ INF OvmfPkg/VirtNorFlashDxe/VirtNorFlashDxe.inf
+}
+
+#
+# DXE Phase modules
+#
+INF MdeModulePkg/Core/Dxe/DxeMain.inf
+INF MdeModulePkg/Universal/PCD/Dxe/Pcd.inf
+INF MdeModulePkg/Universal/DevicePathDxe/DevicePathDxe.inf
+INF OvmfPkg/Fdt/VirtioFdtDxe/VirtioFdtDxe.inf
+INF EmbeddedPkg/Drivers/FdtClientDxe/FdtClientDxe.inf
+INF OvmfPkg/Fdt/HighMemDxe/HighMemDxe.inf
+
+#
+# PI DXE Drivers producing Architectural Protocols (EFI Services)
+#
+INF UefiCpuPkg/CpuDxeRiscV64/CpuDxeRiscV64.inf
+INF MdeModulePkg/Core/RuntimeDxe/RuntimeDxe.inf
+INF MdeModulePkg/Universal/SecurityStubDxe/SecurityStubDxe.inf
+INF MdeModulePkg/Universal/CapsuleRuntimeDxe/CapsuleRuntimeDxe.inf
+INF MdeModulePkg/Universal/FaultTolerantWriteDxe/FaultTolerantWriteDxe.inf
+INF MdeModulePkg/Universal/Variable/RuntimeDxe/VariableRuntimeDxe.inf
+!if $(SECURE_BOOT_ENABLE) == TRUE
+ INF SecurityPkg/VariableAuthenticated/SecureBootConfigDxe/SecureBootConfigDxe.inf
+!endif
+INF MdeModulePkg/Universal/MonotonicCounterRuntimeDxe/MonotonicCounterRuntimeDxe.inf
+INF MdeModulePkg/Universal/ResetSystemRuntimeDxe/ResetSystemRuntimeDxe.inf
+INF EmbeddedPkg/RealTimeClockRuntimeDxe/RealTimeClockRuntimeDxe.inf
+INF EmbeddedPkg/MetronomeDxe/MetronomeDxe.inf
+INF MdeModulePkg/Universal/HiiDatabaseDxe/HiiDatabaseDxe.inf
+
+#
+# Multiple Console IO support
+#
+INF MdeModulePkg/Universal/Console/ConPlatformDxe/ConPlatformDxe.inf
+INF MdeModulePkg/Universal/Console/ConSplitterDxe/ConSplitterDxe.inf
+INF MdeModulePkg/Universal/Console/GraphicsConsoleDxe/GraphicsConsoleDxe.inf
+INF MdeModulePkg/Universal/Console/TerminalDxe/TerminalDxe.inf
+INF MdeModulePkg/Universal/SerialDxe/SerialDxe.inf
+
+# RISC-V Core Drivers
+INF UefiCpuPkg/CpuTimerDxeRiscV64/CpuTimerDxeRiscV64.inf
+INF OvmfPkg/VirtNorFlashDxe/VirtNorFlashDxe.inf
+INF MdeModulePkg/Universal/WatchdogTimerDxe/WatchdogTimer.inf
+
+#
+# FAT filesystem + GPT/MBR partitioning + UDF filesystem + virtio-fs
+#
+INF MdeModulePkg/Universal/Disk/DiskIoDxe/DiskIoDxe.inf
+INF MdeModulePkg/Universal/Disk/PartitionDxe/PartitionDxe.inf
+INF FatPkg/EnhancedFatDxe/Fat.inf
+INF MdeModulePkg/Universal/Disk/UnicodeCollation/EnglishDxe/EnglishDxe.inf
+INF MdeModulePkg/Universal/Disk/UdfDxe/UdfDxe.inf
+INF OvmfPkg/VirtioFsDxe/VirtioFsDxe.inf
+
+#
+# Status Code Routing
+#
+INF MdeModulePkg/Universal/ReportStatusCodeRouter/RuntimeDxe/ReportStatusCodeRouterRuntimeDxe.inf
+INF MdeModulePkg/Universal/StatusCodeHandler/RuntimeDxe/StatusCodeHandlerRuntimeDxe.inf
+
+#
+# Platform Driver
+#
+INF OvmfPkg/VirtioBlkDxe/VirtioBlk.inf
+INF OvmfPkg/VirtioNetDxe/VirtioNet.inf
+INF OvmfPkg/VirtioScsiDxe/VirtioScsi.inf
+INF OvmfPkg/VirtioRngDxe/VirtioRng.inf
+
+INF ShellPkg/Application/Shell/Shell.inf
+INF ShellPkg/DynamicCommand/TftpDynamicCommand/TftpDynamicCommand.inf
+INF ShellPkg/DynamicCommand/HttpDynamicCommand/HttpDynamicCommand.inf
+INF OvmfPkg/LinuxInitrdDynamicShellCommand/LinuxInitrdDynamicShellCommand.inf
+
+#
+# Bds
+#
+INF MdeModulePkg/Universal/DisplayEngineDxe/DisplayEngineDxe.inf
+INF MdeModulePkg/Universal/SetupBrowserDxe/SetupBrowserDxe.inf
+INF MdeModulePkg/Universal/DriverHealthManagerDxe/DriverHealthManagerDxe.inf
+INF MdeModulePkg/Universal/BdsDxe/BdsDxe.inf
+INF MdeModulePkg/Application/UiApp/UiApp.inf
+INF OvmfPkg/QemuKernelLoaderFsDxe/QemuKernelLoaderFsDxe.inf
+
+#
+# Networking stack
+#
+!include NetworkPkg/Network.fdf.inc
+
+#
+# SCSI Bus and Disk Driver
+#
+INF MdeModulePkg/Bus/Scsi/ScsiBusDxe/ScsiBusDxe.inf
+INF MdeModulePkg/Bus/Scsi/ScsiDiskDxe/ScsiDiskDxe.inf
+
+#
+# SATA
+#
+INF MdeModulePkg/Bus/Pci/SataControllerDxe/SataControllerDxe.inf
+INF MdeModulePkg/Bus/Ata/AtaBusDxe/AtaBusDxe.inf
+INF MdeModulePkg/Bus/Ata/AtaAtapiPassThru/AtaAtapiPassThru.inf
+
+#
+# NVME Driver
+#
+INF MdeModulePkg/Bus/Pci/NvmExpressDxe/NvmExpressDxe.inf
+
+#
+# SMBIOS Support
+#
+INF MdeModulePkg/Universal/SmbiosDxe/SmbiosDxe.inf
+INF OvmfPkg/SmbiosPlatformDxe/SmbiosPlatformDxe.inf
+
+#
+# ACPI Support
+#
+INF OvmfPkg/PlatformHasAcpiDtDxe/PlatformHasAcpiDtDxe.inf
+INF MdeModulePkg/Universal/Acpi/AcpiTableDxe/AcpiTableDxe.inf
+INF MdeModulePkg/Universal/Acpi/BootGraphicsResourceTableDxe/BootGraphicsResourceTableDxe.inf
+INF OvmfPkg/AcpiPlatformDxe/AcpiPlatformDxe.inf
+
+#
+# PCI support
+#
+INF UefiCpuPkg/CpuMmio2Dxe/CpuMmio2Dxe.inf
+INF MdeModulePkg/Bus/Pci/PciHostBridgeDxe/PciHostBridgeDxe.inf
+INF MdeModulePkg/Bus/Pci/PciBusDxe/PciBusDxe.inf
+INF OvmfPkg/PciHotPlugInitDxe/PciHotPlugInit.inf
+INF OvmfPkg/VirtioPciDeviceDxe/VirtioPciDeviceDxe.inf
+INF OvmfPkg/Virtio10Dxe/Virtio10.inf
+
+#
+# Video support
+#
+INF OvmfPkg/QemuRamfbDxe/QemuRamfbDxe.inf
+INF OvmfPkg/VirtioGpuDxe/VirtioGpu.inf
+INF OvmfPkg/PlatformDxe/Platform.inf
+
+#
+# Usb Support
+#
+INF MdeModulePkg/Bus/Pci/UhciDxe/UhciDxe.inf
+INF MdeModulePkg/Bus/Pci/EhciDxe/EhciDxe.inf
+INF MdeModulePkg/Bus/Pci/XhciDxe/XhciDxe.inf
+INF MdeModulePkg/Bus/Usb/UsbBusDxe/UsbBusDxe.inf
+INF MdeModulePkg/Bus/Usb/UsbKbDxe/UsbKbDxe.inf
+INF MdeModulePkg/Bus/Usb/UsbMassStorageDxe/UsbMassStorageDxe.inf
+
+#
+# TianoCore logo (splash screen)
+#
+INF MdeModulePkg/Logo/LogoDxe.inf
+
+#
+# Ramdisk support
+#
+INF MdeModulePkg/Universal/Disk/RamDiskDxe/RamDiskDxe.inf
+
+################################################################################
+
+[FV.FVMAIN_COMPACT]
+FvAlignment = 16
+ERASE_POLARITY = 1
+MEMORY_MAPPED = TRUE
+STICKY_WRITE = TRUE
+LOCK_CAP = TRUE
+LOCK_STATUS = TRUE
+WRITE_DISABLED_CAP = TRUE
+WRITE_ENABLED_CAP = TRUE
+WRITE_STATUS = TRUE
+WRITE_LOCK_CAP = TRUE
+WRITE_LOCK_STATUS = TRUE
+READ_DISABLED_CAP = TRUE
+READ_ENABLED_CAP = TRUE
+READ_STATUS = TRUE
+READ_LOCK_CAP = TRUE
+READ_LOCK_STATUS = TRUE
+FvNameGuid = 27A72E80-3118-4c0c-8673-AA5B4EFA9613
+
+INF OvmfPkg/RiscVVirt/Sec/SecMain.inf
+
+FILE FV_IMAGE = 9E21FD93-9C72-4c15-8C4B-E77F1DB2D792 {
+ SECTION GUIDED EE4E5898-3914-4259-9D6E-DC7BD79403CF PROCESSING_REQUIRED = TRUE {
+ SECTION FV_IMAGE = DXEFV
+ }
+ }
+
+[Rule.Common.SEC]
+ FILE SEC = $(NAMED_GUID) RELOCS_STRIPPED FIXED {
+ PE32 PE32 Align = Auto $(INF_OUTPUT)/$(MODULE_NAME).efi
+ UI STRING ="$(MODULE_NAME)" Optional
+ VERSION STRING ="$(INF_VERSION)" Optional BUILD_NUM=$(BUILD_NUMBER)
+ }
+
+[Rule.Common.DXE_CORE]
+ FILE DXE_CORE = $(NAMED_GUID) {
+ PE32 PE32 $(INF_OUTPUT)/$(MODULE_NAME).efi
+ UI STRING="$(MODULE_NAME)" Optional
+ VERSION STRING="$(INF_VERSION)" Optional BUILD_NUM=$(BUILD_NUMBER)
+ }
+
+[Rule.Common.DXE_DRIVER]
+ FILE DRIVER = $(NAMED_GUID) {
+ DXE_DEPEX DXE_DEPEX Optional $(INF_OUTPUT)/$(MODULE_NAME).depex
+ PE32 PE32 $(INF_OUTPUT)/$(MODULE_NAME).efi
+ UI STRING="$(MODULE_NAME)" Optional
+ VERSION STRING="$(INF_VERSION)" Optional BUILD_NUM=$(BUILD_NUMBER)
+ }
+
+[Rule.Common.DXE_RUNTIME_DRIVER]
+ FILE DRIVER = $(NAMED_GUID) {
+ DXE_DEPEX DXE_DEPEX Optional $(INF_OUTPUT)/$(MODULE_NAME).depex
+ PE32 PE32 $(INF_OUTPUT)/$(MODULE_NAME).efi
+ UI STRING="$(MODULE_NAME)" Optional
+ VERSION STRING="$(INF_VERSION)" Optional BUILD_NUM=$(BUILD_NUMBER)
+ }
+
+[Rule.Common.UEFI_DRIVER]
+ FILE DRIVER = $(NAMED_GUID) {
+ DXE_DEPEX DXE_DEPEX Optional $(INF_OUTPUT)/$(MODULE_NAME).depex
+ PE32 PE32 $(INF_OUTPUT)/$(MODULE_NAME).efi
+ UI STRING="$(MODULE_NAME)" Optional
+ VERSION STRING="$(INF_VERSION)" Optional BUILD_NUM=$(BUILD_NUMBER)
+ }
+
+[Rule.Common.UEFI_DRIVER.BINARY]
+ FILE DRIVER = $(NAMED_GUID) {
+ DXE_DEPEX DXE_DEPEX Optional |.depex
+ PE32 PE32 |.efi
+ UI STRING="$(MODULE_NAME)" Optional
+ VERSION STRING="$(INF_VERSION)" Optional BUILD_NUM=$(BUILD_NUMBER)
+ }
+
+[Rule.Common.UEFI_APPLICATION]
+ FILE APPLICATION = $(NAMED_GUID) {
+ PE32 PE32 $(INF_OUTPUT)/$(MODULE_NAME).efi
+ UI STRING="$(MODULE_NAME)" Optional
+ VERSION STRING="$(INF_VERSION)" Optional BUILD_NUM=$(BUILD_NUMBER)
+ }
+
+[Rule.Common.UEFI_APPLICATION.BINARY]
+ FILE APPLICATION = $(NAMED_GUID) {
+ PE32 PE32 |.efi
+ UI STRING="$(MODULE_NAME)" Optional
+ VERSION STRING="$(INF_VERSION)" Optional BUILD_NUM=$(BUILD_NUMBER)
+ }
+
+[Rule.Common.USER_DEFINED.ACPITABLE]
+ FILE FREEFORM = $(NAMED_GUID) {
+ RAW ACPI |.acpi
+ RAW ASL |.aml
+ UI STRING="$(MODULE_NAME)" Optional
+ }
diff --git a/Platform/Qemu/RiscVQemuServerPlatform/RiscVQemuServerPlatform.fdf.inc b/Platform/Qemu/RiscVQemuServerPlatform/RiscVQemuServerPlatform.fdf.inc
new file mode 100644
index 00000000..eb996c3b
--- /dev/null
+++ b/Platform/Qemu/RiscVQemuServerPlatform/RiscVQemuServerPlatform.fdf.inc
@@ -0,0 +1,41 @@
+## @file
+# Definitions of Flash definition file on RISC-V Qemu Server Platform
+#
+# Copyright (c) 2021, Hewlett Packard Enterprise Development LP. All rights reserved.<BR>
+# Copyright (c) 2022, Ventana Micro Systems Inc. All rights reserved.<BR>
+# Copyright (c) 2024, Intel Corporation. All rights reserved.<BR>
+# Copyright (C) 2024, Alibaba Group Holding Limited.
+#
+# SPDX-License-Identifier: BSD-2-Clause-Patent
+#
+##
+[Defines]
+DEFINE BLOCK_SIZE = 0x1000
+
+DEFINE PFLASH0_BASE = 0x20000000
+DEFINE PFLASH1_BASE = 0x22000000
+
+DEFINE CODE_BASE_ADDRESS = $(PFLASH0_BASE)
+DEFINE CODE_SIZE = 0x00800000
+DEFINE CODE_BLOCKS = 0x800
+
+DEFINE VARS_BASE_ADDRESS = $(PFLASH1_BASE)
+DEFINE VARS_SIZE = 0x000C0000
+DEFINE VARS_BLOCK_SIZE = 0x40000
+DEFINE VARS_BLOCKS = 0x3
+
+#
+# EFI Variable memory region.
+# The total size of EFI Variable FD must include
+# all of sub regions of EFI Variable
+#
+DEFINE VARS_OFFSET = 0x00000000
+DEFINE VARS_LIVE_SIZE = 0x00040000
+DEFINE VARS_FTW_WORKING_OFFSET = $(VARS_OFFSET) + $(VARS_LIVE_SIZE)
+DEFINE VARS_FTW_WORKING_SIZE = 0x00040000
+DEFINE VARS_FTW_SPARE_OFFSET = $(VARS_FTW_WORKING_OFFSET) + $(VARS_FTW_WORKING_SIZE)
+DEFINE VARS_FTW_SPARE_SIZE = 0x00040000
+
+SET gUefiCpuPkgTokenSpaceGuid.PcdCpuCoreCrystalClockFrequency = 10000000
+SET gUefiOvmfPkgTokenSpaceGuid.PcdOvmfSecPeiTempRamBase = 0x83FF0000
+SET gUefiOvmfPkgTokenSpaceGuid.PcdOvmfSecPeiTempRamSize = 0x00010000
diff --git a/Platform/Qemu/RiscVQemuServerPlatform/VarStore.fdf.inc b/Platform/Qemu/RiscVQemuServerPlatform/VarStore.fdf.inc
new file mode 100644
index 00000000..043b8e3a
--- /dev/null
+++ b/Platform/Qemu/RiscVQemuServerPlatform/VarStore.fdf.inc
@@ -0,0 +1,72 @@
+## @file
+# FDF include file with Layout Regions that define an empty variable store.
+#
+# Copyright (c) 2022, Ventana Micro Systems Inc. All rights reserved.<BR>
+# Copyright (c) 2021, Hewlett Packard Enterprise Development LP. All rights reserved.<BR>
+# Copyright (C) 2014, Red Hat, Inc.
+# Copyright (c) 2006 - 2013, Intel Corporation. All rights reserved.<BR>
+#
+# SPDX-License-Identifier: BSD-2-Clause-Patent
+#
+##
+
+$(VARS_OFFSET)|$(VARS_LIVE_SIZE)
+gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageVariableBase|gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageVariableSize
+#
+# NV_VARIABLE_STORE
+#
+DATA = {
+ ## This is the EFI_FIRMWARE_VOLUME_HEADER
+ # ZeroVector []
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ # FileSystemGuid: gEfiSystemNvDataFvGuid =
+ # { 0xFFF12B8D, 0x7696, 0x4C8B,
+ # { 0xA9, 0x85, 0x27, 0x47, 0x07, 0x5B, 0x4F, 0x50 }}
+ 0x8D, 0x2B, 0xF1, 0xFF, 0x96, 0x76, 0x8B, 0x4C,
+ 0xA9, 0x85, 0x27, 0x47, 0x07, 0x5B, 0x4F, 0x50,
+ # FvLength: 0xC0000
+ 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x00, 0x00,
+ # Signature "_FVH" # Attributes
+ 0x5f, 0x46, 0x56, 0x48, 0xff, 0xfe, 0x04, 0x00,
+ # HeaderLength # CheckSum # ExtHeaderOffset #Reserved #Revision
+ 0x48, 0x00, 0x28, 0x09, 0x00, 0x00, 0x00, 0x02,
+ # Blockmap[0]: 0x3 Blocks * 0x40000 Bytes / Block
+ 0x3, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00,
+ # Blockmap[1]: End
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ ## This is the VARIABLE_STORE_HEADER
+ # It is compatible with SECURE_BOOT_ENABLE == FALSE as well.
+ # Signature: gEfiAuthenticatedVariableGuid =
+ # { 0xaaf32c78, 0x947b, 0x439a,
+ # { 0xa1, 0x80, 0x2e, 0x14, 0x4e, 0xc3, 0x77, 0x92 }}
+ 0x78, 0x2c, 0xf3, 0xaa, 0x7b, 0x94, 0x9a, 0x43,
+ 0xa1, 0x80, 0x2e, 0x14, 0x4e, 0xc3, 0x77, 0x92,
+ # Size: 0x40000 (gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageVariableSize) -
+ # 0x48 (size of EFI_FIRMWARE_VOLUME_HEADER) = 0x3FFB8
+ # This can speed up the Variable Dispatch a bit.
+ 0xB8, 0xFF, 0x03, 0x00,
+ # FORMATTED: 0x5A #HEALTHY: 0xFE #Reserved: UINT16 #Reserved1: UINT32
+ 0x5A, 0xFE, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
+}
+
+$(VARS_FTW_WORKING_OFFSET)|$(VARS_FTW_WORKING_SIZE)
+gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageFtwWorkingBase|gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageFtwWorkingSize
+#
+#NV_FTW_WORK
+#
+DATA = {
+ # EFI_FAULT_TOLERANT_WORKING_BLOCK_HEADER->Signature = gEdkiiWorkingBlockSignatureGuid =
+ # { 0x9e58292b, 0x7c68, 0x497d, { 0xa0, 0xce, 0x65, 0x0, 0xfd, 0x9f, 0x1b, 0x95 }}
+ 0x2b, 0x29, 0x58, 0x9e, 0x68, 0x7c, 0x7d, 0x49,
+ 0xa0, 0xce, 0x65, 0x0, 0xfd, 0x9f, 0x1b, 0x95,
+ # Crc:UINT32 #WorkingBlockValid:1, WorkingBlockInvalid:1, Reserved
+ 0x5b, 0xe7, 0xc6, 0x86, 0xFE, 0xFF, 0xFF, 0xFF,
+ # WriteQueueSize: UINT64
+ 0xE0, 0xFF, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00
+}
+
+$(VARS_FTW_SPARE_OFFSET)|$(VARS_FTW_SPARE_SIZE)
+gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageFtwSpareBase|gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageFtwSpareSize
+#
+#NV_FTW_SPARE
--
2.45.1.windows.1
-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#119847): https://edk2.groups.io/g/devel/message/119847
Mute This Topic: https://groups.io/mt/107122511/7686176
Group Owner: devel+owner@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub [rebecca@openfw.io]
-=-=-=-=-=-=-=-=-=-=-=-
^ permalink raw reply related [flat|nested] 10+ messages in thread
* [edk2-devel] [PATCH V2 2/2] RiscVQemuServerPlatform: Unified .dsc files into a single file
2024-07-09 12:37 [edk2-devel] [PATCH V2 0/2] Initial commit for RISC-V Qemu-based Server Evan Chai
2024-07-09 12:37 ` [edk2-devel] [PATCH V2 1/2] RiscVQemuServerPlatform: Initial commit for RISC-V Qemu-based Server platform Evan Chai
@ 2024-07-09 12:37 ` Evan Chai
2024-07-09 12:51 ` 转发:[edk2-devel] [PATCH V2 0/2] Initial commit for RISC-V Qemu-based Server EvanChai
2 siblings, 0 replies; 10+ messages in thread
From: Evan Chai @ 2024-07-09 12:37 UTC (permalink / raw)
To: devel; +Cc: Evan Chai, Andrei Warkentin, Sunil V L, Yong Li
From past experience, fragmented .dsc files lead to repeated definitions for
users due to multiple related .dsc files containing the same [section] fields.
As a result, only one .dsc file is now maintained.
Cc: Andrei Warkentin <andrei.warkentin@intel.com>
Cc: Sunil V L <sunilvl@ventanamicro.com>
Cc: Yong Li <yong.li@intel.com>
Signed-off-by: Evan Chai <evan.chai@linux.alibaba.com>
---
Platform/Qemu/RiscVQemuServerPlatform/RiscVQemuServerPlatform.dsc | 316 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++---
Platform/Qemu/RiscVQemuServerPlatform/RiscVQemuServerPlatform.dsc.inc | 341 -----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
2 files changed, 313 insertions(+), 344 deletions(-)
diff --git a/Platform/Qemu/RiscVQemuServerPlatform/RiscVQemuServerPlatform.dsc b/Platform/Qemu/RiscVQemuServerPlatform/RiscVQemuServerPlatform.dsc
index fe555968..6f773dd5 100644
--- a/Platform/Qemu/RiscVQemuServerPlatform/RiscVQemuServerPlatform.dsc
+++ b/Platform/Qemu/RiscVQemuServerPlatform/RiscVQemuServerPlatform.dsc
@@ -42,6 +42,8 @@
DEFINE NETWORK_ALLOW_HTTP_CONNECTIONS = TRUE
DEFINE NETWORK_ISCSI_ENABLE = FALSE
+ DEFINE DEBUG_PRINT_ERROR_LEVEL = 0x80000047
+
!if $(NETWORK_SNP_ENABLE) == TRUE
!error "NETWORK_SNP_ENABLE is IA32/X64/EBC only"
!endif
@@ -64,12 +66,146 @@
# Library Class section - list of all Library Classes needed by this Platform.
#
################################################################################
-
-!include Platform/Qemu/RiscVQemuServerPlatform/RiscVQemuServerPlatform.dsc.inc
-
!include MdePkg/MdeLibs.dsc.inc
[LibraryClasses.common]
+!ifdef $(SOURCE_DEBUG_ENABLE)
+ PeCoffExtraActionLib|SourceLevelDebugPkg/Library/PeCoffExtraActionLibDebug/PeCoffExtraActionLibDebug.inf
+ DebugCommunicationLib|SourceLevelDebugPkg/Library/DebugCommunicationLibSerialPort/DebugCommunicationLibSerialPort.inf
+!else
+ PeCoffExtraActionLib|MdePkg/Library/BasePeCoffExtraActionLibNull/BasePeCoffExtraActionLibNull.inf
+ DebugAgentLib|MdeModulePkg/Library/DebugAgentLibNull/DebugAgentLibNull.inf
+ DebugLib|MdePkg/Library/BaseDebugLibNull/BaseDebugLibNull.inf
+!endif
+!if $(DEBUG_ON_SERIAL_PORT) == TRUE
+ DebugLib|MdePkg/Library/BaseDebugLibSerialPort/BaseDebugLibSerialPort.inf
+!else
+ DebugLib|MdePkg/Library/BaseDebugLibNull/BaseDebugLibNull.inf
+!endif
+ DebugPrintErrorLevelLib|MdePkg/Library/BaseDebugPrintErrorLevelLib/BaseDebugPrintErrorLevelLib.inf
+ PrintLib|MdePkg/Library/BasePrintLib/BasePrintLib.inf
+ BaseLib|MdePkg/Library/BaseLib/BaseLib.inf
+ SafeIntLib|MdePkg/Library/BaseSafeIntLib/BaseSafeIntLib.inf
+ BmpSupportLib|MdeModulePkg/Library/BaseBmpSupportLib/BaseBmpSupportLib.inf
+ SynchronizationLib|MdePkg/Library/BaseSynchronizationLib/BaseSynchronizationLib.inf
+ PrintLib|MdePkg/Library/BasePrintLib/BasePrintLib.inf
+ PeCoffGetEntryPointLib|MdePkg/Library/BasePeCoffGetEntryPointLib/BasePeCoffGetEntryPointLib.inf
+ PeCoffLib|MdePkg/Library/BasePeCoffLib/BasePeCoffLib.inf
+ IoLib|MdePkg/Library/BaseIoLibIntrinsic/BaseIoLibIntrinsic.inf
+ UefiDecompressLib|MdePkg/Library/BaseUefiDecompressLib/BaseUefiDecompressLib.inf
+ CpuLib|MdePkg/Library/BaseCpuLib/BaseCpuLib.inf
+ CacheMaintenanceLib|MdePkg/Library/BaseCacheMaintenanceLib/BaseCacheMaintenanceLib.inf
+ UefiLib|MdePkg/Library/UefiLib/UefiLib.inf
+ HobLib|MdePkg/Library/DxeHobLib/DxeHobLib.inf
+ UefiRuntimeServicesTableLib|MdePkg/Library/UefiRuntimeServicesTableLib/UefiRuntimeServicesTableLib.inf
+ DevicePathLib|MdePkg/Library/UefiDevicePathLibDevicePathProtocol/UefiDevicePathLibDevicePathProtocol.inf
+ UefiBootServicesTableLib|MdePkg/Library/UefiBootServicesTableLib/UefiBootServicesTableLib.inf
+ DxeServicesTableLib|MdePkg/Library/DxeServicesTableLib/DxeServicesTableLib.inf
+ DxeServicesLib|MdePkg/Library/DxeServicesLib/DxeServicesLib.inf
+ UefiDriverEntryPoint|MdePkg/Library/UefiDriverEntryPoint/UefiDriverEntryPoint.inf
+ UefiApplicationEntryPoint|MdePkg/Library/UefiApplicationEntryPoint/UefiApplicationEntryPoint.inf
+ HiiLib|MdeModulePkg/Library/UefiHiiLib/UefiHiiLib.inf
+ UefiHiiServicesLib|MdeModulePkg/Library/UefiHiiServicesLib/UefiHiiServicesLib.inf
+ SortLib|MdeModulePkg/Library/UefiSortLib/UefiSortLib.inf
+ ShellLib|ShellPkg/Library/UefiShellLib/UefiShellLib.inf
+ ShellCEntryLib|ShellPkg/Library/UefiShellCEntryLib/UefiShellCEntryLib.inf
+ FileHandleLib|MdePkg/Library/UefiFileHandleLib/UefiFileHandleLib.inf
+ PeCoffExtraActionLib|MdePkg/Library/BasePeCoffExtraActionLibNull/BasePeCoffExtraActionLibNull.inf
+ UefiRuntimeLib|MdePkg/Library/UefiRuntimeLib/UefiRuntimeLib.inf
+ OrderedCollectionLib|MdePkg/Library/BaseOrderedCollectionRedBlackTreeLib/BaseOrderedCollectionRedBlackTreeLib.inf
+ OemHookStatusCodeLib|MdeModulePkg/Library/OemHookStatusCodeLibNull/OemHookStatusCodeLibNull.inf
+ PeiServicesLib|MdePkg/Library/PeiServicesLib/PeiServicesLib.inf
+ BaseMemoryLib|MdePkg/Library/BaseMemoryLib/BaseMemoryLib.inf
+
+ #
+ # Ramdisk Requirements
+ #
+ FileExplorerLib|MdeModulePkg/Library/FileExplorerLib/FileExplorerLib.inf
+
+ #
+ # Networking Requirements
+ #
+!include NetworkPkg/NetworkLibs.dsc.inc
+!if $(NETWORK_TLS_ENABLE) == TRUE
+ TlsLib|CryptoPkg/Library/TlsLib/TlsLib.inf
+!endif
+
+ #
+ # Add support for GCC stack protector
+ #
+ NULL|MdePkg/Library/BaseStackCheckLib/BaseStackCheckLib.inf
+
+ #
+ # RISC-V Architectural Libraries
+ #
+ CpuExceptionHandlerLib|UefiCpuPkg/Library/BaseRiscV64CpuExceptionHandlerLib/BaseRiscV64CpuExceptionHandlerLib.inf
+ RiscVSbiLib|MdePkg/Library/BaseRiscVSbiLib/BaseRiscVSbiLib.inf
+ RiscVMmuLib|UefiCpuPkg/Library/BaseRiscVMmuLib/BaseRiscVMmuLib.inf
+ ResetSystemLib|Platform/RISC-V/PlatformPkg/Library/ResetSystemLib/ResetSystemLib.inf
+
+ RealTimeClockLib|EmbeddedPkg/Library/VirtualRealTimeClockLib/VirtualRealTimeClockLib.inf
+ TimeBaseLib|EmbeddedPkg/Library/TimeBaseLib/TimeBaseLib.inf
+ SerialPortLib|MdeModulePkg/Library/BaseSerialPortLib16550/BaseSerialPortLib16550.inf
+
+ DebugAgentLib|MdeModulePkg/Library/DebugAgentLibNull/DebugAgentLibNull.inf
+ DebugAgentTimerLib|EmbeddedPkg/Library/DebugAgentTimerLibNull/DebugAgentTimerLibNull.inf
+
+ #
+ # Flattened Device Tree (FDT) access library
+ #
+ FdtLib|EmbeddedPkg/Library/FdtLib/FdtLib.inf
+
+ #
+ # PCI Libraries
+ #
+ PciLib|MdePkg/Library/BasePciLibPciExpress/BasePciLibPciExpress.inf
+ PciExpressLib|MdePkg/Library/BasePciExpressLib/BasePciExpressLib.inf
+ PciCapLib|OvmfPkg/Library/BasePciCapLib/BasePciCapLib.inf
+ PciCapPciSegmentLib|OvmfPkg/Library/BasePciCapPciSegmentLib/BasePciCapPciSegmentLib.inf
+ PciCapPciIoLib|OvmfPkg/Library/UefiPciCapPciIoLib/UefiPciCapPciIoLib.inf
+ DxeHardwareInfoLib|OvmfPkg/Library/HardwareInfoLib/DxeHardwareInfoLib.inf
+
+ #
+ # USB Libraries
+ #
+ UefiUsbLib|MdePkg/Library/UefiUsbLib/UefiUsbLib.inf
+
+ #
+ # CryptoPkg libraries needed by multiple firmware features
+ #
+ IntrinsicLib|CryptoPkg/Library/IntrinsicLib/IntrinsicLib.inf
+!if $(NETWORK_TLS_ENABLE) == TRUE
+ OpensslLib|CryptoPkg/Library/OpensslLib/OpensslLib.inf
+!else
+ OpensslLib|CryptoPkg/Library/OpensslLib/OpensslLibCrypto.inf
+!endif
+ BaseCryptLib|CryptoPkg/Library/BaseCryptLib/BaseCryptLib.inf
+ RngLib|MdePkg/Library/BaseRngLibTimerLib/BaseRngLibTimerLib.inf
+
+ #
+ # Secure Boot dependencies
+ #
+!if $(SECURE_BOOT_ENABLE) == TRUE
+ AuthVariableLib|SecurityPkg/Library/AuthVariableLib/AuthVariableLib.inf
+ SecureBootVariableLib|SecurityPkg/Library/SecureBootVariableLib/SecureBootVariableLib.inf
+ SecureBootVariableProvisionLib|SecurityPkg/Library/SecureBootVariableProvisionLib/SecureBootVariableProvisionLib.inf
+ PlatformPKProtectionLib|SecurityPkg/Library/PlatformPKProtectionLibVarPolicy/PlatformPKProtectionLibVarPolicy.inf
+
+ # re-use the UserPhysicalPresent() dummy implementation from the ovmf tree
+ PlatformSecureLib|OvmfPkg/Library/PlatformSecureLib/PlatformSecureLib.inf
+!else
+ AuthVariableLib|MdeModulePkg/Library/AuthVariableLibNull/AuthVariableLibNull.inf
+!endif
+ VarCheckLib|MdeModulePkg/Library/VarCheckLib/VarCheckLib.inf
+ VariableFlashInfoLib|MdeModulePkg/Library/BaseVariableFlashInfoLib/BaseVariableFlashInfoLib.inf
+ VariablePolicyLib|MdeModulePkg/Library/VariablePolicyLib/VariablePolicyLib.inf
+ VariablePolicyHelperLib|MdeModulePkg/Library/VariablePolicyHelperLib/VariablePolicyHelperLib.inf
+ UefiBootManagerLib|MdeModulePkg/Library/UefiBootManagerLib/UefiBootManagerLib.inf
+ ReportStatusCodeLib|MdeModulePkg/Library/DxeReportStatusCodeLib/DxeReportStatusCodeLib.inf
+ PerformanceLib|MdeModulePkg/Library/DxePerformanceLib/DxePerformanceLib.inf
+ ExtractGuidedSectionLib|MdePkg/Library/DxeExtractGuidedSectionLib/DxeExtractGuidedSectionLib.inf
+ PcdLib|MdePkg/Library/DxePcdLib/DxePcdLib.inf
+
# Virtio Support
VirtioLib|OvmfPkg/Library/VirtioLib/VirtioLib.inf
VirtioMmioDeviceLib|OvmfPkg/Library/VirtioMmioDeviceLib/VirtioMmioDeviceLib.inf
@@ -107,7 +243,41 @@
TpmPlatformHierarchyLib|SecurityPkg/Library/PeiDxeTpmPlatformHierarchyLibNull/PeiDxeTpmPlatformHierarchyLib.inf
!endif
+[LibraryClasses.common.SEC]
+ PcdLib|MdePkg/Library/BasePcdLibNull/BasePcdLibNull.inf
+ BaseMemoryLib|MdePkg/Library/BaseMemoryLib/BaseMemoryLib.inf
+ PerformanceLib|MdePkg/Library/BasePerformanceLibNull/BasePerformanceLibNull.inf
+ ReportStatusCodeLib|MdeModulePkg/Library/PeiReportStatusCodeLib/PeiReportStatusCodeLib.inf
+ ExtractGuidedSectionLib|MdePkg/Library/BaseExtractGuidedSectionLib/BaseExtractGuidedSectionLib.inf
+ PlatformSecLib|UefiCpuPkg/Library/PlatformSecLibNull/PlatformSecLibNull.inf
+ HobLib|EmbeddedPkg/Library/PrePiHobLib/PrePiHobLib.inf
+ PrePiHobListPointerLib|OvmfPkg/RiscVVirt/Library/PrePiHobListPointerLib/PrePiHobListPointerLib.inf
+ MemoryAllocationLib|EmbeddedPkg/Library/PrePiMemoryAllocationLib/PrePiMemoryAllocationLib.inf
+
+[LibraryClasses.common.DXE_CORE]
+ PerformanceLib|MdeModulePkg/Library/DxeCorePerformanceLib/DxeCorePerformanceLib.inf
+ HobLib|MdePkg/Library/DxeCoreHobLib/DxeCoreHobLib.inf
+ MemoryAllocationLib|MdeModulePkg/Library/DxeCoreMemoryAllocationLib/DxeCoreMemoryAllocationLib.inf
+ DxeCoreEntryPoint|MdePkg/Library/DxeCoreEntryPoint/DxeCoreEntryPoint.inf
+
+[LibraryClasses.common.UEFI_APPLICATION]
+ MemoryAllocationLib|MdePkg/Library/UefiMemoryAllocationLib/UefiMemoryAllocationLib.inf
+ HiiLib|MdeModulePkg/Library/UefiHiiLib/UefiHiiLib.inf
+
+[LibraryClasses.common.DXE_RUNTIME_DRIVER]
+ MemoryAllocationLib|MdePkg/Library/UefiMemoryAllocationLib/UefiMemoryAllocationLib.inf
+!if $(DEBUG_ON_SERIAL_PORT) == TRUE
+ DebugLib|MdePkg/Library/DxeRuntimeDebugLibSerialPort/DxeRuntimeDebugLibSerialPort.inf
+!endif
+ VariablePolicyLib|MdeModulePkg/Library/VariablePolicyLib/VariablePolicyLibRuntimeDxe.inf
+
+!if $(SECURE_BOOT_ENABLE) == TRUE
+ BaseCryptLib|CryptoPkg/Library/BaseCryptLib/RuntimeCryptLib.inf
+!endif
+
[LibraryClasses.common.DXE_DRIVER]
+ SecurityManagementLib|MdeModulePkg/Library/DxeSecurityManagementLib/DxeSecurityManagementLib.inf
+ MemoryAllocationLib|MdePkg/Library/UefiMemoryAllocationLib/UefiMemoryAllocationLib.inf
AcpiPlatformLib|OvmfPkg/Library/AcpiPlatformLib/DxeAcpiPlatformLib.inf
ReportStatusCodeLib|MdeModulePkg/Library/DxeReportStatusCodeLib/DxeReportStatusCodeLib.inf
PciExpressLib|OvmfPkg/Library/BaseCachingPciExpressLib/BaseCachingPciExpressLib.inf
@@ -117,6 +287,7 @@
!endif
[LibraryClasses.common.UEFI_DRIVER]
+ MemoryAllocationLib|MdePkg/Library/UefiMemoryAllocationLib/UefiMemoryAllocationLib.inf
UefiScsiLib|MdePkg/Library/UefiScsiLib/UefiScsiLib.inf
PciExpressLib|OvmfPkg/Library/BaseCachingPciExpressLib/BaseCachingPciExpressLib.inf
@@ -126,6 +297,9 @@
#
################################################################################
[PcdsFeatureFlag.common]
+ gEfiMdeModulePkgTokenSpaceGuid.PcdHiiOsRuntimeSupport|FALSE
+
+ gEmbeddedTokenSpaceGuid.PcdPrePiProduceMemoryTypeInformationHob|TRUE
gUefiOvmfPkgTokenSpaceGuid.PcdQemuBootOrderPciTranslation|TRUE
gUefiOvmfPkgTokenSpaceGuid.PcdQemuBootOrderMmioTranslation|TRUE
@@ -136,7 +310,95 @@
gEfiMdeModulePkgTokenSpaceGuid.PcdTurnOffUsbLegacySupport|TRUE
+[PcdsFeatureFlag]
+ #
+ # Activate AcpiSdtProtocol
+ #
+ gEfiMdeModulePkgTokenSpaceGuid.PcdInstallAcpiSdtProtocol|TRUE
+
[PcdsFixedAtBuild.common]
+ gEfiMdePkgTokenSpaceGuid.PcdRiscVFeatureOverride|0xFFFFFFFFFFFFFFF8
+ gEfiMdePkgTokenSpaceGuid.PcdMaximumUnicodeStringLength|1000000
+ gEfiMdePkgTokenSpaceGuid.PcdMaximumAsciiStringLength|1000000
+ gEfiMdePkgTokenSpaceGuid.PcdMaximumLinkedListLength|0
+ gEfiMdePkgTokenSpaceGuid.PcdSpinLockTimeout|10000000
+ gEfiMdePkgTokenSpaceGuid.PcdUefiLibMaxPrintBufferSize|320
+
+ # DEBUG_ASSERT_ENABLED 0x01
+ # DEBUG_PRINT_ENABLED 0x02
+ # DEBUG_CODE_ENABLED 0x04
+ # CLEAR_MEMORY_ENABLED 0x08
+ # ASSERT_BREAKPOINT_ENABLED 0x10
+ # ASSERT_DEADLOOP_ENABLED 0x20
+!if $(DEBUG_ON_SERIAL_PORT) != TRUE
+ gEfiMdePkgTokenSpaceGuid.PcdDebugPropertyMask|0x21
+!else
+ gEfiMdePkgTokenSpaceGuid.PcdDebugPropertyMask|0x2f
+!endif
+
+ # DEBUG_INIT 0x00000001 // Initialization
+ # DEBUG_WARN 0x00000002 // Warnings
+ # DEBUG_LOAD 0x00000004 // Load events
+ # DEBUG_FS 0x00000008 // EFI File system
+ # DEBUG_POOL 0x00000010 // Alloc & Free (pool)
+ # DEBUG_PAGE 0x00000020 // Alloc & Free (page)
+ # DEBUG_INFO 0x00000040 // Informational debug messages
+ # DEBUG_DISPATCH 0x00000080 // PEI/DXE/SMM Dispatchers
+ # DEBUG_VARIABLE 0x00000100 // Variable
+ # DEBUG_BM 0x00000400 // Boot Manager
+ # DEBUG_BLKIO 0x00001000 // BlkIo Driver
+ # DEBUG_NET 0x00004000 // SNP Driver
+ # DEBUG_UNDI 0x00010000 // UNDI Driver
+ # DEBUG_LOADFILE 0x00020000 // LoadFile
+ # DEBUG_EVENT 0x00080000 // Event messages
+ # DEBUG_GCD 0x00100000 // Global Coherency Database changes
+ # DEBUG_CACHE 0x00200000 // Memory range cachability changes
+ # DEBUG_VERBOSE 0x00400000 // Detailed debug messages that may
+ # // significantly impact boot performance
+ # DEBUG_ERROR 0x80000000 // Error
+!if $(DEBUG_ON_SERIAL_PORT) == TRUE
+ gEfiMdePkgTokenSpaceGuid.PcdDebugPrintErrorLevel|$(DEBUG_PRINT_ERROR_LEVEL)
+!endif
+
+ #
+ # Optional feature to help prevent EFI memory map fragments
+ # Turned on and off via: PcdPrePiProduceMemoryTypeInformationHob
+ # Values are in EFI Pages (4K). DXE Core will make sure that
+ # at least this much of each type of memory can be allocated
+ # from a single memory range. This way you only end up with
+ # maximum of two fragments for each type in the memory map
+ # (the memory used, and the free memory that was prereserved
+ # but not used).
+ #
+ gEmbeddedTokenSpaceGuid.PcdMemoryTypeEfiACPIReclaimMemory|0
+ gEmbeddedTokenSpaceGuid.PcdMemoryTypeEfiACPIMemoryNVS|0
+ gEmbeddedTokenSpaceGuid.PcdMemoryTypeEfiReservedMemoryType|0
+!if $(SECURE_BOOT_ENABLE) == TRUE
+ gEmbeddedTokenSpaceGuid.PcdMemoryTypeEfiRuntimeServicesData|600
+ gEmbeddedTokenSpaceGuid.PcdMemoryTypeEfiRuntimeServicesCode|400
+ gEmbeddedTokenSpaceGuid.PcdMemoryTypeEfiBootServicesCode|1500
+!else
+ gEmbeddedTokenSpaceGuid.PcdMemoryTypeEfiRuntimeServicesData|300
+ gEmbeddedTokenSpaceGuid.PcdMemoryTypeEfiRuntimeServicesCode|150
+ gEmbeddedTokenSpaceGuid.PcdMemoryTypeEfiBootServicesCode|1000
+!endif
+ gEmbeddedTokenSpaceGuid.PcdMemoryTypeEfiBootServicesData|6000
+ gEmbeddedTokenSpaceGuid.PcdMemoryTypeEfiLoaderCode|20
+ gEmbeddedTokenSpaceGuid.PcdMemoryTypeEfiLoaderData|0
+
+ #
+ # Enable strict image permissions for all images. (This applies
+ # only to images that were built with >= 4 KB section alignment.)
+ #
+ gEfiMdeModulePkgTokenSpaceGuid.PcdImageProtectionPolicy|0x3
+
+ #
+ # Enable NX memory protection for all non-code regions, including OEM and OS
+ # reserved ones, with the exception of LoaderData regions, of which OS loaders
+ # (i.e., GRUB) may assume that its contents are executable.
+ #
+ gEfiMdeModulePkgTokenSpaceGuid.PcdDxeNxMemoryProtectionPolicy|0xC000000000007FD5
+
gEfiMdeModulePkgTokenSpaceGuid.PcdMaxVariableSize|0x2000
gEfiMdeModulePkgTokenSpaceGuid.PcdMaxAuthVariableSize|0x2800
!if $(NETWORK_TLS_ENABLE) == TRUE
@@ -483,7 +745,55 @@
#
OvmfPkg/PlatformHasAcpiDtDxe/PlatformHasAcpiDtDxe.inf
MdeModulePkg/Universal/Acpi/BootGraphicsResourceTableDxe/BootGraphicsResourceTableDxe.inf
+ MdeModulePkg/Universal/Acpi/AcpiTableDxe/AcpiTableDxe.inf {
+ <LibraryClasses>
+ NULL|EmbeddedPkg/Library/PlatformHasAcpiLib/PlatformHasAcpiLib.inf
+ }
OvmfPkg/AcpiPlatformDxe/AcpiPlatformDxe.inf {
<LibraryClasses>
NULL|OvmfPkg/Fdt/FdtPciPcdProducerLib/FdtPciPcdProducerLib.inf
}
+
+ #
+ # Ramdisk support
+ #
+ MdeModulePkg/Universal/Disk/RamDiskDxe/RamDiskDxe.inf
+
+ ShellPkg/DynamicCommand/TftpDynamicCommand/TftpDynamicCommand.inf {
+ <PcdsFixedAtBuild>
+ gEfiShellPkgTokenSpaceGuid.PcdShellLibAutoInitialize|FALSE
+ }
+ ShellPkg/DynamicCommand/HttpDynamicCommand/HttpDynamicCommand.inf {
+ <PcdsFixedAtBuild>
+ gEfiShellPkgTokenSpaceGuid.PcdShellLibAutoInitialize|FALSE
+ }
+ OvmfPkg/LinuxInitrdDynamicShellCommand/LinuxInitrdDynamicShellCommand.inf {
+ <PcdsFixedAtBuild>
+ gEfiShellPkgTokenSpaceGuid.PcdShellLibAutoInitialize|FALSE
+ }
+ ShellPkg/Application/Shell/Shell.inf {
+ <LibraryClasses>
+ ShellCommandLib|ShellPkg/Library/UefiShellCommandLib/UefiShellCommandLib.inf
+ NULL|ShellPkg/Library/UefiShellLevel2CommandsLib/UefiShellLevel2CommandsLib.inf
+ NULL|ShellPkg/Library/UefiShellLevel1CommandsLib/UefiShellLevel1CommandsLib.inf
+ NULL|ShellPkg/Library/UefiShellLevel3CommandsLib/UefiShellLevel3CommandsLib.inf
+ NULL|ShellPkg/Library/UefiShellDriver1CommandsLib/UefiShellDriver1CommandsLib.inf
+ NULL|ShellPkg/Library/UefiShellDebug1CommandsLib/UefiShellDebug1CommandsLib.inf
+!if $(ACPIVIEW_ENABLE) == TRUE
+ NULL|ShellPkg/Library/UefiShellAcpiViewCommandLib/UefiShellAcpiViewCommandLib.inf
+!endif
+ NULL|ShellPkg/Library/UefiShellInstall1CommandsLib/UefiShellInstall1CommandsLib.inf
+ NULL|ShellPkg/Library/UefiShellNetwork1CommandsLib/UefiShellNetwork1CommandsLib.inf
+!if $(NETWORK_IP6_ENABLE) == TRUE
+ NULL|ShellPkg/Library/UefiShellNetwork2CommandsLib/UefiShellNetwork2CommandsLib.inf
+!endif
+ HandleParsingLib|ShellPkg/Library/UefiHandleParsingLib/UefiHandleParsingLib.inf
+ PrintLib|MdePkg/Library/BasePrintLib/BasePrintLib.inf
+ BcfgCommandLib|ShellPkg/Library/UefiShellBcfgCommandLib/UefiShellBcfgCommandLib.inf
+
+ <PcdsFixedAtBuild>
+ gEfiMdePkgTokenSpaceGuid.PcdDebugPropertyMask|0xFF
+ gEfiShellPkgTokenSpaceGuid.PcdShellLibAutoInitialize|FALSE
+ gEfiMdePkgTokenSpaceGuid.PcdUefiLibMaxPrintBufferSize|8000
+ }
+
diff --git a/Platform/Qemu/RiscVQemuServerPlatform/RiscVQemuServerPlatform.dsc.inc b/Platform/Qemu/RiscVQemuServerPlatform/RiscVQemuServerPlatform.dsc.inc
deleted file mode 100644
index 06da8034..00000000
--- a/Platform/Qemu/RiscVQemuServerPlatform/RiscVQemuServerPlatform.dsc.inc
+++ /dev/null
@@ -1,341 +0,0 @@
-## @file
-# RISC-V Qemu-based Server Platform
-#
-# Copyright (c) 2022, Ventana Micro Systems Inc. All rights reserved.
-# Copyright (c) 2011 - 2022, ARM Limited. All rights reserved.
-# Copyright (c) 2014, Linaro Limited. All rights reserved.
-# Copyright (c) 2015 - 2024, Intel Corporation. All rights reserved.
-# Copyright (c) Microsoft Corporation.
-# Copyright (C) 2024, Alibaba Group Holding Limited.<BR>
-#
-# SPDX-License-Identifier: BSD-2-Clause-Patent
-#
-#
-
-[Defines]
- DEFINE DEBUG_PRINT_ERROR_LEVEL = 0x80000047
-
-[LibraryClasses.common]
-!ifdef $(SOURCE_DEBUG_ENABLE)
- PeCoffExtraActionLib|SourceLevelDebugPkg/Library/PeCoffExtraActionLibDebug/PeCoffExtraActionLibDebug.inf
- DebugCommunicationLib|SourceLevelDebugPkg/Library/DebugCommunicationLibSerialPort/DebugCommunicationLibSerialPort.inf
-!else
- PeCoffExtraActionLib|MdePkg/Library/BasePeCoffExtraActionLibNull/BasePeCoffExtraActionLibNull.inf
- DebugAgentLib|MdeModulePkg/Library/DebugAgentLibNull/DebugAgentLibNull.inf
- DebugLib|MdePkg/Library/BaseDebugLibNull/BaseDebugLibNull.inf
-!endif
-!if $(DEBUG_ON_SERIAL_PORT) == TRUE
- DebugLib|MdePkg/Library/BaseDebugLibSerialPort/BaseDebugLibSerialPort.inf
-!else
- DebugLib|MdePkg/Library/BaseDebugLibNull/BaseDebugLibNull.inf
-!endif
- DebugPrintErrorLevelLib|MdePkg/Library/BaseDebugPrintErrorLevelLib/BaseDebugPrintErrorLevelLib.inf
- PrintLib|MdePkg/Library/BasePrintLib/BasePrintLib.inf
- BaseLib|MdePkg/Library/BaseLib/BaseLib.inf
- SafeIntLib|MdePkg/Library/BaseSafeIntLib/BaseSafeIntLib.inf
- BmpSupportLib|MdeModulePkg/Library/BaseBmpSupportLib/BaseBmpSupportLib.inf
- SynchronizationLib|MdePkg/Library/BaseSynchronizationLib/BaseSynchronizationLib.inf
- PrintLib|MdePkg/Library/BasePrintLib/BasePrintLib.inf
- PeCoffGetEntryPointLib|MdePkg/Library/BasePeCoffGetEntryPointLib/BasePeCoffGetEntryPointLib.inf
- PeCoffLib|MdePkg/Library/BasePeCoffLib/BasePeCoffLib.inf
- IoLib|MdePkg/Library/BaseIoLibIntrinsic/BaseIoLibIntrinsic.inf
- UefiDecompressLib|MdePkg/Library/BaseUefiDecompressLib/BaseUefiDecompressLib.inf
- CpuLib|MdePkg/Library/BaseCpuLib/BaseCpuLib.inf
- CacheMaintenanceLib|MdePkg/Library/BaseCacheMaintenanceLib/BaseCacheMaintenanceLib.inf
- UefiLib|MdePkg/Library/UefiLib/UefiLib.inf
- HobLib|MdePkg/Library/DxeHobLib/DxeHobLib.inf
- UefiRuntimeServicesTableLib|MdePkg/Library/UefiRuntimeServicesTableLib/UefiRuntimeServicesTableLib.inf
- DevicePathLib|MdePkg/Library/UefiDevicePathLibDevicePathProtocol/UefiDevicePathLibDevicePathProtocol.inf
- UefiBootServicesTableLib|MdePkg/Library/UefiBootServicesTableLib/UefiBootServicesTableLib.inf
- DxeServicesTableLib|MdePkg/Library/DxeServicesTableLib/DxeServicesTableLib.inf
- DxeServicesLib|MdePkg/Library/DxeServicesLib/DxeServicesLib.inf
- UefiDriverEntryPoint|MdePkg/Library/UefiDriverEntryPoint/UefiDriverEntryPoint.inf
- UefiApplicationEntryPoint|MdePkg/Library/UefiApplicationEntryPoint/UefiApplicationEntryPoint.inf
- HiiLib|MdeModulePkg/Library/UefiHiiLib/UefiHiiLib.inf
- UefiHiiServicesLib|MdeModulePkg/Library/UefiHiiServicesLib/UefiHiiServicesLib.inf
- SortLib|MdeModulePkg/Library/UefiSortLib/UefiSortLib.inf
- ShellLib|ShellPkg/Library/UefiShellLib/UefiShellLib.inf
- ShellCEntryLib|ShellPkg/Library/UefiShellCEntryLib/UefiShellCEntryLib.inf
- FileHandleLib|MdePkg/Library/UefiFileHandleLib/UefiFileHandleLib.inf
- PeCoffExtraActionLib|MdePkg/Library/BasePeCoffExtraActionLibNull/BasePeCoffExtraActionLibNull.inf
- UefiRuntimeLib|MdePkg/Library/UefiRuntimeLib/UefiRuntimeLib.inf
- OrderedCollectionLib|MdePkg/Library/BaseOrderedCollectionRedBlackTreeLib/BaseOrderedCollectionRedBlackTreeLib.inf
- OemHookStatusCodeLib|MdeModulePkg/Library/OemHookStatusCodeLibNull/OemHookStatusCodeLibNull.inf
- PeiServicesLib|MdePkg/Library/PeiServicesLib/PeiServicesLib.inf
-
- #
- # Ramdisk Requirements
- #
- FileExplorerLib|MdeModulePkg/Library/FileExplorerLib/FileExplorerLib.inf
-
- # Allow dynamic PCDs
- #
-
- BaseMemoryLib|MdePkg/Library/BaseMemoryLib/BaseMemoryLib.inf
-
- # Networking Requirements
-!include NetworkPkg/NetworkLibs.dsc.inc
-!if $(NETWORK_TLS_ENABLE) == TRUE
- TlsLib|CryptoPkg/Library/TlsLib/TlsLib.inf
-!endif
-
-
- # Add support for GCC stack protector
- NULL|MdePkg/Library/BaseStackCheckLib/BaseStackCheckLib.inf
-
- # RISC-V Architectural Libraries
- CpuExceptionHandlerLib|UefiCpuPkg/Library/BaseRiscV64CpuExceptionHandlerLib/BaseRiscV64CpuExceptionHandlerLib.inf
- RiscVSbiLib|MdePkg/Library/BaseRiscVSbiLib/BaseRiscVSbiLib.inf
- RiscVMmuLib|UefiCpuPkg/Library/BaseRiscVMmuLib/BaseRiscVMmuLib.inf
- PlatformBootManagerLib|OvmfPkg/RiscVVirt/Library/PlatformBootManagerLib/PlatformBootManagerLib.inf
- ResetSystemLib|Platform/RISC-V/PlatformPkg/Library/ResetSystemLib/ResetSystemLib.inf
-
- RealTimeClockLib|EmbeddedPkg/Library/VirtualRealTimeClockLib/VirtualRealTimeClockLib.inf
- TimeBaseLib|EmbeddedPkg/Library/TimeBaseLib/TimeBaseLib.inf
- SerialPortLib|MdeModulePkg/Library/BaseSerialPortLib16550/BaseSerialPortLib16550.inf
-
- DebugAgentLib|MdeModulePkg/Library/DebugAgentLibNull/DebugAgentLibNull.inf
- DebugAgentTimerLib|EmbeddedPkg/Library/DebugAgentTimerLibNull/DebugAgentTimerLibNull.inf
-
- # Flattened Device Tree (FDT) access library
- FdtLib|EmbeddedPkg/Library/FdtLib/FdtLib.inf
-
- # PCI Libraries
- PciLib|MdePkg/Library/BasePciLibPciExpress/BasePciLibPciExpress.inf
- PciExpressLib|MdePkg/Library/BasePciExpressLib/BasePciExpressLib.inf
- PciCapLib|OvmfPkg/Library/BasePciCapLib/BasePciCapLib.inf
- PciCapPciSegmentLib|OvmfPkg/Library/BasePciCapPciSegmentLib/BasePciCapPciSegmentLib.inf
- PciCapPciIoLib|OvmfPkg/Library/UefiPciCapPciIoLib/UefiPciCapPciIoLib.inf
- DxeHardwareInfoLib|OvmfPkg/Library/HardwareInfoLib/DxeHardwareInfoLib.inf
-
- # USB Libraries
- UefiUsbLib|MdePkg/Library/UefiUsbLib/UefiUsbLib.inf
-
- #
- # CryptoPkg libraries needed by multiple firmware features
- #
- IntrinsicLib|CryptoPkg/Library/IntrinsicLib/IntrinsicLib.inf
-!if $(NETWORK_TLS_ENABLE) == TRUE
- OpensslLib|CryptoPkg/Library/OpensslLib/OpensslLib.inf
-!else
- OpensslLib|CryptoPkg/Library/OpensslLib/OpensslLibCrypto.inf
-!endif
- BaseCryptLib|CryptoPkg/Library/BaseCryptLib/BaseCryptLib.inf
- RngLib|MdePkg/Library/BaseRngLibTimerLib/BaseRngLibTimerLib.inf
-
- #
- # Secure Boot dependencies
- #
-!if $(SECURE_BOOT_ENABLE) == TRUE
- AuthVariableLib|SecurityPkg/Library/AuthVariableLib/AuthVariableLib.inf
- SecureBootVariableLib|SecurityPkg/Library/SecureBootVariableLib/SecureBootVariableLib.inf
- SecureBootVariableProvisionLib|SecurityPkg/Library/SecureBootVariableProvisionLib/SecureBootVariableProvisionLib.inf
- PlatformPKProtectionLib|SecurityPkg/Library/PlatformPKProtectionLibVarPolicy/PlatformPKProtectionLibVarPolicy.inf
-
- # re-use the UserPhysicalPresent() dummy implementation from the ovmf tree
- PlatformSecureLib|OvmfPkg/Library/PlatformSecureLib/PlatformSecureLib.inf
-!else
- AuthVariableLib|MdeModulePkg/Library/AuthVariableLibNull/AuthVariableLibNull.inf
-!endif
- VarCheckLib|MdeModulePkg/Library/VarCheckLib/VarCheckLib.inf
- VariableFlashInfoLib|MdeModulePkg/Library/BaseVariableFlashInfoLib/BaseVariableFlashInfoLib.inf
- VariablePolicyLib|MdeModulePkg/Library/VariablePolicyLib/VariablePolicyLib.inf
- VariablePolicyHelperLib|MdeModulePkg/Library/VariablePolicyHelperLib/VariablePolicyHelperLib.inf
- UefiBootManagerLib|MdeModulePkg/Library/UefiBootManagerLib/UefiBootManagerLib.inf
- ReportStatusCodeLib|MdeModulePkg/Library/DxeReportStatusCodeLib/DxeReportStatusCodeLib.inf
- PerformanceLib|MdeModulePkg/Library/DxePerformanceLib/DxePerformanceLib.inf
- ExtractGuidedSectionLib|MdePkg/Library/DxeExtractGuidedSectionLib/DxeExtractGuidedSectionLib.inf
- PcdLib|MdePkg/Library/DxePcdLib/DxePcdLib.inf
- HobLib|MdePkg/Library/DxeHobLib/DxeHobLib.inf
-
-[LibraryClasses.common.SEC]
- PcdLib|MdePkg/Library/BasePcdLibNull/BasePcdLibNull.inf
- BaseMemoryLib|MdePkg/Library/BaseMemoryLib/BaseMemoryLib.inf
- PerformanceLib|MdePkg/Library/BasePerformanceLibNull/BasePerformanceLibNull.inf
- ReportStatusCodeLib|MdeModulePkg/Library/PeiReportStatusCodeLib/PeiReportStatusCodeLib.inf
- ExtractGuidedSectionLib|MdePkg/Library/BaseExtractGuidedSectionLib/BaseExtractGuidedSectionLib.inf
- PlatformSecLib|UefiCpuPkg/Library/PlatformSecLibNull/PlatformSecLibNull.inf
- HobLib|EmbeddedPkg/Library/PrePiHobLib/PrePiHobLib.inf
- PrePiHobListPointerLib|OvmfPkg/RiscVVirt/Library/PrePiHobListPointerLib/PrePiHobListPointerLib.inf
- MemoryAllocationLib|EmbeddedPkg/Library/PrePiMemoryAllocationLib/PrePiMemoryAllocationLib.inf
-
-[LibraryClasses.common.DXE_CORE]
- PerformanceLib|MdeModulePkg/Library/DxeCorePerformanceLib/DxeCorePerformanceLib.inf
- HobLib|MdePkg/Library/DxeCoreHobLib/DxeCoreHobLib.inf
- MemoryAllocationLib|MdeModulePkg/Library/DxeCoreMemoryAllocationLib/DxeCoreMemoryAllocationLib.inf
- DxeCoreEntryPoint|MdePkg/Library/DxeCoreEntryPoint/DxeCoreEntryPoint.inf
-
-[LibraryClasses.common.DXE_DRIVER]
- SecurityManagementLib|MdeModulePkg/Library/DxeSecurityManagementLib/DxeSecurityManagementLib.inf
- MemoryAllocationLib|MdePkg/Library/UefiMemoryAllocationLib/UefiMemoryAllocationLib.inf
-
-[LibraryClasses.common.UEFI_APPLICATION]
- MemoryAllocationLib|MdePkg/Library/UefiMemoryAllocationLib/UefiMemoryAllocationLib.inf
- HiiLib|MdeModulePkg/Library/UefiHiiLib/UefiHiiLib.inf
-
-[LibraryClasses.common.UEFI_DRIVER]
- MemoryAllocationLib|MdePkg/Library/UefiMemoryAllocationLib/UefiMemoryAllocationLib.inf
-
-[LibraryClasses.common.DXE_RUNTIME_DRIVER]
- MemoryAllocationLib|MdePkg/Library/UefiMemoryAllocationLib/UefiMemoryAllocationLib.inf
- CapsuleLib|MdeModulePkg/Library/DxeCapsuleLibNull/DxeCapsuleLibNull.inf
-!if $(DEBUG_ON_SERIAL_PORT) == TRUE
- DebugLib|MdePkg/Library/DxeRuntimeDebugLibSerialPort/DxeRuntimeDebugLibSerialPort.inf
-!endif
- VariablePolicyLib|MdeModulePkg/Library/VariablePolicyLib/VariablePolicyLibRuntimeDxe.inf
-
-!if $(SECURE_BOOT_ENABLE) == TRUE
- BaseCryptLib|CryptoPkg/Library/BaseCryptLib/RuntimeCryptLib.inf
-!endif
-
-################################################################################
-#
-# Pcd Section - list of all EDK II PCD Entries defined by this Platform
-#
-################################################################################
-
-[PcdsFeatureFlag.common]
- gEfiMdeModulePkgTokenSpaceGuid.PcdHiiOsRuntimeSupport|FALSE
-
- gEmbeddedTokenSpaceGuid.PcdPrePiProduceMemoryTypeInformationHob|TRUE
-
-[PcdsFeatureFlag]
- #
- # Activate AcpiSdtProtocol
- #
- gEfiMdeModulePkgTokenSpaceGuid.PcdInstallAcpiSdtProtocol|TRUE
-
-[PcdsFixedAtBuild.common]
- gEfiMdePkgTokenSpaceGuid.PcdRiscVFeatureOverride|0xFFFFFFFFFFFFFFF8
- gEfiMdePkgTokenSpaceGuid.PcdMaximumUnicodeStringLength|1000000
- gEfiMdePkgTokenSpaceGuid.PcdMaximumAsciiStringLength|1000000
- gEfiMdePkgTokenSpaceGuid.PcdMaximumLinkedListLength|0
- gEfiMdePkgTokenSpaceGuid.PcdSpinLockTimeout|10000000
- gEfiMdePkgTokenSpaceGuid.PcdUefiLibMaxPrintBufferSize|320
-
- # DEBUG_ASSERT_ENABLED 0x01
- # DEBUG_PRINT_ENABLED 0x02
- # DEBUG_CODE_ENABLED 0x04
- # CLEAR_MEMORY_ENABLED 0x08
- # ASSERT_BREAKPOINT_ENABLED 0x10
- # ASSERT_DEADLOOP_ENABLED 0x20
-!if $(DEBUG_ON_SERIAL_PORT) != TRUE
- gEfiMdePkgTokenSpaceGuid.PcdDebugPropertyMask|0x21
-!else
- gEfiMdePkgTokenSpaceGuid.PcdDebugPropertyMask|0x2f
-!endif
-
- # DEBUG_INIT 0x00000001 // Initialization
- # DEBUG_WARN 0x00000002 // Warnings
- # DEBUG_LOAD 0x00000004 // Load events
- # DEBUG_FS 0x00000008 // EFI File system
- # DEBUG_POOL 0x00000010 // Alloc & Free (pool)
- # DEBUG_PAGE 0x00000020 // Alloc & Free (page)
- # DEBUG_INFO 0x00000040 // Informational debug messages
- # DEBUG_DISPATCH 0x00000080 // PEI/DXE/SMM Dispatchers
- # DEBUG_VARIABLE 0x00000100 // Variable
- # DEBUG_BM 0x00000400 // Boot Manager
- # DEBUG_BLKIO 0x00001000 // BlkIo Driver
- # DEBUG_NET 0x00004000 // SNP Driver
- # DEBUG_UNDI 0x00010000 // UNDI Driver
- # DEBUG_LOADFILE 0x00020000 // LoadFile
- # DEBUG_EVENT 0x00080000 // Event messages
- # DEBUG_GCD 0x00100000 // Global Coherency Database changes
- # DEBUG_CACHE 0x00200000 // Memory range cachability changes
- # DEBUG_VERBOSE 0x00400000 // Detailed debug messages that may
- # // significantly impact boot performance
- # DEBUG_ERROR 0x80000000 // Error
-!if $(DEBUG_ON_SERIAL_PORT) == TRUE
- gEfiMdePkgTokenSpaceGuid.PcdDebugPrintErrorLevel|$(DEBUG_PRINT_ERROR_LEVEL)
-!endif
-
- #
- # Optional feature to help prevent EFI memory map fragments
- # Turned on and off via: PcdPrePiProduceMemoryTypeInformationHob
- # Values are in EFI Pages (4K). DXE Core will make sure that
- # at least this much of each type of memory can be allocated
- # from a single memory range. This way you only end up with
- # maximum of two fragments for each type in the memory map
- # (the memory used, and the free memory that was prereserved
- # but not used).
- #
- gEmbeddedTokenSpaceGuid.PcdMemoryTypeEfiACPIReclaimMemory|0
- gEmbeddedTokenSpaceGuid.PcdMemoryTypeEfiACPIMemoryNVS|0
- gEmbeddedTokenSpaceGuid.PcdMemoryTypeEfiReservedMemoryType|0
-!if $(SECURE_BOOT_ENABLE) == TRUE
- gEmbeddedTokenSpaceGuid.PcdMemoryTypeEfiRuntimeServicesData|600
- gEmbeddedTokenSpaceGuid.PcdMemoryTypeEfiRuntimeServicesCode|400
- gEmbeddedTokenSpaceGuid.PcdMemoryTypeEfiBootServicesCode|1500
-!else
- gEmbeddedTokenSpaceGuid.PcdMemoryTypeEfiRuntimeServicesData|300
- gEmbeddedTokenSpaceGuid.PcdMemoryTypeEfiRuntimeServicesCode|150
- gEmbeddedTokenSpaceGuid.PcdMemoryTypeEfiBootServicesCode|1000
-!endif
- gEmbeddedTokenSpaceGuid.PcdMemoryTypeEfiBootServicesData|6000
- gEmbeddedTokenSpaceGuid.PcdMemoryTypeEfiLoaderCode|20
- gEmbeddedTokenSpaceGuid.PcdMemoryTypeEfiLoaderData|0
-
- #
- # Enable strict image permissions for all images. (This applies
- # only to images that were built with >= 4 KB section alignment.)
- #
- gEfiMdeModulePkgTokenSpaceGuid.PcdImageProtectionPolicy|0x3
-
- #
- # Enable NX memory protection for all non-code regions, including OEM and OS
- # reserved ones, with the exception of LoaderData regions, of which OS loaders
- # (i.e., GRUB) may assume that its contents are executable.
- #
- gEfiMdeModulePkgTokenSpaceGuid.PcdDxeNxMemoryProtectionPolicy|0xC000000000007FD5
-
-[Components.common]
- #
- # Ramdisk support
- #
- MdeModulePkg/Universal/Disk/RamDiskDxe/RamDiskDxe.inf
-
- ShellPkg/DynamicCommand/TftpDynamicCommand/TftpDynamicCommand.inf {
- <PcdsFixedAtBuild>
- gEfiShellPkgTokenSpaceGuid.PcdShellLibAutoInitialize|FALSE
- }
- ShellPkg/DynamicCommand/HttpDynamicCommand/HttpDynamicCommand.inf {
- <PcdsFixedAtBuild>
- gEfiShellPkgTokenSpaceGuid.PcdShellLibAutoInitialize|FALSE
- }
- OvmfPkg/LinuxInitrdDynamicShellCommand/LinuxInitrdDynamicShellCommand.inf {
- <PcdsFixedAtBuild>
- gEfiShellPkgTokenSpaceGuid.PcdShellLibAutoInitialize|FALSE
- }
- ShellPkg/Application/Shell/Shell.inf {
- <LibraryClasses>
- ShellCommandLib|ShellPkg/Library/UefiShellCommandLib/UefiShellCommandLib.inf
- NULL|ShellPkg/Library/UefiShellLevel2CommandsLib/UefiShellLevel2CommandsLib.inf
- NULL|ShellPkg/Library/UefiShellLevel1CommandsLib/UefiShellLevel1CommandsLib.inf
- NULL|ShellPkg/Library/UefiShellLevel3CommandsLib/UefiShellLevel3CommandsLib.inf
- NULL|ShellPkg/Library/UefiShellDriver1CommandsLib/UefiShellDriver1CommandsLib.inf
- NULL|ShellPkg/Library/UefiShellDebug1CommandsLib/UefiShellDebug1CommandsLib.inf
-!if $(ACPIVIEW_ENABLE) == TRUE
- NULL|ShellPkg/Library/UefiShellAcpiViewCommandLib/UefiShellAcpiViewCommandLib.inf
-!endif
- NULL|ShellPkg/Library/UefiShellInstall1CommandsLib/UefiShellInstall1CommandsLib.inf
- NULL|ShellPkg/Library/UefiShellNetwork1CommandsLib/UefiShellNetwork1CommandsLib.inf
-!if $(NETWORK_IP6_ENABLE) == TRUE
- NULL|ShellPkg/Library/UefiShellNetwork2CommandsLib/UefiShellNetwork2CommandsLib.inf
-!endif
- HandleParsingLib|ShellPkg/Library/UefiHandleParsingLib/UefiHandleParsingLib.inf
- PrintLib|MdePkg/Library/BasePrintLib/BasePrintLib.inf
- BcfgCommandLib|ShellPkg/Library/UefiShellBcfgCommandLib/UefiShellBcfgCommandLib.inf
-
- <PcdsFixedAtBuild>
- gEfiMdePkgTokenSpaceGuid.PcdDebugPropertyMask|0xFF
- gEfiShellPkgTokenSpaceGuid.PcdShellLibAutoInitialize|FALSE
- gEfiMdePkgTokenSpaceGuid.PcdUefiLibMaxPrintBufferSize|8000
- }
-
- #
- # ACPI Support
- #
- MdeModulePkg/Universal/Acpi/AcpiTableDxe/AcpiTableDxe.inf {
- <LibraryClasses>
- NULL|EmbeddedPkg/Library/PlatformHasAcpiLib/PlatformHasAcpiLib.inf
- }
--
2.45.1.windows.1
-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#119848): https://edk2.groups.io/g/devel/message/119848
Mute This Topic: https://groups.io/mt/107122512/7686176
Group Owner: devel+owner@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub [rebecca@openfw.io]
-=-=-=-=-=-=-=-=-=-=-=-
^ permalink raw reply related [flat|nested] 10+ messages in thread
* 转发:[edk2-devel] [PATCH V2 0/2] Initial commit for RISC-V Qemu-based Server
2024-07-09 12:37 [edk2-devel] [PATCH V2 0/2] Initial commit for RISC-V Qemu-based Server Evan Chai
2024-07-09 12:37 ` [edk2-devel] [PATCH V2 1/2] RiscVQemuServerPlatform: Initial commit for RISC-V Qemu-based Server platform Evan Chai
2024-07-09 12:37 ` [edk2-devel] [PATCH V2 2/2] RiscVQemuServerPlatform: Unified .dsc files into a single file Evan Chai
@ 2024-07-09 12:51 ` EvanChai
2024-07-10 2:39 ` 回复:[edk2-devel] " EvanChai
2024-07-10 6:25 ` 转发:[edk2-devel] " Sunil V L
2 siblings, 2 replies; 10+ messages in thread
From: EvanChai @ 2024-07-09 12:51 UTC (permalink / raw)
To: Sunil V L; +Cc: devel, evan.chai, yong.li, Andrei Warkentin
[-- Attachment #1: Type: text/plain, Size: 3960 bytes --]
Hi Sunil,
Thanks for your comments, it's the enhanced one.
1. I referenced image links from the PI 1.8 spec instead of directly uploading them.
2. Seperated all the changes into two parts. The second patch simply merges the two .dsc files. As described in my commit log, to make it easier for users to manage .dsc files.
Hi Andrei, Yong,
Let me know if any.
BR,
Evan
------------------------------------------------------------------
发件人:Evan Chai <evanchai91@gmail.com>
发送时间:2024年7月9日(星期二) 20:37
收件人:devel<devel@edk2.groups.io>
抄 送:Evan Chai<evan.chai@linux.alibaba.com>
主 题:[edk2-devel] [PATCH V2 0/2] Initial commit for RISC-V Qemu-based Server
This is a foundational patch to move the 'RISC-V QEMU Server Reference Platform' forward.
Evan Chai (2):
RiscVQemuServerPlatform: Initial commit for RISC-V Qemu-based Server
platform
RiscVQemuServerPlatform: Unified .dsc files into a single file
Platform/Qemu/RiscVQemuServerPlatform/Documents/Media/RISC-V_Platform_EDK2_Firmware_Enabling_Philosophy.jpg | Bin 0 -> 329871 bytes
Platform/Qemu/RiscVQemuServerPlatform/Readme.md | 355 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Platform/Qemu/RiscVQemuServerPlatform/RiscVQemuServerPlatform.dsc | 799 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Platform/Qemu/RiscVQemuServerPlatform/RiscVQemuServerPlatform.fdf | 315 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Platform/Qemu/RiscVQemuServerPlatform/RiscVQemuServerPlatform.fdf.inc | 41 +++++++++++++++++++++++++++++++++++++++++
Platform/Qemu/RiscVQemuServerPlatform/VarStore.fdf.inc | 72 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
6 files changed, 1582 insertions(+)
create mode 100644 Platform/Qemu/RiscVQemuServerPlatform/Documents/Media/RISC-V_Platform_EDK2_Firmware_Enabling_Philosophy.jpg
create mode 100644 Platform/Qemu/RiscVQemuServerPlatform/Readme.md
create mode 100644 Platform/Qemu/RiscVQemuServerPlatform/RiscVQemuServerPlatform.dsc
create mode 100644 Platform/Qemu/RiscVQemuServerPlatform/RiscVQemuServerPlatform.fdf
create mode 100644 Platform/Qemu/RiscVQemuServerPlatform/RiscVQemuServerPlatform.fdf.inc
create mode 100644 Platform/Qemu/RiscVQemuServerPlatform/VarStore.fdf.inc
--
2.45.1.windows.1
-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#119840): https://edk2.groups.io/g/devel/message/119840
Mute This Topic: https://groups.io/mt/107121708/7686176
Group Owner: devel+owner@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub [rebecca@openfw.io]
-=-=-=-=-=-=-=-=-=-=-=-
[-- Attachment #2: Type: text/html, Size: 7160 bytes --]
^ permalink raw reply [flat|nested] 10+ messages in thread
* 回复:[edk2-devel] [PATCH V2 0/2] Initial commit for RISC-V Qemu-based Server
2024-07-09 12:51 ` 转发:[edk2-devel] [PATCH V2 0/2] Initial commit for RISC-V Qemu-based Server EvanChai
@ 2024-07-10 2:39 ` EvanChai
2024-07-10 6:25 ` 转发:[edk2-devel] " Sunil V L
1 sibling, 0 replies; 10+ messages in thread
From: EvanChai @ 2024-07-10 2:39 UTC (permalink / raw)
To: EvanChai, Sunil V L; +Cc: devel, yong.li, Andrei Warkentin
[-- Attachment #1: Type: text/plain, Size: 4612 bytes --]
FYI.
Source code: https://github.com/ChaiEvan/edk2-platforms/commits/RV_ServerPlatformRef_v2.3/ <https://github.com/ChaiEvan/edk2-platforms/commits/RV_ServerPlatformRef_v2.3/ >
BR,
Evan
------------------------------------------------------------------
发件人:EvanChai <evan.chai@linux.alibaba.com>
发送时间:2024年7月9日(星期二) 20:51
收件人:Sunil V L<sunilvl@ventanamicro.com>
抄 送:devel<devel@edk2.groups.io>; "evan.chai"<evan.chai@linux.alibaba.com>; "yong.li"<yong.li@intel.com>; Andrei Warkentin<andrei.warkentin@intel.com>
主 题:转发:[edk2-devel] [PATCH V2 0/2] Initial commit for RISC-V Qemu-based Server
Hi Sunil,
Thanks for your comments, it's the enhanced one.
1. I referenced image links from the PI 1.8 spec instead of directly uploading them.
2. Seperated all the changes into two parts. The second patch simply merges the two .dsc files. As described in my commit log, to make it easier for users to manage .dsc files.
Hi Andrei, Yong,
Let me know if any.
BR,
Evan
------------------------------------------------------------------
发件人:Evan Chai <evanchai91@gmail.com>
发送时间:2024年7月9日(星期二) 20:37
收件人:devel<devel@edk2.groups.io>
抄 送:Evan Chai<evan.chai@linux.alibaba.com>
主 题:[edk2-devel] [PATCH V2 0/2] Initial commit for RISC-V Qemu-based Server
This is a foundational patch to move the 'RISC-V QEMU Server Reference Platform' forward.
Evan Chai (2):
RiscVQemuServerPlatform: Initial commit for RISC-V Qemu-based Server
platform
RiscVQemuServerPlatform: Unified .dsc files into a single file
Platform/Qemu/RiscVQemuServerPlatform/Documents/Media/RISC-V_Platform_EDK2_Firmware_Enabling_Philosophy.jpg | Bin 0 -> 329871 bytes
Platform/Qemu/RiscVQemuServerPlatform/Readme.md | 355 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Platform/Qemu/RiscVQemuServerPlatform/RiscVQemuServerPlatform.dsc | 799 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Platform/Qemu/RiscVQemuServerPlatform/RiscVQemuServerPlatform.fdf | 315 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Platform/Qemu/RiscVQemuServerPlatform/RiscVQemuServerPlatform.fdf.inc | 41 +++++++++++++++++++++++++++++++++++++++++
Platform/Qemu/RiscVQemuServerPlatform/VarStore.fdf.inc | 72 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
6 files changed, 1582 insertions(+)
create mode 100644 Platform/Qemu/RiscVQemuServerPlatform/Documents/Media/RISC-V_Platform_EDK2_Firmware_Enabling_Philosophy.jpg
create mode 100644 Platform/Qemu/RiscVQemuServerPlatform/Readme.md
create mode 100644 Platform/Qemu/RiscVQemuServerPlatform/RiscVQemuServerPlatform.dsc
create mode 100644 Platform/Qemu/RiscVQemuServerPlatform/RiscVQemuServerPlatform.fdf
create mode 100644 Platform/Qemu/RiscVQemuServerPlatform/RiscVQemuServerPlatform.fdf.inc
create mode 100644 Platform/Qemu/RiscVQemuServerPlatform/VarStore.fdf.inc
--
2.45.1.windows.1
-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#119859): https://edk2.groups.io/g/devel/message/119859
Mute This Topic: https://groups.io/mt/107135809/7686176
Group Owner: devel+owner@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub [rebecca@openfw.io]
-=-=-=-=-=-=-=-=-=-=-=-
[-- Attachment #2: Type: text/html, Size: 8920 bytes --]
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: 转发:[edk2-devel] [PATCH V2 0/2] Initial commit for RISC-V Qemu-based Server
2024-07-09 12:51 ` 转发:[edk2-devel] [PATCH V2 0/2] Initial commit for RISC-V Qemu-based Server EvanChai
2024-07-10 2:39 ` 回复:[edk2-devel] " EvanChai
@ 2024-07-10 6:25 ` Sunil V L
2024-07-10 9:14 ` [edk2-devel] " EvanChai
1 sibling, 1 reply; 10+ messages in thread
From: Sunil V L @ 2024-07-10 6:25 UTC (permalink / raw)
To: devel, evan.chai; +Cc: yong.li, Andrei Warkentin
Hi Evan,
Did you look at all the comments I gave? Since I replied inline in the
patch which had images, I am not sure mail whether the mail client
truncated them.
Thanks,
Sunil
On Tue, Jul 09, 2024 at 08:51:07PM +0800, EvanChai via groups.io wrote:
> Hi Sunil,
> Thanks for your comments, it's the enhanced one.
> 1. I referenced image links from the PI 1.8 spec instead of directly uploading them.
> 2. Seperated all the changes into two parts. The second patch simply merges the two .dsc files. As described in my commit log, to make it easier for users to manage .dsc files.
> Hi Andrei, Yong,
> Let me know if any.
> BR,
> Evan
> ------------------------------------------------------------------
> 发件人:Evan Chai <evanchai91@gmail.com>
> 发送时间:2024年7月9日(星期二) 20:37
> 收件人:devel<devel@edk2.groups.io>
> 抄 送:Evan Chai<evan.chai@linux.alibaba.com>
> 主 题:[edk2-devel] [PATCH V2 0/2] Initial commit for RISC-V Qemu-based Server
> This is a foundational patch to move the 'RISC-V QEMU Server Reference Platform' forward.
> Evan Chai (2):
> RiscVQemuServerPlatform: Initial commit for RISC-V Qemu-based Server
> platform
> RiscVQemuServerPlatform: Unified .dsc files into a single file
> Platform/Qemu/RiscVQemuServerPlatform/Documents/Media/RISC-V_Platform_EDK2_Firmware_Enabling_Philosophy.jpg | Bin 0 -> 329871 bytes
> Platform/Qemu/RiscVQemuServerPlatform/Readme.md | 355 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
> Platform/Qemu/RiscVQemuServerPlatform/RiscVQemuServerPlatform.dsc | 799 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
> Platform/Qemu/RiscVQemuServerPlatform/RiscVQemuServerPlatform.fdf | 315 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
> Platform/Qemu/RiscVQemuServerPlatform/RiscVQemuServerPlatform.fdf.inc | 41 +++++++++++++++++++++++++++++++++++++++++
> Platform/Qemu/RiscVQemuServerPlatform/VarStore.fdf.inc | 72 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
> 6 files changed, 1582 insertions(+)
> create mode 100644 Platform/Qemu/RiscVQemuServerPlatform/Documents/Media/RISC-V_Platform_EDK2_Firmware_Enabling_Philosophy.jpg
> create mode 100644 Platform/Qemu/RiscVQemuServerPlatform/Readme.md
> create mode 100644 Platform/Qemu/RiscVQemuServerPlatform/RiscVQemuServerPlatform.dsc
> create mode 100644 Platform/Qemu/RiscVQemuServerPlatform/RiscVQemuServerPlatform.fdf
> create mode 100644 Platform/Qemu/RiscVQemuServerPlatform/RiscVQemuServerPlatform.fdf.inc
> create mode 100644 Platform/Qemu/RiscVQemuServerPlatform/VarStore.fdf.inc
> --
> 2.45.1.windows.1
>
>
>
>
>
-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#119860): https://edk2.groups.io/g/devel/message/119860
Mute This Topic: https://groups.io/mt/107121708/7686176
Group Owner: devel+owner@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub [rebecca@openfw.io]
-=-=-=-=-=-=-=-=-=-=-=-
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [edk2-devel] 转发:[edk2-devel] [PATCH V2 0/2] Initial commit for RISC-V Qemu-based Server
2024-07-10 6:25 ` 转发:[edk2-devel] " Sunil V L
@ 2024-07-10 9:14 ` EvanChai
2024-07-10 14:33 ` Sunil V L
0 siblings, 1 reply; 10+ messages in thread
From: EvanChai @ 2024-07-10 9:14 UTC (permalink / raw)
To: Sunil V L, devel
[-- Attachment #1: Type: text/plain, Size: 922 bytes --]
Hi Sunil,
I just saw two comments below.
'These images are generic. I don't think we need to have a copy here. Ifyou need to refer to this in any documentation, please add the link tooriginal image/document.'
‘It is better to split these documentation changes to a separate commit.’
BTW, the only uploaded picture comes from my presentation on the RV server platform proposal. It doesn't have an online source because I drew it myself. Do you have any recommended places where I can upload it? Then we can just reference its link in the README.
-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#119862): https://edk2.groups.io/g/devel/message/119862
Mute This Topic: https://groups.io/mt/107121708/7686176
Group Owner: devel+owner@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub [rebecca@openfw.io]
-=-=-=-=-=-=-=-=-=-=-=-
[-- Attachment #2: Type: text/html, Size: 5218 bytes --]
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [edk2-devel] 转发:[edk2-devel] [PATCH V2 0/2] Initial commit for RISC-V Qemu-based Server
2024-07-10 9:14 ` [edk2-devel] " EvanChai
@ 2024-07-10 14:33 ` Sunil V L
2024-07-11 8:07 ` 回复:[edk2-devel] " Fu Siyuan via groups.io
2024-07-11 13:03 ` EvanChai
0 siblings, 2 replies; 10+ messages in thread
From: Sunil V L @ 2024-07-10 14:33 UTC (permalink / raw)
To: devel, evan.chai
Hi Evan,
On Wed, Jul 10, 2024 at 02:14:21AM -0700, EvanChai via groups.io wrote:
> Hi Sunil,
> I just saw two comments below.
> 'These images are generic. I don't think we need to have a copy here. Ifyou need to refer to this in any documentation, please add the link tooriginal image/document.'
> ‘It is better to split these documentation changes to a separate commit.’
>
Oh OK.
At high level, here is my feedback.
1) It is wonderful that you have added lot of details including design
of qemu, todo etc. However, I think it is better to keep Readme simple
and provide a reference to RISE wiki page where you can add all these
details. That way, we can avoid having stale data in Readme or need to
do several patches for updates. Better to keep readme with just build
and test instructions and a link to more details. For example, adding
qemu design (ex: memory map) in edk2 readme. Every time qemu design
changes, the edk2 readme becomes stale and keeping them in sync may
not be productive.
2) Please split documentation changes (readme) and platform changes (dsc
etc) to separate commits.
3) In the latest series, I see you have 2 commits where first commit
adds .inc file and in the next commit itself it gets removed. I see no
reason to do so.
4) Why would .inc files cause fragmentation? Rather, I think a common
.inc (qemu and real servers) will reduce the effort and copying same for
several platforms.
5) I have few more comments on the contents of readme as well. But if it
can be moved to wiki, we can discuss and correct there.
> BTW, the only uploaded picture comes from my presentation on the RV server platform proposal. It doesn't have an online source because I drew it myself. Do you have any recommended places where I can upload it? Then we can just reference its link in the README.
>
My recommendation is to keep them in RISE wiki for now.
Thanks,
Sunil
-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#119866): https://edk2.groups.io/g/devel/message/119866
Mute This Topic: https://groups.io/mt/107121708/7686176
Group Owner: devel+owner@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub [rebecca@openfw.io]
-=-=-=-=-=-=-=-=-=-=-=-
^ permalink raw reply [flat|nested] 10+ messages in thread
* 回复:[edk2-devel] 转发:[edk2-devel] [PATCH V2 0/2] Initial commit for RISC-V Qemu-based Server
2024-07-10 14:33 ` Sunil V L
@ 2024-07-11 8:07 ` Fu Siyuan via groups.io
2024-07-11 13:03 ` EvanChai
1 sibling, 0 replies; 10+ messages in thread
From: Fu Siyuan via groups.io @ 2024-07-11 8:07 UTC (permalink / raw)
To: evan.chai; +Cc: Sunil V L, devel
Hi Evan,
As a newcomer RISC-V server BIOS engineer (not new UEFI engineer) I hold the same opinion with Sunil - this Readme file contains too many details and make me confuse where to start. It's better to provide only the necessary content to start the work, like how to setup the build env, execute code, where to report/discuss issues, also the links to illustrate design and WIP tasks.
For example the "Appendix 7.1 Building and running based on BRS environment" - I think this section should be the beginning of this doc, may be just after target audience and prerequisite knowledge. Also it's too heavy to use BRS test as a start, may be just boot to a simple kernel or even EFI shell, so people could easily check if their build environment is correct, then we can move to more complex case like how to enable the network stack (section 3.2.3), replace OS image or run BRS test suite.
I also have some questions as below:
> Table 1 Server SOC Requirement
Is this table a list of QEMU support status/plan of RISC-V Server SOC spec, or this RISC-V QEMU server platform status/plan?
> Figuire 1 RISC-V Platform EDK2 Firmware Enabling Philosophy
Is there a guide document to explain what's the required "Minimal changes" to enable a real server platform based on this QEMU reference, like which libraries/drivers need to be replaced by real hardware solution?
> It is essential to emphasize that RiscVVirt adopts a separate Flash Descriptor (FD) approach for firmware code and Variables. The advantage is clear as it allows for the protection of the firmware code by setting it as read-only, while conferring write permissions exclusively to the Variable FD, effectively ensuring the security of the firmware.
It seems to me that the read-only FD in QEMU virtualized the ROM in real hardware, and the variable FD acts as a normal flash, that any execution mode can write to it. However there are security features in EDK2 (like auth variable) which require the variable storage should only be updated by more privileged code after some kinds of authentication, like x86 SMM or ARM TZ. Is there a similar security architecture in RISC-V, and is it possible to virtualize such flash in RISC-V QEMU server?
> In the upcoming server platform solution, we will continue to adopt a similar approach as RiscVVirt. However, there is a slight difference in the treatment of the Variable FD.
What's the "slight difference" here in server platform solution, can we provide a brief explanation, or a link to any material if it has been discussed somewhere else?
Best Regards,
Fu Siyuan
------------------------------------------------------------------
发件人:Sunil V L <sunilvl@ventanamicro.com>
发送时间:2024年7月10日(星期三) 22:33
收件人:devel<devel@edk2.groups.io>; "evan.chai"<evan.chai@linux.alibaba.com>
主 题:Re: [edk2-devel] 转发:[edk2-devel] [PATCH V2 0/2] Initial commit for RISC-V Qemu-based Server
Hi Evan,
On Wed, Jul 10, 2024 at 02:14:21AM -0700, EvanChai via groups.io wrote:
> Hi Sunil,
> I just saw two comments below.
> 'These images are generic. I don't think we need to have a copy here. Ifyou need to refer to this in any documentation, please add the link tooriginal image/document.'
> ‘It is better to split these documentation changes to a separate commit.’
>
Oh OK.
At high level, here is my feedback.
1) It is wonderful that you have added lot of details including design
of qemu, todo etc. However, I think it is better to keep Readme simple
and provide a reference to RISE wiki page where you can add all these
details. That way, we can avoid having stale data in Readme or need to
do several patches for updates. Better to keep readme with just build
and test instructions and a link to more details. For example, adding
qemu design (ex: memory map) in edk2 readme. Every time qemu design
changes, the edk2 readme becomes stale and keeping them in sync may
not be productive.
2) Please split documentation changes (readme) and platform changes (dsc
etc) to separate commits.
3) In the latest series, I see you have 2 commits where first commit
adds .inc file and in the next commit itself it gets removed. I see no
reason to do so.
4) Why would .inc files cause fragmentation? Rather, I think a common
.inc (qemu and real servers) will reduce the effort and copying same for
several platforms.
5) I have few more comments on the contents of readme as well. But if it
can be moved to wiki, we can discuss and correct there.
> BTW, the only uploaded picture comes from my presentation on the RV server platform proposal. It doesn't have an online source because I drew it myself. Do you have any recommended places where I can upload it? Then we can just reference its link in the README.
>
My recommendation is to keep them in RISE wiki for now.
Thanks,
Sunil
-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#119902): https://edk2.groups.io/g/devel/message/119902
Mute This Topic: https://groups.io/mt/107166955/7686176
Group Owner: devel+owner@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub [rebecca@openfw.io]
-=-=-=-=-=-=-=-=-=-=-=-
^ permalink raw reply [flat|nested] 10+ messages in thread
* 回复:[edk2-devel] 转发:[edk2-devel] [PATCH V2 0/2] Initial commit for RISC-V Qemu-based Server
2024-07-10 14:33 ` Sunil V L
2024-07-11 8:07 ` 回复:[edk2-devel] " Fu Siyuan via groups.io
@ 2024-07-11 13:03 ` EvanChai
1 sibling, 0 replies; 10+ messages in thread
From: EvanChai @ 2024-07-11 13:03 UTC (permalink / raw)
To: devel, sunilvl
[-- Attachment #1: Type: text/plain, Size: 4047 bytes --]
Hi Sunil,
I agree with your most of comments, and need some time to do the change.
There are some opens below.
3) In the latest series, I see you have 2 commits where first commit
adds .inc file and in the next commit itself it gets removed. I see no
reason to do so.
[Evan] I marked this change in commit log 'Unified .dsc files into a single'
4) Why would .inc files cause fragmentation? Rather, I think a common
.inc (qemu and real servers) will reduce the effort and copying same for
several platforms.
[Evan] I acknowledge that the .inc files have extracted many common parts and reduced some porting effort. However, this approach has not been thoroughly implemented: 1. As I remember, some libraries are defined in multiple files; 2. Several libraries that should belong to the common part are still in the .dsc files for unknown reasons, such as CapsuleLib, BootLogoLib, FrameBufferBltLib, TPM, and so on. Given the unclear separation, it might be better not to implement it at all. The SBSA dsc file follows the traditional approach, and it doesn't seem to cause much inconvenience in usage. Additionally, what worries me is that many firmware engineers are not clear about which parts are common (platform-independent) and which are not. This separation approach might confuse them and make the codebase more chaotic.
Anyway, I will approach this issue with an open mind and welcome any additional suggestions at any time.
BR,
Evan
------------------------------------------------------------------
发件人:Sunil V L <sunilvl@ventanamicro.com>
发送时间:2024年7月10日(星期三) 22:33
收件人:devel<devel@edk2.groups.io>; "evan.chai"<evan.chai@linux.alibaba.com>
主 题:Re: [edk2-devel] 转发:[edk2-devel] [PATCH V2 0/2] Initial commit for RISC-V Qemu-based Server
Hi Evan,
On Wed, Jul 10, 2024 at 02:14:21AM -0700, EvanChai via groups.io wrote:
> Hi Sunil,
> I just saw two comments below.
> 'These images are generic. I don't think we need to have a copy here. Ifyou need to refer to this in any documentation, please add the link tooriginal image/document.'
> ‘It is better to split these documentation changes to a separate commit.’
>
Oh OK.
At high level, here is my feedback.
1) It is wonderful that you have added lot of details including design
of qemu, todo etc. However, I think it is better to keep Readme simple
and provide a reference to RISE wiki page where you can add all these
details. That way, we can avoid having stale data in Readme or need to
do several patches for updates. Better to keep readme with just build
and test instructions and a link to more details. For example, adding
qemu design (ex: memory map) in edk2 readme. Every time qemu design
changes, the edk2 readme becomes stale and keeping them in sync may
not be productive.
2) Please split documentation changes (readme) and platform changes (dsc
etc) to separate commits.
3) In the latest series, I see you have 2 commits where first commit
adds .inc file and in the next commit itself it gets removed. I see no
reason to do so.
4) Why would .inc files cause fragmentation? Rather, I think a common
.inc (qemu and real servers) will reduce the effort and copying same for
several platforms.
5) I have few more comments on the contents of readme as well. But if it
can be moved to wiki, we can discuss and correct there.
> BTW, the only uploaded picture comes from my presentation on the RV server platform proposal. It doesn't have an online source because I drew it myself. Do you have any recommended places where I can upload it? Then we can just reference its link in the README.
>
My recommendation is to keep them in RISE wiki for now.
Thanks,
Sunil
-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#119900): https://edk2.groups.io/g/devel/message/119900
Mute This Topic: https://groups.io/mt/107161977/7686176
Group Owner: devel+owner@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub [rebecca@openfw.io]
-=-=-=-=-=-=-=-=-=-=-=-
[-- Attachment #2: Type: text/html, Size: 13355 bytes --]
^ permalink raw reply [flat|nested] 10+ messages in thread
end of thread, other threads:[~2024-07-11 16:57 UTC | newest]
Thread overview: 10+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-07-09 12:37 [edk2-devel] [PATCH V2 0/2] Initial commit for RISC-V Qemu-based Server Evan Chai
2024-07-09 12:37 ` [edk2-devel] [PATCH V2 1/2] RiscVQemuServerPlatform: Initial commit for RISC-V Qemu-based Server platform Evan Chai
2024-07-09 12:37 ` [edk2-devel] [PATCH V2 2/2] RiscVQemuServerPlatform: Unified .dsc files into a single file Evan Chai
2024-07-09 12:51 ` 转发:[edk2-devel] [PATCH V2 0/2] Initial commit for RISC-V Qemu-based Server EvanChai
2024-07-10 2:39 ` 回复:[edk2-devel] " EvanChai
2024-07-10 6:25 ` 转发:[edk2-devel] " Sunil V L
2024-07-10 9:14 ` [edk2-devel] " EvanChai
2024-07-10 14:33 ` Sunil V L
2024-07-11 8:07 ` 回复:[edk2-devel] " Fu Siyuan via groups.io
2024-07-11 13:03 ` EvanChai
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox