public inbox for devel@edk2.groups.io
 help / color / mirror / Atom feed
From: "EvanChai" <evan.chai@linux.alibaba.com>
To: "devel" <devel@edk2.groups.io>,
	"siyuan.fu" <siyuan.fu@linux.alibaba.com>
Cc: "Andrei Warkentin" <andrei.warkentin@intel.com>,
	"yong.li" <yong.li@intel.com>,
	"Sunil V L" <sunilvl@ventanamicro.com>
Subject: 回复:[edk2-devel] [PATCH V3 0/2] Initial commit for RISC-V Qemu-based Server
Date: Thu, 25 Jul 2024 20:08:02 +0800	[thread overview]
Message-ID: <72b9f1aa-b06d-4fc9-9ae7-16489cb2ecd8.evan.chai@linux.alibaba.com> (raw)
In-Reply-To: <2459D051-B779-4252-A4DB-9126A1D8A592@linux.alibaba.com>

[-- Attachment #1: Type: text/plain, Size: 11722 bytes --]

Hi Siyuan, 
 Thanks for your comments. 
 1. will remove it in the next patch
 2. In my oppinion, we should keep the content here. Similar to how writing a manual for a development board starts with an introduction to its hardware architecture, our server platform relies on a virtual hardware topology, which is currently 'rvsp-ref'. Based on Sunil's earlier recommendation, I have moved all relevant hardware information tables out of this document and created a minimal hardware introduction (or index). Moreover, no 'Qemu model documentation' or similar document exists at present.
 3. I am considering improving several details in this image, or I might temporarily move it outside and merge it back in the next version once it is ready.
 4. My intention is actually: in 4.1, try to describe the automation of downloading, compiling, executing, and testing through the rv-brs-test-suit repo. And in 4.2, describe the manual steps for performing the above tasks. I will reconsider how to optimize this section. Maybe Chapter 5 is not suitable as a separate chapter. 
 5. Will remove it in the next patch
 6. Will remove it.
BR,
Evan
------------------------------------------------------------------
发件人:Fu Siyuan <siyuan.fu@linux.alibaba.com>
发送时间:2024年7月25日(星期四) 16:28
收件人:devel<devel@edk2.groups.io>; EvanChai<evan.chai@linux.alibaba.com>
抄 送:Andrei Warkentin<andrei.warkentin@intel.com>; "yong.li"<yong.li@intel.com>; Sunil V L<sunilvl@ventanamicro.com>
主 题:Re: [edk2-devel] [PATCH V3 0/2] Initial commit for RISC-V Qemu-based Server
Hi, Evan
Here are some more comments for the Readme.md in the v2.5 branch.
https://github.com/ChaiEvan/edk2-platforms/blob/RV_ServerPlatformRef_v2.5/Platform/Qemu/RiscVQemuServerPlatform/Readme.md <https://github.com/ChaiEvan/edk2-platforms/blob/RV_ServerPlatformRef_v2.5/Platform/Qemu/RiscVQemuServerPlatform/Readme.md >

 * 
Please remove the Revision History section, since this is a readme file instead of a formal released document. I guess you may copied from a design doc of this Pkg? If yes pls put a link here.

 * 
The “2.1 Requirements” and “2.2 High Level Design” are describing the QEMO model requirement/design, not this platform package. Please replace them by a link to the QEMO model doc. It doesn’t make sense to maintain these content here.

 * 
About figure 1 “RISC-V Platform EDK2 Firmware Enabling Philosophy” in section 3. It makes me confuse about the platform enabling philosophy instead of explained it. The dotted line “QemuVirt Boot Flow” and blue like “QemuServerPlatform Boot Flow” behaves exactly same with each other - both loaded OpenSbi, both consume VirtDevices dotted box, and both boot to Shell/Linux - so what’s the meaning of creating a new QemuServerPlatform package and what’s the expected diffenence (benifit) vs the existing Virt? Please consider to update this figure to make it more clear. Again, considering the boot flow design may change, please move it to the design doc.

 * 
Please reverse the order of Section 4.1 built test, 4.2 build platform BIOS, or move 4.1 to 5 Verification. A common dev setup process should be like “download code, build it, then test”.

 * 
Please remove the 8 Appendix if there is no content.

 * 
Please remove your old email address, not cross it out.
Best Regards,
 Siyuan
On 19 Jul 2024, at 12:29, EvanChai wrote:
Hi Andrei, 
 Could you help review the patch? 
As I said before, it is the initial commit for kicking off RV server platform project. Then we can continue to optimize it based on this foundation. More importantly, other developers now have a codebase for developing server platform features. 
If I remember correctly, the following table lists the next phase of feature implementation that you and Yong discussed a couple of months ago. Let's proceed with the work according to this table.
Table 6 Upcoming UEFI Features List
Task Category
Task Description
Comments
# Enable Non-Virtio devices1. Add Memory mapped AHCI controller, to enable SATA deviceInlcude 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 devicesInclude drivers for XHCI/ECHI for USB devices, eg: MdeModulePkg/Bus/Pci/UhciDxe/UhciDxe.inf MdeModulePkg/Bus/Pci/EhciDxe/EhciDxe.inf MdeModulePkg/Bus/Pci/XhciDxe/XhciDxe.inf MdeModulePkg/Bus/Usb/UsbKbDxe/UsbKbDxe.inf
3. Clean-up OVMF version of the NOR flash DXE driver, which supports QEMU's NOR flash emulationExisting 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 NICThis 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 displayThis 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 tables6. Add the DSDT, FADT, GTDT, SPCR tables for ServerPlatform-Ref platformThis can refer to SBSA’s implementation https://github.com/tianocore/edk2-platforms/commit/4476e34cf93458e0ea84820fb88e82a2997e5075 <https://github.com/tianocore/edk2-platforms/commit/4476e34cf93458e0ea84820fb88e82a2997e5075 >
7. Handle EHCI and XHCI in DSDT, not to try to initialize non-existing hardwareThis can refer to SBSA’s implementation https://www.mail-archive.com/devel@edk2.groups.io/msg64706.html <https://www.mail-archive.com/devel@edk2.groups.io/msg64706.html >
# Add SMBIOS tables8. Add SMBIOS tables by referencing ArmPkg/Universal/Smbios, set PcdSmbiosVersion to the version as required by RISCV server platform specRefer to https://github.com/tianocore/edk2-platforms/commit/c2016d9b6836acc27df939f0cccffe61c1bac492 <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 errorsRefer to https://github.com/tianocore/edk2-platforms/tree/master/Platform/Qemu/SbsaQemu/OemMiscLib <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 driverRefer to https://github.com/intel/FdtBusPkg <https://github.com/intel/FdtBusPkg >
11. Verify and replace the PCI root bridge driver to device tree-based PCI root bridge driverRefer to https://github.com/intel/FdtBusPkg <https://github.com/intel/FdtBusPkg >
# MSIC12. Initiate the design by Intel, keep ReadMe.md <http://readme.md/ > update with partnerRefer to https://github.com/tianocore/edk2-platforms/blob/master/Platform/Qemu/SbsaQemu/Readme.md <https://github.com/tianocore/edk2-platforms/blob/master/Platform/Qemu/SbsaQemu/Readme.md >
BR,
Evan
------------------------------------------------------------------
发件人:EvanChai <evan.chai@linux.alibaba.com>
发送时间:2024年7月12日(星期五) 16:30
收件人:Sunil V L<sunilvl@ventanamicro.com>
抄 送:devel<devel@edk2.groups.io>; "evan.chai"<evan.chai@linux.alibaba.com>; Andrei Warkentin<andrei.warkentin@intel.com>; "yong.li"<yong.li@intel.com>
主 题:回复:[edk2-devel] [PATCH V3 0/2] Initial commit for RISC-V Qemu-based Server
Hi Sunil,
 I updated the patch by your solid commetns:
1. I didn't do any change except for renaming in this version, so the code part is no need to be splitted to pieces;
2. I simplified the Readme file, the rest of part were all linked to the RISE wik. <https://wiki.riseproject.dev/display/HOME/EDK2_00_18+-+RISC-V+QEMU+Server+Reference+Platform > Then we can keep improving it on that page. 
Source: https://github.com/ChaiEvan/edk2-platforms/commits/RV_ServerPlatformRef_v2.5 <https://github.com/ChaiEvan/edk2-platforms/commits/RV_ServerPlatformRef_v2.5 >
BR,
Evan
------------------------------------------------------------------
发件人:Evan Chai <evanchai91@gmail.com>
发送时间:2024年7月12日(星期五) 16:20
收件人:devel<devel@edk2.groups.io>
抄 送:Evan Chai<evan.chai@linux.alibaba.com>
主 题:[edk2-devel] [PATCH V3 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: added README file
 Platform/Qemu/RiscVQemuServerPlatform/Readme.md | 165 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 Platform/Qemu/RiscVQemuServerPlatform/RiscVQemuServerPlatform.dsc | 496 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 Platform/Qemu/RiscVQemuServerPlatform/RiscVQemuServerPlatform.dsc.inc | 341 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 Platform/Qemu/RiscVQemuServerPlatform/RiscVQemuServerPlatform.fdf | 317 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 Platform/Qemu/RiscVQemuServerPlatform/RiscVQemuServerPlatform.fdf.inc | 41 +++++++++++++++++++++++++++++++++++++++++
 Platform/Qemu/RiscVQemuServerPlatform/VarStore.fdf.inc | 72 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 6 files changed, 1432 insertions(+)
 create mode 100644 Platform/Qemu/RiscVQemuServerPlatform/Readme.md
 create mode 100644 Platform/Qemu/RiscVQemuServerPlatform/RiscVQemuServerPlatform.dsc
 create mode 100644 Platform/Qemu/RiscVQemuServerPlatform/RiscVQemuServerPlatform.dsc.inc
 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 (#120038): https://edk2.groups.io/g/devel/message/120038
Mute This Topic: https://groups.io/mt/107541291/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: 23920 bytes --]

  reply	other threads:[~2024-07-25 12:08 UTC|newest]

Thread overview: 11+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-07-12  8:20 [edk2-devel] [PATCH V3 0/2] Initial commit for RISC-V Qemu-based Server Evan Chai
2024-07-12  8:20 ` [edk2-devel] [PATCH V3 1/2] RiscVQemuServerPlatform: Initial commit for RISC-V Qemu-based Server platform Evan Chai
2024-07-12  8:20 ` [edk2-devel] [PATCH V3 2/2] RiscVQemuServerPlatform: added README file Evan Chai
2024-07-12  8:30 ` 回复:[edk2-devel] [PATCH V3 0/2] Initial commit for RISC-V Qemu-based Server EvanChai
2024-07-19  4:29   ` EvanChai
2024-07-25  8:28     ` [edk2-devel] " Fu Siyuan
2024-07-25 12:08       ` EvanChai [this message]
2024-07-26  1:27         ` Fu Siyuan
2024-07-29  2:18   ` 回复:[edk2-devel] " Andrei Warkentin
2024-07-29  3:10     ` 回复:回复:[edk2-devel] " EvanChai
2024-07-29  6:30       ` Sunil V L

Reply instructions:

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

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

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

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

  git send-email \
    --in-reply-to=72b9f1aa-b06d-4fc9-9ae7-16489cb2ecd8.evan.chai@linux.alibaba.com \
    --to=devel@edk2.groups.io \
    /path/to/YOUR_REPLY

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

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