Right. QemuFwCfgLibMmio - per my understanding.
> -----Original Message----- > From: devel@edk2.groups.io <devel@edk2.groups.io> On Behalf Of Abner > Chang > Sent: Wednesday, September 29, 2021 8:47 PM > To: devel@edk2.groups.io; Yao, Jiewen <jiewen....@intel.com>; > sami.muja...@arm.com > Cc: Ard Biesheuvel <ardb+tianoc...@kernel.org>; Leif Lindholm > <l...@nuviainc.com>; Justen, Jordan L <jordan.l.jus...@intel.com>; Gerd > Hoffmann <kra...@redhat.com>; Schaefer, Daniel <daniel.schae...@hpe.com>; > Sunil V L <suni...@ventanamicro.com>; nd <n...@arm.com> > Subject: Re: [edk2-devel] [PATCH V2 6/9] ArmVirtPkg/QemuFwCfgLib: Relocate > QemuFwCfgLib to OvmfPkg > > Hi Jiewen, > It should be QemuFwCfgLibMmio instead of QemuFwCfgLibMMIO, right? > > Abner > > > -----Original Message----- > > From: devel@edk2.groups.io [mailto:devel@edk2.groups.io] On Behalf Of > > Yao, Jiewen > > Sent: Wednesday, September 29, 2021 8:26 PM > > To: devel@edk2.groups.io; sami.muja...@arm.com > > Cc: Chang, Abner (HPS SW/FW Technologist) <abner.ch...@hpe.com>; Ard > > Biesheuvel <ardb+tianoc...@kernel.org>; Leif Lindholm > > <l...@nuviainc.com>; Justen, Jordan L <jordan.l.jus...@intel.com>; Gerd > > Hoffmann <kra...@redhat.com>; Schaefer, Daniel > > <daniel.schae...@hpe.com>; Sunil V L <suni...@ventanamicro.com>; nd > > <n...@arm.com> > > Subject: Re: [edk2-devel] [PATCH V2 6/9] ArmVirtPkg/QemuFwCfgLib: > > Relocate QemuFwCfgLib to OvmfPkg > > > > Thank you Sami. > > > > We have a clear naming rule for EDKII project during development. > > But I don’t know where it is documented. Maybe a good addition to the doc > > you point out. > > > > To summarize what I know: > > > > 1) Library name: [<Phase>]<ClassName>Lib[<InstanceName>] > > 2) Driver Name: <DriverName><Phase> > > > > For the example you point out, I see no problem, because "XenIoMmioLib" is > > the class name. So XXXMmioLib is correct. > > > > In this case, the class name is "QemuFwCfgLib", "MMIO" is the instance > > name. We should use QemuFwCfgLibMmio. > > > > Thank you > > Yao Jiewen > > > > > > > > > -----Original Message----- > > > From: devel@edk2.groups.io <devel@edk2.groups.io> On Behalf Of Sami > > > Mujawar > > > Sent: Wednesday, September 29, 2021 7:33 PM > > > To: Yao, Jiewen <jiewen....@intel.com> > > > Cc: Chang, Abner <abner.ch...@hpe.com>; devel@edk2.groups.io; Ard > > > Biesheuvel <ardb+tianoc...@kernel.org>; Leif Lindholm > > <l...@nuviainc.com>; > > > Justen, Jordan L <jordan.l.jus...@intel.com>; Gerd Hoffmann > > > <kra...@redhat.com>; Schaefer, Daniel <daniel.schae...@hpe.com>; Sunil > > V L > > > <suni...@ventanamicro.com>; nd <n...@arm.com> > > > Subject: Re: [edk2-devel] [PATCH V2 6/9] ArmVirtPkg/QemuFwCfgLib: > > Relocate > > > QemuFwCfgLib to OvmfPkg > > > > > > Hi Jiewen, > > > > > > Thank you for clarifying the library naming convention. > > > I could not find any references/examples as such in > > INVALID URI REMOVED > > __;!!NpxR!zMRKC5N87Eb6j69O6lJZ1hVaDVHrnj_21pwNznZx6ZAtLm0Z948atj > > NrWepfxQ0$ > > > docs.gitbook.io/edk-ii-c-coding-standards- > > > specification/v/release%2F2.20/4_naming_conventions/42_file_names > > and > > > therefore had suggested following the file naming as done for Xen. > > > > > > Regards, > > > > > > Sami Mujawar > > > > > > On 29/09/2021, 11:04, "Yao, Jiewen" <jiewen....@intel.com> wrote: > > > > > > hi > > > I think the original name is correct. > > > > > > The naming convention is : <LibClassName>Lib<InstanceName> > > > > > > thank you! > > > Yao, Jiewen > > > > > > > > > > 在 2021年9月29日,下午5:45,Sami Mujawar > > > <sami.muja...@arm.com> 写道: > > > > > > > > Hi Abner, > > > > > > > > Thank you for this patch. > > > > > > > > I have a minor suggestion marked inline as [SAMI]. > > > > > > > > Regards, > > > > > > > > Sami Mujawar > > > > > > > > > > > >> On 28/09/2021 09:31 AM, Abner Chang wrote: > > > >> Relocate QemuFwCfgLib to OvmfPkg/Library/QemuFwCfgLib and > > rename > > > >> it to QemuFwCfgLibMMIO, this library is leverage by both ARM and > > > >> RISC-V archs. > > > >> > > > >> Signed-off-by: Abner Chang <abner.ch...@hpe.com> > > > >> Cc: Ard Biesheuvel <ardb+tianoc...@kernel.org> > > > >> Cc: Leif Lindholm <l...@nuviainc.com> > > > >> Cc: Sami Mujawar <sami.muja...@arm.com> > > > >> Cc: Jiewen Yao <jiewen....@intel.com> > > > >> Cc: Jordan Justen <jordan.l.jus...@intel.com> > > > >> Cc: Gerd Hoffmann <kra...@redhat.com> > > > >> Cc: Daniel Schaefer <daniel.schae...@hpe.com> > > > >> Cc: Sunil V L <suni...@ventanamicro.com> > > > >> --- > > > >> ArmVirtPkg/ArmVirtQemu.dsc | 2 +- > > > >> ArmVirtPkg/ArmVirtQemuKernel.dsc | 2 +- > > > >> .../Library/QemuFwCfgLib/QemuFwCfgLibMMIO.inf | 5 > > > ++--- > > > >> .../Library/QemuFwCfgLib/QemuFwCfgLibMMIO.c | 7 > > > ++++--- > > > >> 4 files changed, 8 insertions(+), 8 deletions(-) > > > >> rename ArmVirtPkg/Library/QemuFwCfgLib/QemuFwCfgLib.inf => > > > OvmfPkg/Library/QemuFwCfgLib/QemuFwCfgLibMMIO.inf (87%) > > > >> rename ArmVirtPkg/Library/QemuFwCfgLib/QemuFwCfgLib.c => > > > OvmfPkg/Library/QemuFwCfgLib/QemuFwCfgLibMMIO.c (93%) > > > > [SAMI] Is it possible to rename QemuFwCfgLibMMIO.[c|inf] to > > > QemuFwCfgMmioLib.[c|inf], please? This would then follow a pattern > > similar to > > > OvmfPkg\Library\XenIoMmioLib\XenIoMmioLib.[c|inf]. > > > >> > > > >> diff --git a/ArmVirtPkg/ArmVirtQemu.dsc > > b/ArmVirtPkg/ArmVirtQemu.dsc > > > >> index 07f9699c79..6c949fd559 100644 > > > >> --- a/ArmVirtPkg/ArmVirtQemu.dsc > > > >> +++ b/ArmVirtPkg/ArmVirtQemu.dsc > > > >> @@ -59,7 +59,7 @@ > > > >> # Virtio Support > > > >> VirtioLib|OvmfPkg/Library/VirtioLib/VirtioLib.inf > > > >> > > > > > VirtioMmioDeviceLib|OvmfPkg/Library/VirtioMmioDeviceLib/VirtioMmioDev > > ice > > > Lib.inf > > > >> - > > QemuFwCfgLib|ArmVirtPkg/Library/QemuFwCfgLib/QemuFwCfgLib.inf > > > >> + > > > > > QemuFwCfgLib|OvmfPkg/Library/QemuFwCfgLib/QemuFwCfgLibMMIO.inf > > > >> > > > > > QemuFwCfgS3Lib|OvmfPkg/Library/QemuFwCfgS3Lib/BaseQemuFwCfgS3Li > > bNu > > > ll.inf > > > >> > > > > > QemuFwCfgSimpleParserLib|OvmfPkg/Library/QemuFwCfgSimpleParserLib/ > > Qe > > > muFwCfgSimpleParserLib.inf > > > >> > > > > > QemuLoadImageLib|OvmfPkg/Library/GenericQemuLoadImageLib/Generic > > Qem > > > uLoadImageLib.inf > > > >> diff --git a/ArmVirtPkg/ArmVirtQemuKernel.dsc > > > b/ArmVirtPkg/ArmVirtQemuKernel.dsc > > > >> index cf7a2b4463..64035a948d 100644 > > > >> --- a/ArmVirtPkg/ArmVirtQemuKernel.dsc > > > >> +++ b/ArmVirtPkg/ArmVirtQemuKernel.dsc > > > >> @@ -57,7 +57,7 @@ > > > >> # Virtio Support > > > >> VirtioLib|OvmfPkg/Library/VirtioLib/VirtioLib.inf > > > >> > > > > > VirtioMmioDeviceLib|OvmfPkg/Library/VirtioMmioDeviceLib/VirtioMmioDev > > ice > > > Lib.inf > > > >> - > > QemuFwCfgLib|ArmVirtPkg/Library/QemuFwCfgLib/QemuFwCfgLib.inf > > > >> + > > > > > QemuFwCfgLib|OvmfPkg/Library/QemuFwCfgLib/QemuFwCfgLibMMIO.inf > > > >> > > > > > QemuFwCfgS3Lib|OvmfPkg/Library/QemuFwCfgS3Lib/BaseQemuFwCfgS3Li > > bNu > > > ll.inf > > > >> > > > > > QemuFwCfgSimpleParserLib|OvmfPkg/Library/QemuFwCfgSimpleParserLib/ > > Qe > > > muFwCfgSimpleParserLib.inf > > > >> > > > > > QemuLoadImageLib|OvmfPkg/Library/GenericQemuLoadImageLib/Generic > > Qem > > > uLoadImageLib.inf > > > >> diff --git a/ArmVirtPkg/Library/QemuFwCfgLib/QemuFwCfgLib.inf > > > b/OvmfPkg/Library/QemuFwCfgLib/QemuFwCfgLibMMIO.inf > > > >> similarity index 87% > > > >> rename from ArmVirtPkg/Library/QemuFwCfgLib/QemuFwCfgLib.inf > > > >> rename to OvmfPkg/Library/QemuFwCfgLib/QemuFwCfgLibMMIO.inf > > > >> index f3cc827907..8101fac03f 100644 > > > >> --- a/ArmVirtPkg/Library/QemuFwCfgLib/QemuFwCfgLib.inf > > > >> +++ b/OvmfPkg/Library/QemuFwCfgLib/QemuFwCfgLibMMIO.inf > > > >> @@ -23,17 +23,16 @@ > > > >> # The following information is for reference only and not > > > required by > > the > > > build > > > >> # tools. > > > >> # > > > >> -# VALID_ARCHITECTURES = ARM AARCH64 > > > >> +# VALID_ARCHITECTURES = ARM AARCH64 RISCV64 > > > >> # > > > >> [Sources] > > > >> - QemuFwCfgLib.c > > > >> + QemuFwCfgLibMMIO.c > > > >> [Packages] > > > >> MdePkg/MdePkg.dec > > > >> OvmfPkg/OvmfPkg.dec > > > >> EmbeddedPkg/EmbeddedPkg.dec > > > >> - ArmVirtPkg/ArmVirtPkg.dec > > > >> [LibraryClasses] > > > >> BaseLib > > > >> diff --git a/ArmVirtPkg/Library/QemuFwCfgLib/QemuFwCfgLib.c > > > b/OvmfPkg/Library/QemuFwCfgLib/QemuFwCfgLibMMIO.c > > > >> similarity index 93% > > > >> rename from ArmVirtPkg/Library/QemuFwCfgLib/QemuFwCfgLib.c > > > >> rename to OvmfPkg/Library/QemuFwCfgLib/QemuFwCfgLibMMIO.c > > > >> index e2ac4108d1..b953f2eb6c 100644 > > > >> --- a/ArmVirtPkg/Library/QemuFwCfgLib/QemuFwCfgLib.c > > > >> +++ b/OvmfPkg/Library/QemuFwCfgLib/QemuFwCfgLibMMIO.c > > > >> @@ -4,6 +4,7 @@ > > > >> Copyright (C) 2013 - 2014, Red Hat, Inc. > > > >> Copyright (c) 2011 - 2013, Intel Corporation. All rights > > > reserved.<BR> > > > >> + (C) Copyright 2021 Hewlett Packard Enterprise Development > > LP<BR> > > > >> SPDX-License-Identifier: BSD-2-Clause-Patent > > > >> **/ > > > >> @@ -239,7 +240,7 @@ MmioReadBytes ( > > > >> UINT8 *Ptr; > > > >> UINT8 *End; > > > >> -#ifdef MDE_CPU_AARCH64 > > > >> +#if defined(MDE_CPU_AARCH64) || defined(MDE_CPU_RISCV64) > > > >> Left = Size & 7; > > > >> #else > > > >> Left = Size & 3; > > > >> @@ -249,7 +250,7 @@ MmioReadBytes ( > > > >> Ptr = Buffer; > > > >> End = Ptr + Size; > > > >> -#ifdef MDE_CPU_AARCH64 > > > >> +#if defined(MDE_CPU_AARCH64) || defined(MDE_CPU_RISCV64) > > > >> while (Ptr < End) { > > > >> *(UINT64 *)Ptr = MmioRead64 (mFwCfgDataAddress); > > > >> Ptr += 8; > > > >> @@ -322,7 +323,7 @@ DmaTransferBytes ( > > > >> // > > > >> // This will fire off the transfer. > > > >> // > > > >> -#ifdef MDE_CPU_AARCH64 > > > >> +#if defined(MDE_CPU_AARCH64) || defined(MDE_CPU_RISCV64) > > > >> MmioWrite64 (mFwCfgDmaAddress, SwapBytes64 > > ((UINT64)&Access)); > > > >> #else > > > >> MmioWrite32 ((UINT32)(mFwCfgDmaAddress + 4), SwapBytes32 > > > ((UINT32)&Access)); > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > -=-=-=-=-=-=-=-=-=-=-=- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#81283): https://edk2.groups.io/g/devel/message/81283 Mute This Topic: https://groups.io/mt/85920584/21656 Group Owner: devel+ow...@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-