From: "Chao Li" <lichao@loongson.cn>
To: devel@edk2.groups.io, lersek@redhat.com,
Gerd Hoffmann <kraxel@redhat.com>
Cc: Ard Biesheuvel <ardb+tianocore@kernel.org>,
Jiewen Yao <jiewen.yao@intel.com>,
Jordan Justen <jordan.l.justen@intel.com>,
Xianglai Li <lixianglai@loongson.cn>,
Bibo Mao <maobibo@loongson.cn>
Subject: Re: [edk2-devel] [PATCH v2 24/30] OvmfPkg/LoongArchVirt: Add platform boot manager library
Date: Thu, 16 Nov 2023 15:09:52 +0800 [thread overview]
Message-ID: <ec7accd9-95a3-4180-88cc-6e8901904e96@loongson.cn> (raw)
In-Reply-To: <4c3ac39a-3ae6-91a5-10c4-c5abcadd879d@redhat.com>
[-- Attachment #1: Type: text/plain, Size: 3495 bytes --]
Hi Laszlo,
OK, I will do plan B. Moved ARM version to OvmfPkg/Library/ and rename
it to PlatformBootManagerLibLight.
Thanks,
Chao
On 2023/11/15 20:52, Laszlo Ersek wrote:
> Hi Chao,
>
> On 11/15/23 04:21, Chao Li wrote:
>> Well, let's discuss the ARM version name once moved.
>>
>> I have two plans:
>>
>> *Plan A:*
>>
>> Merge the ARM version into PlatformBootmanagerLib and modify the inf
>> file to separate X64 and other ARCH, like be:
>>
>> [Sources.Common]
>>
>> QemuKernel.c
>>
>> BdsPlatform.h
>>
>> [Sources.X64, Sources.IA32]
>>
>> BdsPlatform.c
>>
>> PaltformData.c
>>
>> [Sources.ARM, Sources.AARCH64, Sources.RISCV64, Source.LOONGARCH64]
>>
>> PlatformBm.c
>>
>> [LibraryClasses.Common]
>>
>> BaseLib
>>
>> BaseMemoryLib
>>
>> BootLogoLib
>>
>> DebugLib
>>
>> DevicePathLib
>>
>> MemoryAllocationLib
>>
>> PcdLib
>>
>> ...
>>
>> [LibraryClasses.X64, LibraryClasses.IA32]
>>
>> QemuFwCfgLib
>>
>> QemuFwCfgS3Lib
>>
>> ...
>>
>> [LibraryClasses.ARM, LibraryClasses.AARCH64, LibraryClasses.RISCV,
>> LibraryClasses.LOONGARCH64]
>>
>> TpmPlatformHierarchyLib
>>
>> ...
>>
>>
>> The above pseudocode are unverified and will definitely be subject to
>> modification.
>>
>>
>> *Plan B:*
>>
>> Moved the ARM version into OvmfPkg and got a new name. In my opinion,
>> the X86 version takes into account the STR, Tcg2 and Xen platform, so it
>> look like more complete(only for X86, just my opinion). In this case, I
>> think what about the X86 version still being named
>> PlatformBootManagerLib and the ARM version being named
>> PlatformBootManagerLibLight?
>>
>>
>> Both of the above plans can achieve the goal. I prefer Plan A. I want to
>> know your opinions, so hope hear back from you!
> I prefer Plan B.
>
> ArmVirtPkg's PlatformBootManagerLib instance does not carry the cruft
> that had accumulated in OVMF's instance (before we created ArmVirtPkg's
> instance), and that has continued growing in OVMF's instance since we
> created ArmVirtPkg's instance. I'm sure there are some bits that are
> duplicated between both platforms, but in this case, the benefits of the
> separation strongly outweigh any disadvantages of code duplication, for
> me anyway.
>
> Whenever I want to refer to a pristine PlatformBootManagerLib instance,
> I use ArmVirtPkg's. I like *not* being tripped up by the quirks and
> customizations of OvmfPkg's lib instance, whenever I look at the source
> code. Even if we could find technical solutions for disabling those
> customizations for ArmVirt at build time or at runtime, they'd still be
> unwelcome distractions, when reading the source code, or browsing the
> edk2 directory tree.
>
> There is no generic rule for deciding between "customization in place"
> vs. "duplicating for customization". Both have benefits and costs.
> AFAICT, we usually pick one versus the other based on "audience
> homogeneity" -- the code structure is supposed to follow the community
> structure.
>
> In this case, I prefer Plan B.
>
> Thanks,
> Laszlo
>
>
>
>
>
-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#111302): https://edk2.groups.io/g/devel/message/111302
Mute This Topic: https://groups.io/mt/102413902/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: 4469 bytes --]
next prev parent reply other threads:[~2023-11-16 7:10 UTC|newest]
Thread overview: 71+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-11-06 3:25 [edk2-devel] [PATCH v2 00/30] Enable LoongArch virtual machine in edk2 Chao Li
2023-11-06 3:26 ` [edk2-devel] [PATCH v2 01/30] MdePkg: Add the header file named Csr.h for LoongArch64 Chao Li
2023-11-07 3:30 ` Michael D Kinney
2023-11-06 3:26 ` [edk2-devel] [PATCH v2 02/30] MdePkg: Add LoongArch64 FPU function set into BaseCpuLib Chao Li
2023-11-07 3:31 ` Michael D Kinney
2023-11-06 3:26 ` [edk2-devel] [PATCH v2 03/30] MdePkg: Add LoongArch64 exception function set into BaseLib Chao Li
2023-11-07 3:31 ` Michael D Kinney
2023-11-06 3:26 ` [edk2-devel] [PATCH v2 04/30] MdePkg: Add LoongArch64 local interrupt " Chao Li
2023-11-07 3:31 ` Michael D Kinney
2023-11-06 3:27 ` [edk2-devel] [PATCH v2 05/30] MdePkg: Add LoongArch Cpucfg function Chao Li
2023-11-07 3:31 ` Michael D Kinney
2023-11-06 3:27 ` [edk2-devel] [PATCH v2 06/30] MdePkg: Add read stable counter operation for LoongArch Chao Li
2023-11-07 3:31 ` Michael D Kinney
2023-11-06 3:27 ` [edk2-devel] [PATCH v2 07/30] MdePkg: Add CSR " Chao Li
2023-11-07 3:31 ` Michael D Kinney
2023-11-06 3:27 ` [edk2-devel] [PATCH v2 08/30] MdePkg: Add IOCSR " Chao Li
2023-11-07 3:32 ` Michael D Kinney
2023-11-06 3:28 ` [edk2-devel] [PATCH v2 09/30] UefiCpuPkg: Add LoongArch64 CPU Timer library Chao Li
2023-11-06 3:28 ` [edk2-devel] [PATCH v2 10/30] UefiCpuPkg: Add CPU exception library for LoongArch Chao Li
2023-11-06 3:28 ` [edk2-devel] [PATCH v2 11/30] UefiCpuPkg: Add CpuMmuLib.h to UefiCpuPkg Chao Li
2023-11-09 1:17 ` Andrei Warkentin
2023-11-14 2:00 ` Chao Li
2023-11-06 3:28 ` [edk2-devel] [PATCH v2 12/30] UefiCpuPkg: Add LoongArch64CpuMmuLib " Chao Li
2023-11-06 3:28 ` [edk2-devel] [PATCH v2 13/30] UefiCpuPkg: Add multiprocessor library for LoongArch64 Chao Li
2023-11-06 3:28 ` [edk2-devel] [PATCH v2 14/30] UefiCpuPkg: Add CpuDxe driver " Chao Li
2023-11-06 3:29 ` [edk2-devel] [PATCH v2 15/30] EmbeddedPkg: Add PcdPrePiCpuIoSize width for LOONGARCH64 Chao Li
2023-11-15 18:55 ` Leif Lindholm
2023-11-16 8:15 ` Pedro Falcato
2023-11-16 9:17 ` Chao Li
2023-11-16 11:21 ` Leif Lindholm
2023-11-06 3:29 ` [edk2-devel] [PATCH v2 16/30] ArmVirtPkg: Move PCD of FDT base address and FDT padding to OvmfPkg Chao Li
2023-11-07 9:37 ` Gerd Hoffmann
2023-11-13 11:46 ` Sami Mujawar
2023-11-14 1:41 ` Chao Li
2023-11-06 3:29 ` [edk2-devel] [PATCH v2 17/30] OvmfPkg/LoongArchVirt: Add PciCpuIo2Dxe module Chao Li
2023-11-07 9:42 ` Gerd Hoffmann
2023-11-07 10:03 ` Chao Li
2023-11-08 23:11 ` Sunil V L
2023-11-10 3:31 ` Chao Li
2023-11-06 3:29 ` [edk2-devel] [PATCH v2 18/30] OvmfPkg/LoongArchVirt: Add stable timer driver Chao Li
2023-11-06 3:29 ` [edk2-devel] [PATCH v2 19/30] OvmfPkg/LoongArchVirt: Add a NULL library named CollectApResouceLibNull Chao Li
2023-11-06 3:29 ` [edk2-devel] [PATCH v2 20/30] OvmfPkg/LoongArchVirt: Add serial port library Chao Li
2023-11-07 9:47 ` Gerd Hoffmann
2023-11-07 10:12 ` Chao Li
2023-11-08 22:21 ` Laszlo Ersek
2023-11-10 4:51 ` Chao Li
2023-11-13 10:45 ` Laszlo Ersek
2023-11-06 3:29 ` [edk2-devel] [PATCH v2 21/30] OvmfPkg/LoongArchVirt: Add real time clock library Chao Li
2023-11-06 3:30 ` [edk2-devel] [PATCH v2 22/30] OvmfPkg/LoongArchVirt: Add NorFlashQemuLib Chao Li
2023-11-06 3:30 ` [edk2-devel] [PATCH v2 23/30] OvmfPkg/LoongArchVirt: Add PeiServiceTablePointerLib Chao Li
2023-11-08 22:22 ` Laszlo Ersek
2023-11-10 6:44 ` Chao Li
2023-11-13 11:02 ` Laszlo Ersek
2023-11-14 2:08 ` Chao Li
2023-11-06 3:30 ` [edk2-devel] [PATCH v2 24/30] OvmfPkg/LoongArchVirt: Add platform boot manager library Chao Li
2023-11-08 22:24 ` Laszlo Ersek
2023-11-10 7:09 ` Chao Li
2023-11-10 9:46 ` Gerd Hoffmann
2023-11-13 11:08 ` Laszlo Ersek
2023-11-15 3:21 ` Chao Li
2023-11-15 12:52 ` Laszlo Ersek
2023-11-16 7:09 ` Chao Li [this message]
2023-11-06 3:30 ` [edk2-devel] [PATCH v2 25/30] OvmfPkg/LoongArchVirt: Add FdtQemuFwCfgLib Chao Li
2023-11-06 3:30 ` [edk2-devel] [PATCH v2 26/30] OvmfPkg/LoongArchVirt: Add reset system library Chao Li
2023-11-06 3:30 ` [edk2-devel] [PATCH v2 27/30] OvmfPkg/LoongArchVirt: Support SEC phase Chao Li
2023-11-06 3:30 ` [edk2-devel] [PATCH v2 28/30] OvmfPkg/LoongArchVirt: Support PEI phase Chao Li
2023-11-06 3:31 ` [edk2-devel] [PATCH v2 29/30] OvmfPkg/LoongArchVirt: Add build file Chao Li
2023-11-06 3:31 ` [edk2-devel] [PATCH v2 30/30] OvmfPkg/LoongArchVirt: Add self introduction file Chao Li
[not found] ` <1794EAF40590BB23.26468@groups.io>
2023-11-07 6:41 ` [edk2-devel] [PATCH v2 09/30] UefiCpuPkg: Add LoongArch64 CPU Timer library Chao Li
[not found] ` <1794EB01154A1CFD.12603@groups.io>
2023-11-07 8:40 ` [edk2-devel] [PATCH v2 15/30] EmbeddedPkg: Add PcdPrePiCpuIoSize width for LOONGARCH64 Chao Li
[not found] ` <1794EB0445E96DCB.26468@groups.io>
2023-11-07 8:41 ` [edk2-devel] [PATCH v2 16/30] ArmVirtPkg: Move PCD of FDT base address and FDT padding to OvmfPkg Chao Li
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=ec7accd9-95a3-4180-88cc-6e8901904e96@loongson.cn \
--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