public inbox for devel@edk2.groups.io
 help / color / mirror / Atom feed
From: "Laszlo Ersek" <lersek@redhat.com>
To: Chao Li <lichao@loongson.cn>, devel@edk2.groups.io
Cc: Ard Biesheuvel <ardb+tianocore@kernel.org>,
	Leif Lindholm <quic_llindhol@quicinc.com>,
	Sami Mujawar <sami.mujawar@arm.com>,
	Gerd Hoffmann <kraxel@redhat.com>,
	Jiewen Yao <jiewen.yao@intel.com>
Subject: Re: [edk2-devel] [PATCH v7 25/37] ArmVirtPkg: Move PlatformBootManagerLib to OvmfPkg
Date: Mon, 15 Jan 2024 09:46:22 +0100	[thread overview]
Message-ID: <29414777-a154-bd1c-95c8-6c4f4e01bbcb@redhat.com> (raw)
In-Reply-To: <20240112082534.3299238-1-lichao@loongson.cn>

On 1/12/24 09:25, Chao Li wrote:
> Moved the PlatformBootManagerLib to OvmfPkg and renamed to
> PlatformBootManagerLibLight for easy use by other ARCH.
> 
> Build-tested only (with "ArmVirtQemu.dsc").
> 
> BZ: https://bugzilla.tianocore.org/show_bug.cgi?id=4584
> 
> Cc: Ard Biesheuvel <ardb+tianocore@kernel.org>
> Cc: Leif Lindholm <quic_llindhol@quicinc.com>
> Cc: Sami Mujawar <sami.mujawar@arm.com>
> Cc: Gerd Hoffmann <kraxel@redhat.com>
> Cc: Jiewen Yao <jiewen.yao@intel.com>
> Cc: Lazlo Ersek <lersek@redhat.com>
> Signed-off-by: Chao Li <lichao@loongson.cn>
> ---
>  ArmVirtPkg/ArmVirtPkg.ci.yaml                                  | 1 -
>  ArmVirtPkg/ArmVirtPkg.dec                                      | 1 -
>  ArmVirtPkg/ArmVirtQemu.dsc                                     | 2 +-
>  ArmVirtPkg/ArmVirtQemuKernel.dsc                               | 2 +-
>  .../Library/PlatformBootManagerLibLight}/PlatformBm.c          | 0
>  .../Library/PlatformBootManagerLibLight}/PlatformBm.h          | 0
>  .../PlatformBootManagerLibLight}/PlatformBootManagerLib.inf    | 3 +--
>  .../Library/PlatformBootManagerLibLight}/QemuKernel.c          | 0
>  8 files changed, 3 insertions(+), 6 deletions(-)
>  rename {ArmVirtPkg/Library/PlatformBootManagerLib => OvmfPkg/Library/PlatformBootManagerLibLight}/PlatformBm.c (100%)
>  rename {ArmVirtPkg/Library/PlatformBootManagerLib => OvmfPkg/Library/PlatformBootManagerLibLight}/PlatformBm.h (100%)
>  rename {ArmVirtPkg/Library/PlatformBootManagerLib => OvmfPkg/Library/PlatformBootManagerLibLight}/PlatformBootManagerLib.inf (92%)
>  rename {ArmVirtPkg/Library/PlatformBootManagerLib => OvmfPkg/Library/PlatformBootManagerLibLight}/QemuKernel.c (100%)
> 
> diff --git a/ArmVirtPkg/ArmVirtPkg.ci.yaml b/ArmVirtPkg/ArmVirtPkg.ci.yaml
> index 506b0e72f0..b186d4eb42 100644
> --- a/ArmVirtPkg/ArmVirtPkg.ci.yaml
> +++ b/ArmVirtPkg/ArmVirtPkg.ci.yaml
> @@ -24,7 +24,6 @@
>          ],
>          ## Both file path and directory path are accepted.
>          "IgnoreFiles": [
> -            "Library/PlatformBootManagerLib/PlatformBm.c"
>          ]
>      },
>      ## options defined .pytool/Plugin/CompilerPlugin

OK

> diff --git a/ArmVirtPkg/ArmVirtPkg.dec b/ArmVirtPkg/ArmVirtPkg.dec
> index 315db4e8ea..6aa5ea05f4 100644
> --- a/ArmVirtPkg/ArmVirtPkg.dec
> +++ b/ArmVirtPkg/ArmVirtPkg.dec
> @@ -27,7 +27,6 @@
>  
>  [LibraryClasses]
>    ArmVirtMemInfoLib|Include/Library/ArmVirtMemInfoLib.h
> -  FdtSerialPortAddressLib|Include/Library/FdtSerialPortAddressLib.h
>  
>  [Guids.common]
>    gArmVirtTokenSpaceGuid = { 0x0B6F5CA7, 0x4F53, 0x445A, { 0xB7, 0x6E, 0x2E, 0x36, 0x5B, 0x80, 0x63, 0x66 } }

