Hi Evan On 25 Jul 2024, at 20:08, EvanChai wrote:
> 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. I didn’t find how the automatic build is performed in 4.1. Will the operations in 4.1.1/4.1.2 point $FW_DIR to this RiscVQemuServerPlatform and generate the required RISCV_SP_CODE/VARS.fd file? Best Regards, Siyuan > 5. Will remove it in the next patch > 6. Will remove it. > BR, > Evan > ------------------------------------------------------------------ > 发件人:Fu Siyuan <siyuan...@linux.alibaba.com> > 发送时间:2024年7月25日(星期四) 16:28 > 收件人:devel<devel@edk2.groups.io>; EvanChai<evan.c...@linux.alibaba.com> > 抄 送:Andrei Warkentin<andrei.warken...@intel.com>; > "yong.li"<yong...@intel.com>; Sunil V L<suni...@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.c...@linux.alibaba.com> > 发送时间:2024年7月12日(星期五) 16:30 > 收件人:Sunil V L<suni...@ventanamicro.com> > 抄 送:devel<devel@edk2.groups.io>; "evan.chai"<evan.c...@linux.alibaba.com>; > Andrei Warkentin<andrei.warken...@intel.com>; "yong.li"<yong...@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 <evancha...@gmail.com> > 发送时间:2024年7月12日(星期五) 16:20 > 收件人:devel<devel@edk2.groups.io> > 抄 送:Evan Chai<evan.c...@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 (#120044): https://edk2.groups.io/g/devel/message/120044 Mute This Topic: https://groups.io/mt/107554783/21656 Group Owner: devel+ow...@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-