From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail05.groups.io (mail05.groups.io [45.79.224.7]) by spool.mail.gandi.net (Postfix) with ESMTPS id 65AE9740035 for ; Fri, 26 Jul 2024 01:27:46 +0000 (UTC) DKIM-Signature: a=rsa-sha256; bh=y7MCTfxBx1n+WREy3J0hGL7xdAX2Syquu5XiT6ALg5w=; c=relaxed/simple; d=groups.io; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References:MIME-Version:Precedence:List-Subscribe:List-Help:Sender:List-Id:Mailing-List:Delivered-To:Resent-Date:Resent-From:Reply-To:List-Unsubscribe-Post:List-Unsubscribe:Content-Type:Content-Transfer-Encoding; s=20240206; t=1721957266; v=1; b=QeZFw/d4agc57oJg2Jd5m1SR74vJamxGwbIkl9IZXWvTLoaihwW27ymu7eel8NELbMGqZbrj m75wZo8mqMB3qTjVmnN9hon5aWjRVaeLJv7ctbMqQiGvW7BOdMxZwyNTeIMv3gVIFDb4GwRDdi5 MXk7nCaYFopBotjNWP377+5GO0/e2Gg11opSkk6UD/yrDTru+0Hbq/4eaKrVUalEe58T4twYPWF gqBW0QsXvMi0R5eKs1PQvIwkj1htIGuL6SqBx+DqEjNrVc1OY93wBIWWGrAtMSEiH5PuNmkWk8G 5hHOawAGF/60zM9Wg7o6e4xjS89IGaUUQAAPRqQTTpWpw== X-Received: by 127.0.0.2 with SMTP id gzqpYY7687511xMIBrn2eeDa; Thu, 25 Jul 2024 18:27:44 -0700 X-Received: from out30-101.freemail.mail.aliyun.com (out30-101.freemail.mail.aliyun.com [115.124.30.101]) by mx.groups.io with SMTP id smtpd.web11.52205.1721957258466782439 for ; Thu, 25 Jul 2024 18:27:39 -0700 X-Alimail-AntiSpam: AC=PASS;BC=-1|-1;BR=01201311R231e4;CH=green;DM=||false|;DS=||;FP=0|-1|-1|-1|0|-1|-1|-1;HT=maildocker-contentspam033045046011;MF=siyuan.fu@linux.alibaba.com;NM=1;PH=DS;RN=5;SR=0;TI=SMTPD_---0WBJjs4-_1721957255; X-Received: from 30.21.161.197(mailfrom:siyuan.fu@linux.alibaba.com fp:SMTPD_---0WBJjs4-_1721957255) by smtp.aliyun-inc.com; Fri, 26 Jul 2024 09:27:35 +0800 From: "Fu Siyuan" To: devel , EvanChai Cc: Andrei Warkentin , "yong.li" , Sunil V L Subject: Re: [edk2-devel] [PATCH V3 0/2] Initial commit for RISC-V Qemu-based Server Date: Fri, 26 Jul 2024 09:27:34 +0800 Message-ID: <33D864EE-136B-4F2F-A44F-C26EEC57C6AA@linux.alibaba.com> In-Reply-To: <72b9f1aa-b06d-4fc9-9ae7-16489cb2ecd8.evan.chai@linux.alibaba.com> References: <20240712082007.2942-1-evan.chai@linux.alibaba.com> <5085b29b-1f17-43d8-b3db-8447601d35e3.evan.chai@linux.alibaba.com> <05fbc958-1a34-4e82-9c11-2610d560f25e.evan.chai@linux.alibaba.com> <2459D051-B779-4252-A4DB-9126A1D8A592@linux.alibaba.com> <72b9f1aa-b06d-4fc9-9ae7-16489cb2ecd8.evan.chai@linux.alibaba.com> MIME-Version: 1.0 Precedence: Bulk List-Subscribe: List-Help: Sender: devel@edk2.groups.io List-Id: Mailing-List: list devel@edk2.groups.io; contact devel+owner@edk2.groups.io Resent-Date: Thu, 25 Jul 2024 18:27:39 -0700 Resent-From: siyuan.fu@linux.alibaba.com Reply-To: devel@edk2.groups.io,siyuan.fu@linux.alibaba.com List-Unsubscribe-Post: List-Unsubscribe=One-Click List-Unsubscribe: X-Gm-Message-State: qAfWE7VPr26ckdDjhYSArYTLx7686176AA= Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable X-GND-Status: LEGIT Authentication-Results: spool.mail.gandi.net; dkim=pass header.d=groups.io header.s=20240206 header.b="QeZFw/d4"; dmarc=fail reason="SPF not aligned (relaxed), DKIM not aligned (relaxed)" header.from=linux.alibaba.com (policy=none); spf=pass (spool.mail.gandi.net: domain of bounce@groups.io designates 45.79.224.7 as permitted sender) smtp.mailfrom=bounce@groups.io 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 writi= ng a manual for a development board starts with an introduction to its hard= ware architecture, our server platform relies on a virtual hardware topolog= y, 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 i= s ready. > 4. My intention is actually: in 4.1, try to describe the automation of d= ownloading, 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 sui= table as a separate chapter. I didn=E2=80=99t 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 an= d 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 > ------------------------------------------------------------------ > =E5=8F=91=E4=BB=B6=E4=BA=BA=EF=BC=9AFu Siyuan > =E5=8F=91=E9=80=81=E6=97=B6=E9=97=B4=EF=BC=9A2024=E5=B9=B47=E6=9C=8825=E6= =97=A5(=E6=98=9F=E6=9C=9F=E5=9B=9B) 16:28 > =E6=94=B6=E4=BB=B6=E4=BA=BA=EF=BC=9Adevel; EvanChai= > =E6=8A=84=E3=80=80=E9=80=81=EF=BC=9AAndrei Warkentin; "yong.li"; Sunil V L > =E4=B8=BB=E3=80=80=E9=A2=98=EF=BC=9ARe: [edk2-devel] [PATCH V3 0/2] Initi= al 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 > > * > Please remove the Revision History section, since this is a readme file i= nstead 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 =E2=80=9C2.1 Requirements=E2=80=9D and =E2=80=9C2.2 High Level Design= =E2=80=9D are describing the QEMO model requirement/design, not this platfo= rm package. Please replace them by a link to the QEMO model doc. It doesn= =E2=80=99t make sense to maintain these content here. > > * > About figure 1 =E2=80=9CRISC-V Platform EDK2 Firmware Enabling Philosophy= =E2=80=9D in section 3. It makes me confuse about the platform enabling phi= losophy instead of explained it. The dotted line =E2=80=9CQemuVirt Boot Flo= w=E2=80=9D and blue like =E2=80=9CQemuServerPlatform Boot Flow=E2=80=9D beh= aves exactly same with each other - both loaded OpenSbi, both consume VirtD= evices dotted box, and both boot to Shell/Linux - so what=E2=80=99s the mea= ning of creating a new QemuServerPlatform package and what=E2=80=99s the ex= pected 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 BI= OS, or move 4.1 to 5 Verification. A common dev setup process should be lik= e =E2=80=9Cdownload code, build it, then test=E2=80=9D. > > * > 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 plat= form project. Then we can continue to optimize it based on this foundation.= More importantly, other developers now have a codebase for developing serv= er platform features. > If I remember correctly, the following table lists the next phase of feat= ure 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 enabl= e SATA deviceInlcude drivers for AHCI and Sata, eg: OvmfPkg/SataControllerD= xe/SataControllerDxe.inf MdeModulePkg/Bus/Scsi/ScsiBusDxe/ScsiBusDxe.inf Md= eModulePkg/Bus/Scsi/ScsiDiskDxe/ScsiDiskDxe.inf > 2. Add Memory mapped EHCI/XHCI controller to enable USB devicesInclude dr= ivers for XHCI/ECHI for USB devices, eg: MdeModulePkg/Bus/Pci/UhciDxe/UhciD= xe.inf MdeModulePkg/Bus/Pci/EhciDxe/EhciDxe.inf MdeModulePkg/Bus/Pci/XhciDx= e/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 rel= ated cases=E2=80=99 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 lo= w priority and use virtio-net first > 5. Enable non-virto VGA displayThis may depend on QEMU side implementatio= n, and the server platform spec requirement, can take it as low priority an= d 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=E2=80=99s= implementation https://github.com/tianocore/edk2-platforms/commit/4476e34c= f93458e0ea84820fb88e82a2997e5075 > 7. Handle EHCI and XHCI in DSDT, not to try to initialize non-existing ha= rdwareThis can refer to SBSA=E2=80=99s implementation https://www.mail-arch= ive.com/devel@edk2.groups.io/msg64706.html > # Add SMBIOS tables8. Add SMBIOS tables by referencing ArmPkg/Universal/S= mbios, set PcdSmbiosVersion to the version as required by RISCV server plat= form specRefer to https://github.com/tianocore/edk2-platforms/commit/c2016d= 9b6836acc27df939f0cccffe61c1bac492 > 9. Add implementation that provides the system information. The serial nu= mbers, asset tags etc. are currently all fixed strings, to allow fwts to pa= ss without errorsRefer 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 tre= e-based Norflash driverRefer to https://github.com/intel/FdtBusPkg > 11. Verify and replace the PCI root bridge driver to device tree-based PC= I root bridge driverRefer to https://github.com/intel/FdtBusPkg > # MSIC12. Initiate the design by Intel, keep ReadMe.md update with partnerRefer to https://github.com/tianocore/edk2-platforms/= blob/master/Platform/Qemu/SbsaQemu/Readme.md > BR, > Evan > ------------------------------------------------------------------ > =E5=8F=91=E4=BB=B6=E4=BA=BA=EF=BC=9AEvanChai > =E5=8F=91=E9=80=81=E6=97=B6=E9=97=B4=EF=BC=9A2024=E5=B9=B47=E6=9C=8812=E6= =97=A5(=E6=98=9F=E6=9C=9F=E4=BA=94) 16:30 > =E6=94=B6=E4=BB=B6=E4=BA=BA=EF=BC=9ASunil V L > =E6=8A=84=E3=80=80=E9=80=81=EF=BC=9Adevel; "evan.ch= ai"; Andrei Warkentin; "yong.li" > =E4=B8=BB=E3=80=80=E9=A2=98=EF=BC=9A=E5=9B=9E=E5=A4=8D=EF=BC=9A[edk2-deve= l] [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 cod= e 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. Then we can keep improving it on that page. > Source: https://github.com/ChaiEvan/edk2-platforms/commits/RV_ServerPlatf= ormRef_v2.5 > BR, > Evan > ------------------------------------------------------------------ > =E5=8F=91=E4=BB=B6=E4=BA=BA=EF=BC=9AEvan Chai > =E5=8F=91=E9=80=81=E6=97=B6=E9=97=B4=EF=BC=9A2024=E5=B9=B47=E6=9C=8812=E6= =97=A5(=E6=98=9F=E6=9C=9F=E4=BA=94) 16:20 > =E6=94=B6=E4=BB=B6=E4=BA=BA=EF=BC=9Adevel > =E6=8A=84=E3=80=80=E9=80=81=EF=BC=9AEvan Chai > =E4=B8=BB=E3=80=80=E9=A2=98=EF=BC=9A[edk2-devel] [PATCH V3 0/2] Initial c= ommit for RISC-V Qemu-based Server > This is a foundational patch to move the 'RISC-V QEMU Server Reference P= latform' 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/RiscVQemuServer= Platform.dsc > create mode 100644 Platform/Qemu/RiscVQemuServerPlatform/RiscVQemuServer= Platform.dsc.inc > create mode 100644 Platform/Qemu/RiscVQemuServerPlatform/RiscVQemuServer= Platform.fdf > create mode 100644 Platform/Qemu/RiscVQemuServerPlatform/RiscVQemuServer= Platform.fdf.inc > create mode 100644 Platform/Qemu/RiscVQemuServerPlatform/VarStore.fdf.in= c > -- > 2.45.1.windows.1 > > > >=20 -=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D- 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/7686176 Group Owner: devel+owner@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [rebecca@openfw.io] -=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-