This hunk belongs to patch "ArmVirtPkg: Move the FdtSerialPortAddressLib
to OvmfPkg".

> diff --git a/ArmVirtPkg/ArmVirtQemu.dsc b/ArmVirtPkg/ArmVirtQemu.dsc
> index 147180f645..e48c75b5e9 100644
> --- a/ArmVirtPkg/ArmVirtQemu.dsc
> +++ b/ArmVirtPkg/ArmVirtQemu.dsc
> @@ -70,7 +70,7 @@
>  
>    CapsuleLib|MdeModulePkg/Library/DxeCapsuleLibNull/DxeCapsuleLibNull.inf
>    BootLogoLib|MdeModulePkg/Library/BootLogoLib/BootLogoLib.inf
> -  PlatformBootManagerLib|ArmVirtPkg/Library/PlatformBootManagerLib/PlatformBootManagerLib.inf
> +  PlatformBootManagerLib|OvmfPkg/Library/PlatformBootManagerLibLight/PlatformBootManagerLib.inf
>    PlatformBmPrintScLib|OvmfPkg/Library/PlatformBmPrintScLib/PlatformBmPrintScLib.inf
>    CustomizedDisplayLib|MdeModulePkg/Library/CustomizedDisplayLib/CustomizedDisplayLib.inf
>    FrameBufferBltLib|MdeModulePkg/Library/FrameBufferBltLib/FrameBufferBltLib.inf

OK

> diff --git a/ArmVirtPkg/ArmVirtQemuKernel.dsc b/ArmVirtPkg/ArmVirtQemuKernel.dsc
> index c22a422353..668a65ba64 100644
> --- a/ArmVirtPkg/ArmVirtQemuKernel.dsc
> +++ b/ArmVirtPkg/ArmVirtQemuKernel.dsc
> @@ -69,7 +69,7 @@
>  
>    CapsuleLib|MdeModulePkg/Library/DxeCapsuleLibNull/DxeCapsuleLibNull.inf
>    BootLogoLib|MdeModulePkg/Library/BootLogoLib/BootLogoLib.inf
> -  PlatformBootManagerLib|ArmVirtPkg/Library/PlatformBootManagerLib/PlatformBootManagerLib.inf
> +  PlatformBootManagerLib|OvmfPkg/Library/PlatformBootManagerLibLight/PlatformBootManagerLib.inf
>    PlatformBmPrintScLib|OvmfPkg/Library/PlatformBmPrintScLib/PlatformBmPrintScLib.inf
>    CustomizedDisplayLib|MdeModulePkg/Library/CustomizedDisplayLib/CustomizedDisplayLib.inf
>    FrameBufferBltLib|MdeModulePkg/Library/FrameBufferBltLib/FrameBufferBltLib.inf

OK

> diff --git a/ArmVirtPkg/Library/PlatformBootManagerLib/PlatformBm.c b/OvmfPkg/Library/PlatformBootManagerLibLight/PlatformBm.c
> similarity index 100%
> rename from ArmVirtPkg/Library/PlatformBootManagerLib/PlatformBm.c
> rename to OvmfPkg/Library/PlatformBootManagerLibLight/PlatformBm.c

OK

> diff --git a/ArmVirtPkg/Library/PlatformBootManagerLib/PlatformBm.h b/OvmfPkg/Library/PlatformBootManagerLibLight/PlatformBm.h
> similarity index 100%
> rename from ArmVirtPkg/Library/PlatformBootManagerLib/PlatformBm.h
> rename to OvmfPkg/Library/PlatformBootManagerLibLight/PlatformBm.h

OK

> diff --git a/ArmVirtPkg/Library/PlatformBootManagerLib/PlatformBootManagerLib.inf b/OvmfPkg/Library/PlatformBootManagerLibLight/PlatformBootManagerLib.inf
> similarity index 92%
> rename from ArmVirtPkg/Library/PlatformBootManagerLib/PlatformBootManagerLib.inf
> rename to OvmfPkg/Library/PlatformBootManagerLibLight/PlatformBootManagerLib.inf
> index 5bbd13aecb..f2fb69bd3c 100644
> --- a/ArmVirtPkg/Library/PlatformBootManagerLib/PlatformBootManagerLib.inf
> +++ b/OvmfPkg/Library/PlatformBootManagerLibLight/PlatformBootManagerLib.inf
> @@ -20,7 +20,7 @@
>  #
>  # The following information is for reference only and not required by the build tools.
>  #
> -#  VALID_ARCHITECTURES           = ARM AARCH64
> +#  VALID_ARCHITECTURES           = ARM AARCH64 LOONGARCH64
>  #
>  
>  [Sources]

OK

> @@ -29,7 +29,6 @@
>    QemuKernel.c
>  
>  [Packages]
> -  ArmVirtPkg/ArmVirtPkg.dec
>    MdeModulePkg/MdeModulePkg.dec
>    MdePkg/MdePkg.dec
>    OvmfPkg/OvmfPkg.dec

Hmmm. This makes me wonder.

If we can remove the ArmVirtPkg package dependency from the lib instance
in *this patch*, then we should be able to remove it *earlier* too
(i.e., independently), while the lib instance still exists under ArmVirtPkg.

I don't see why the "ArmVirtPkg.dec" dep becomes superfluous *right here*.

If I look at this INF file, as of commit 4a443f73fd67, I see at least
two "ArmVirtPkg.dec" dependencies:

[FixedPcd]
  gArmVirtTokenSpaceGuid.PcdUninstallMemAttrProtocol

[Pcd]
  gArmVirtTokenSpaceGuid.PcdTerminalTypeGuidBuffer

In patch 24 ("ArmVirtPkg: Move two PCD variables into OvmfPkg"), you
move these PCDs to OvmfPkg.

Ah, I understand now. In brief: this particular hunk belongs to patch 24
(where you correctly modify "PlatformBootManagerLib.inf" anyway). The
point is that, with the movement of both PCDs from the ArmVirt token
space to the OVMF token space, "PlatformBootManagerLib.inf"'s dependency
on "ArmVirtPkg.dec" disappears. Therefore the above hunk belongs to
patch 24.

... When you implement that, please build-test both patches 24 and 25.

More precisely, your patch set should build at every stage, considering
both ArmVirt and OVMF platforms.

The command "git rebase --exec" is useful for building a series at every
stage.

> diff --git a/ArmVirtPkg/Library/PlatformBootManagerLib/QemuKernel.c b/OvmfPkg/Library/PlatformBootManagerLibLight/QemuKernel.c
> similarity index 100%
> rename from ArmVirtPkg/Library/PlatformBootManagerLib/QemuKernel.c
> rename to OvmfPkg/Library/PlatformBootManagerLibLight/QemuKernel.c

OK

Laszlo



-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#113809): https://edk2.groups.io/g/devel/message/113809
Mute This Topic: https://groups.io/mt/103679477/7686176
Group Owner: devel+owner@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/leave/12367111/7686176/1913456212/xyzzy [rebecca@openfw.io]
-=-=-=-=-=-=-=-=-=-=-=-



  reply	other threads:[~2024-01-16  6:33 UTC|newest]

Thread overview: 52+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-01-12  8:21 [edk2-devel] [PATCH v7 00/37] Enable LoongArch virtual machine in edk2 Chao Li
2024-01-12  8:22 ` [edk2-devel] [PATCH v7 01/37] MdePkg: Add the header file named Csr.h for LoongArch64 Chao Li
2024-01-12  8:22 ` [edk2-devel] [PATCH v7 02/37] MdePkg: Add LoongArch64 FPU function set into BaseCpuLib Chao Li
2024-01-12  8:22 ` [edk2-devel] [PATCH v7 03/37] MdePkg: Add LoongArch64 exception function set into BaseLib Chao Li
2024-01-12  8:23 ` [edk2-devel] [PATCH v7 04/37] MdePkg: Add LoongArch64 local interrupt " Chao Li
2024-01-12  8:23 ` [edk2-devel] [PATCH v7 05/37] MdePkg: Add LoongArch Cpucfg function Chao Li
2024-01-12  8:23 ` [edk2-devel] [PATCH v7 06/37] MdePkg: Add read stable counter operation for LoongArch Chao Li
2024-01-12  8:23 ` [edk2-devel] [PATCH v7 07/37] MdePkg: Add CSR " Chao Li
2024-01-12  8:23 ` [edk2-devel] [PATCH v7 08/37] MdePkg: Add IOCSR " Chao Li
2024-01-12  8:23 ` [edk2-devel] [PATCH v7 09/37] MdePkg: Add a new library named PeiServicesTablePointerLibKs0 Chao Li
2024-01-12  8:23 ` [edk2-devel] [PATCH v7 10/37] MdePkg: Add some comments for LoongArch exceptions Chao Li
2024-01-12  8:23 ` [edk2-devel] [PATCH v7 11/37] UefiCpuPkg: Add LoongArch64 CPU Timer library Chao Li
2024-01-12  8:51   ` Ni, Ray
2024-01-12  9:15     ` Chao Li
2024-01-12  9:26       ` Ni, Ray
2024-01-12  8:23 ` [edk2-devel] [PATCH v7 12/37] UefiCpuPkg: Add CPU exception library for LoongArch Chao Li
2024-01-12  8:49   ` Ni, Ray
2024-01-12  8:24 ` [edk2-devel] [PATCH v7 13/37] UefiCpuPkg: Add CpuMmuLib.h to UefiCpuPkg Chao Li
2024-01-12  8:24 ` [edk2-devel] [PATCH v7 14/37] UefiCpuPkg: Add LoongArch64CpuMmuLib " Chao Li
2024-01-12  8:24 ` [edk2-devel] [PATCH v7 15/37] UefiCpuPkg: Add multiprocessor library for LoongArch64 Chao Li
2024-01-12  8:50   ` Ni, Ray
2024-01-12  8:24 ` [edk2-devel] [PATCH v7 16/37] UefiCpuPkg: Add CpuDxe driver " Chao Li
2024-01-12  8:50   ` Ni, Ray
2024-01-12  8:24 ` [edk2-devel] [PATCH v7 17/37] EmbeddedPkg: Add PcdPrePiCpuIoSize width for LOONGARCH64 Chao Li
2024-01-12  8:24 ` [edk2-devel] [PATCH v7 18/37] ArmVirtPkg: Move PCD of FDT base address and FDT padding to OvmfPkg Chao Li
2024-01-12  8:24 ` [edk2-devel] [PATCH v7 19/37] UefiCpuPkg: Add a new CPU IO 2 driver named CpuMmio2Dxe Chao Li
2024-01-12  8:24 ` [edk2-devel] [PATCH v7 20/37] ArmVirtPkg: Enable CpuMmio2Dxe Chao Li
2024-01-12  8:25 ` [edk2-devel] [PATCH v7 21/37] OvmfPkg/RiscVVirt: " Chao Li
2024-01-12  8:25 ` [edk2-devel] [PATCH v7 22/37] OvmfPkg/RiscVVirt: Remove PciCpuIo2Dxe from RiscVVirt Chao Li
2024-01-12  8:25 ` [edk2-devel] [PATCH v7 23/37] ArmVirtPkg: Move the FdtSerialPortAddressLib to OvmfPkg Chao Li
2024-01-15  8:32   ` Laszlo Ersek
2024-01-16 12:20     ` Chao Li
2024-01-12  8:25 ` [edk2-devel] [PATCH v7 24/37] ArmVirtPkg: Move two PCD variables into OvmfPkg Chao Li
2024-01-12  8:25 ` [edk2-devel] [PATCH v7 25/37] ArmVirtPkg: Move PlatformBootManagerLib to OvmfPkg Chao Li
2024-01-15  8:46   ` Laszlo Ersek [this message]
2024-01-16 11:54     ` Chao Li
2024-01-16 14:41       ` Laszlo Ersek
2024-01-18  8:47         ` Chao Li
2024-01-12  8:25 ` [edk2-devel] [PATCH v7 26/37] OvmfPkg/LoongArchVirt: Add stable timer driver Chao Li
2024-01-12  8:25 ` [edk2-devel] [PATCH v7 27/37] OvmfPkg/LoongArchVirt: Add a NULL library named CollectApResouceLibNull Chao Li
2024-01-12  8:25 ` [edk2-devel] [PATCH v7 28/37] OvmfPkg/LoongArchVirt: Add serial port hook library Chao Li
2024-01-12  8:25 ` [edk2-devel] [PATCH v7 29/37] OvmfPkg/LoongArchVirt: Add the early serial port output library Chao Li
2024-01-12  8:26 ` [edk2-devel] [PATCH v7 30/37] OvmfPkg/LoongArchVirt: Add real time clock library Chao Li
2024-01-12  8:26 ` [edk2-devel] [PATCH v7 31/37] OvmfPkg/LoongArchVirt: Add NorFlashQemuLib Chao Li
2024-01-12  8:26 ` [edk2-devel] [PATCH v7 32/37] OvmfPkg/LoongArchVirt: Add FdtQemuFwCfgLib Chao Li
2024-01-12  8:26 ` [edk2-devel] [PATCH v7 33/37] OvmfPkg/LoongArchVirt: Add reset system library Chao Li
2024-01-12  8:26 ` [edk2-devel] [PATCH v7 34/37] OvmfPkg/LoongArchVirt: Support SEC phase Chao Li
2024-01-12  8:26 ` [edk2-devel] [PATCH v7 35/37] OvmfPkg/LoongArchVirt: Support PEI phase Chao Li
2024-01-12  8:26 ` [edk2-devel] [PATCH v7 36/37] OvmfPkg/LoongArchVirt: Add build file Chao Li
2024-01-12  8:26 ` [edk2-devel] [PATCH v7 37/37] OvmfPkg/LoongArchVirt: Add self introduction file Chao Li
2024-01-15  8:33 ` [edk2-devel] [PATCH v7 00/37] Enable LoongArch virtual machine in edk2 Laszlo Ersek
2024-01-16 11:45   ` 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=29414777-a154-bd1c-95c8-6c4f4e01bbcb@redhat.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