[edk2-devel] [PATCH 0/7] OvmfPkg, ArmVirtPkg: control PXE v4/v6 boot support from the QEMU cmdline

Laszlo Ersek posted 7 patches 4 years ago
Patches applied successfully (tree, apply log)
git fetch https://github.com/patchew-project/edk2 tags/patchew/20200424075353.8489-1-lersek@redhat.com
ArmVirtPkg/ArmVirtQemu.dsc                                            |  13 +
ArmVirtPkg/ArmVirtQemuKernel.dsc                                      |  13 +
ArmVirtPkg/Library/QemuFwCfgLib/QemuFwCfgLib.inf                      |   2 +-
OvmfPkg/Include/Library/QemuFwCfgSimpleParserLib.h                    | 128 +++++++
OvmfPkg/Library/PxeBcPcdProducerLib/PxeBcPcd.c                        |  39 ++
OvmfPkg/Library/PxeBcPcdProducerLib/PxeBcPcdProducerLib.inf           |  33 ++
OvmfPkg/Library/QemuFwCfgLib/QemuFwCfgDxeLib.inf                      |   2 +-
OvmfPkg/Library/QemuFwCfgSimpleParserLib/QemuFwCfgSimpleParser.c      | 398 ++++++++++++++++++++
OvmfPkg/Library/QemuFwCfgSimpleParserLib/QemuFwCfgSimpleParserLib.inf |  27 ++
OvmfPkg/OvmfPkg.dec                                                   |   4 +
OvmfPkg/OvmfPkgIa32.dsc                                               |  10 +
OvmfPkg/OvmfPkgIa32X64.dsc                                            |  11 +
OvmfPkg/OvmfPkgX64.dsc                                                |  10 +
OvmfPkg/PlatformPei/MemDetect.c                                       |  36 +-
OvmfPkg/PlatformPei/Platform.c                                        |  47 +--
OvmfPkg/PlatformPei/PlatformPei.inf                                   |   1 +
16 files changed, 712 insertions(+), 62 deletions(-)
create mode 100644 OvmfPkg/Include/Library/QemuFwCfgSimpleParserLib.h
create mode 100644 OvmfPkg/Library/PxeBcPcdProducerLib/PxeBcPcd.c
create mode 100644 OvmfPkg/Library/PxeBcPcdProducerLib/PxeBcPcdProducerLib.inf
create mode 100644 OvmfPkg/Library/QemuFwCfgSimpleParserLib/QemuFwCfgSimpleParser.c
create mode 100644 OvmfPkg/Library/QemuFwCfgSimpleParserLib/QemuFwCfgSimpleParserLib.inf
[edk2-devel] [PATCH 0/7] OvmfPkg, ArmVirtPkg: control PXE v4/v6 boot support from the QEMU cmdline
Posted by Laszlo Ersek 4 years ago
Ref:    https://bugzilla.tianocore.org/show_bug.cgi?id=2681
Repo:   https://pagure.io/lersek/edk2.git
Branch: pxe_fw_cfg

With this series applied, the QEMU command line options listed below
control whether the guest firmware supports PXEv4 / PXEv6 boot. And
correspondingly, whether UefiBootManagerLib generates *new* PXEv4 /
PXEv6 boot options automatically. (Existent boot options are never
deleted in response to just the flags below.)

  -fw_cfg name=opt/org.tianocore/IPv4PXESupport,string=[yn]

  -fw_cfg name=opt/org.tianocore/IPv6PXESupport,string=[yn]

Cc: Ard Biesheuvel <ard.biesheuvel@arm.com>
Cc: Jordan Justen <jordan.l.justen@intel.com>
Cc: Leif Lindholm <leif@nuviainc.com>
Cc: Per Sundstrom <per_sundstrom@yahoo.com>
Cc: Philippe Mathieu-Daudé <philmd@redhat.com>

Thanks
Laszlo

Laszlo Ersek (7):
  OvmfPkg: introduce QemuFwCfgSimpleParserLib
  OvmfPkg/PlatformPei: parse "X-PciMmio64Mb" with
    QemuFwCfgSimpleParserLib
  OvmfPkg/PlatformPei: use QemuFwCfgParseBool in
    UPDATE_BOOLEAN_PCD_FROM_...
  OvmfPkg/QemuFwCfgDxeLib: allow UEFI_DRIVER modules
  OvmfPkg: control PXEv4 / PXEv6 boot support from the QEMU command line
  ArmVirtPkg/QemuFwCfgLib: allow UEFI_DRIVER modules
  ArmVirtPkg: control PXEv4 / PXEv6 boot support from the QEMU command
    line

 ArmVirtPkg/ArmVirtQemu.dsc                                            |  13 +
 ArmVirtPkg/ArmVirtQemuKernel.dsc                                      |  13 +
 ArmVirtPkg/Library/QemuFwCfgLib/QemuFwCfgLib.inf                      |   2 +-
 OvmfPkg/Include/Library/QemuFwCfgSimpleParserLib.h                    | 128 +++++++
 OvmfPkg/Library/PxeBcPcdProducerLib/PxeBcPcd.c                        |  39 ++
 OvmfPkg/Library/PxeBcPcdProducerLib/PxeBcPcdProducerLib.inf           |  33 ++
 OvmfPkg/Library/QemuFwCfgLib/QemuFwCfgDxeLib.inf                      |   2 +-
 OvmfPkg/Library/QemuFwCfgSimpleParserLib/QemuFwCfgSimpleParser.c      | 398 ++++++++++++++++++++
 OvmfPkg/Library/QemuFwCfgSimpleParserLib/QemuFwCfgSimpleParserLib.inf |  27 ++
 OvmfPkg/OvmfPkg.dec                                                   |   4 +
 OvmfPkg/OvmfPkgIa32.dsc                                               |  10 +
 OvmfPkg/OvmfPkgIa32X64.dsc                                            |  11 +
 OvmfPkg/OvmfPkgX64.dsc                                                |  10 +
 OvmfPkg/PlatformPei/MemDetect.c                                       |  36 +-
 OvmfPkg/PlatformPei/Platform.c                                        |  47 +--
 OvmfPkg/PlatformPei/PlatformPei.inf                                   |   1 +
 16 files changed, 712 insertions(+), 62 deletions(-)
 create mode 100644 OvmfPkg/Include/Library/QemuFwCfgSimpleParserLib.h
 create mode 100644 OvmfPkg/Library/PxeBcPcdProducerLib/PxeBcPcd.c
 create mode 100644 OvmfPkg/Library/PxeBcPcdProducerLib/PxeBcPcdProducerLib.inf
 create mode 100644 OvmfPkg/Library/QemuFwCfgSimpleParserLib/QemuFwCfgSimpleParser.c
 create mode 100644 OvmfPkg/Library/QemuFwCfgSimpleParserLib/QemuFwCfgSimpleParserLib.inf

-- 
2.19.1.3.g30247aa5d201


-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.

View/Reply Online (#58030): https://edk2.groups.io/g/devel/message/58030
Mute This Topic: https://groups.io/mt/73236891/1787277
Group Owner: devel+owner@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub  [importer@patchew.org]
-=-=-=-=-=-=-=-=-=-=-=-

Re: [edk2-devel] [PATCH 0/7] OvmfPkg, ArmVirtPkg: control PXE v4/v6 boot support from the QEMU cmdline
Posted by Laszlo Ersek 4 years ago
On 04/24/20 09:53, Laszlo Ersek wrote:
> Ref:    https://bugzilla.tianocore.org/show_bug.cgi?id=2681
> Repo:   https://pagure.io/lersek/edk2.git
> Branch: pxe_fw_cfg
> 
> With this series applied, the QEMU command line options listed below
> control whether the guest firmware supports PXEv4 / PXEv6 boot. And
> correspondingly, whether UefiBootManagerLib generates *new* PXEv4 /
> PXEv6 boot options automatically. (Existent boot options are never
> deleted in response to just the flags below.)
> 
>   -fw_cfg name=opt/org.tianocore/IPv4PXESupport,string=[yn]
> 
>   -fw_cfg name=opt/org.tianocore/IPv6PXESupport,string=[yn]

Merged as commit range 64ab457d1f21..cdc3fa54184a, via
<https://github.com/tianocore/edk2/pull/556>.

I thank everyone for the feedback.

Phil, regarding your comment under patch#5: the PCD "get" interfaces do
not have "deprecated" vs. "current" variants. Only the "set" interfaces
do. "Get" is always supposed to succeed. "Set" may fail.

See commit 9a3558419509 ("MdePkg: Add a set of PcdSetXXS APIs into
PcdLib and remove the ASSERT in original PcdSetXX APIs.", 2015-04-10).

See also EFI_PCD_PROTOCOL in the Platform Init spec:
<https://uefi.org/specifications>.

Thanks!
Laszlo

> 
> Cc: Ard Biesheuvel <ard.biesheuvel@arm.com>
> Cc: Jordan Justen <jordan.l.justen@intel.com>
> Cc: Leif Lindholm <leif@nuviainc.com>
> Cc: Per Sundstrom <per_sundstrom@yahoo.com>
> Cc: Philippe Mathieu-Daudé <philmd@redhat.com>
> 
> Thanks
> Laszlo
> 
> Laszlo Ersek (7):
>   OvmfPkg: introduce QemuFwCfgSimpleParserLib
>   OvmfPkg/PlatformPei: parse "X-PciMmio64Mb" with
>     QemuFwCfgSimpleParserLib
>   OvmfPkg/PlatformPei: use QemuFwCfgParseBool in
>     UPDATE_BOOLEAN_PCD_FROM_...
>   OvmfPkg/QemuFwCfgDxeLib: allow UEFI_DRIVER modules
>   OvmfPkg: control PXEv4 / PXEv6 boot support from the QEMU command line
>   ArmVirtPkg/QemuFwCfgLib: allow UEFI_DRIVER modules
>   ArmVirtPkg: control PXEv4 / PXEv6 boot support from the QEMU command
>     line
> 
>  ArmVirtPkg/ArmVirtQemu.dsc                                            |  13 +
>  ArmVirtPkg/ArmVirtQemuKernel.dsc                                      |  13 +
>  ArmVirtPkg/Library/QemuFwCfgLib/QemuFwCfgLib.inf                      |   2 +-
>  OvmfPkg/Include/Library/QemuFwCfgSimpleParserLib.h                    | 128 +++++++
>  OvmfPkg/Library/PxeBcPcdProducerLib/PxeBcPcd.c                        |  39 ++
>  OvmfPkg/Library/PxeBcPcdProducerLib/PxeBcPcdProducerLib.inf           |  33 ++
>  OvmfPkg/Library/QemuFwCfgLib/QemuFwCfgDxeLib.inf                      |   2 +-
>  OvmfPkg/Library/QemuFwCfgSimpleParserLib/QemuFwCfgSimpleParser.c      | 398 ++++++++++++++++++++
>  OvmfPkg/Library/QemuFwCfgSimpleParserLib/QemuFwCfgSimpleParserLib.inf |  27 ++
>  OvmfPkg/OvmfPkg.dec                                                   |   4 +
>  OvmfPkg/OvmfPkgIa32.dsc                                               |  10 +
>  OvmfPkg/OvmfPkgIa32X64.dsc                                            |  11 +
>  OvmfPkg/OvmfPkgX64.dsc                                                |  10 +
>  OvmfPkg/PlatformPei/MemDetect.c                                       |  36 +-
>  OvmfPkg/PlatformPei/Platform.c                                        |  47 +--
>  OvmfPkg/PlatformPei/PlatformPei.inf                                   |   1 +
>  16 files changed, 712 insertions(+), 62 deletions(-)
>  create mode 100644 OvmfPkg/Include/Library/QemuFwCfgSimpleParserLib.h
>  create mode 100644 OvmfPkg/Library/PxeBcPcdProducerLib/PxeBcPcd.c
>  create mode 100644 OvmfPkg/Library/PxeBcPcdProducerLib/PxeBcPcdProducerLib.inf
>  create mode 100644 OvmfPkg/Library/QemuFwCfgSimpleParserLib/QemuFwCfgSimpleParser.c
>  create mode 100644 OvmfPkg/Library/QemuFwCfgSimpleParserLib/QemuFwCfgSimpleParserLib.inf
> 


-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.

View/Reply Online (#58274): https://edk2.groups.io/g/devel/message/58274
Mute This Topic: https://groups.io/mt/73236891/1787277
Group Owner: devel+owner@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub  [importer@patchew.org]
-=-=-=-=-=-=-=-=-=-=-=-

Re: [edk2-devel] [PATCH 0/7] OvmfPkg, ArmVirtPkg: control PXE v4/v6 boot support from the QEMU cmdline
Posted by Philippe Mathieu-Daudé 4 years ago
On 4/29/20 12:39 AM, Laszlo Ersek wrote:
> On 04/24/20 09:53, Laszlo Ersek wrote:
>> Ref:    https://bugzilla.tianocore.org/show_bug.cgi?id=2681
>> Repo:   https://pagure.io/lersek/edk2.git
>> Branch: pxe_fw_cfg
>>
>> With this series applied, the QEMU command line options listed below
>> control whether the guest firmware supports PXEv4 / PXEv6 boot. And
>> correspondingly, whether UefiBootManagerLib generates *new* PXEv4 /
>> PXEv6 boot options automatically. (Existent boot options are never
>> deleted in response to just the flags below.)
>>
>>    -fw_cfg name=opt/org.tianocore/IPv4PXESupport,string=[yn]
>>
>>    -fw_cfg name=opt/org.tianocore/IPv6PXESupport,string=[yn]
> 
> Merged as commit range 64ab457d1f21..cdc3fa54184a, via
> <https://github.com/tianocore/edk2/pull/556>.
> 
> I thank everyone for the feedback.
> 
> Phil, regarding your comment under patch#5: the PCD "get" interfaces do
> not have "deprecated" vs. "current" variants. Only the "set" interfaces
> do. "Get" is always supposed to succeed. "Set" may fail.

Oh I see, it makes sense.

> 
> See commit 9a3558419509 ("MdePkg: Add a set of PcdSetXXS APIs into
> PcdLib and remove the ASSERT in original PcdSetXX APIs.", 2015-04-10).

Got it, thanks for the pointer!

> 
> See also EFI_PCD_PROTOCOL in the Platform Init spec:
> <https://uefi.org/specifications>.
> 
> Thanks!
> Laszlo
> 
>>
>> Cc: Ard Biesheuvel <ard.biesheuvel@arm.com>
>> Cc: Jordan Justen <jordan.l.justen@intel.com>
>> Cc: Leif Lindholm <leif@nuviainc.com>
>> Cc: Per Sundstrom <per_sundstrom@yahoo.com>
>> Cc: Philippe Mathieu-Daudé <philmd@redhat.com>
>>
>> Thanks
>> Laszlo
>>
>> Laszlo Ersek (7):
>>    OvmfPkg: introduce QemuFwCfgSimpleParserLib
>>    OvmfPkg/PlatformPei: parse "X-PciMmio64Mb" with
>>      QemuFwCfgSimpleParserLib
>>    OvmfPkg/PlatformPei: use QemuFwCfgParseBool in
>>      UPDATE_BOOLEAN_PCD_FROM_...
>>    OvmfPkg/QemuFwCfgDxeLib: allow UEFI_DRIVER modules
>>    OvmfPkg: control PXEv4 / PXEv6 boot support from the QEMU command line
>>    ArmVirtPkg/QemuFwCfgLib: allow UEFI_DRIVER modules
>>    ArmVirtPkg: control PXEv4 / PXEv6 boot support from the QEMU command
>>      line
>>
>>   ArmVirtPkg/ArmVirtQemu.dsc                                            |  13 +
>>   ArmVirtPkg/ArmVirtQemuKernel.dsc                                      |  13 +
>>   ArmVirtPkg/Library/QemuFwCfgLib/QemuFwCfgLib.inf                      |   2 +-
>>   OvmfPkg/Include/Library/QemuFwCfgSimpleParserLib.h                    | 128 +++++++
>>   OvmfPkg/Library/PxeBcPcdProducerLib/PxeBcPcd.c                        |  39 ++
>>   OvmfPkg/Library/PxeBcPcdProducerLib/PxeBcPcdProducerLib.inf           |  33 ++
>>   OvmfPkg/Library/QemuFwCfgLib/QemuFwCfgDxeLib.inf                      |   2 +-
>>   OvmfPkg/Library/QemuFwCfgSimpleParserLib/QemuFwCfgSimpleParser.c      | 398 ++++++++++++++++++++
>>   OvmfPkg/Library/QemuFwCfgSimpleParserLib/QemuFwCfgSimpleParserLib.inf |  27 ++
>>   OvmfPkg/OvmfPkg.dec                                                   |   4 +
>>   OvmfPkg/OvmfPkgIa32.dsc                                               |  10 +
>>   OvmfPkg/OvmfPkgIa32X64.dsc                                            |  11 +
>>   OvmfPkg/OvmfPkgX64.dsc                                                |  10 +
>>   OvmfPkg/PlatformPei/MemDetect.c                                       |  36 +-
>>   OvmfPkg/PlatformPei/Platform.c                                        |  47 +--
>>   OvmfPkg/PlatformPei/PlatformPei.inf                                   |   1 +
>>   16 files changed, 712 insertions(+), 62 deletions(-)
>>   create mode 100644 OvmfPkg/Include/Library/QemuFwCfgSimpleParserLib.h
>>   create mode 100644 OvmfPkg/Library/PxeBcPcdProducerLib/PxeBcPcd.c
>>   create mode 100644 OvmfPkg/Library/PxeBcPcdProducerLib/PxeBcPcdProducerLib.inf
>>   create mode 100644 OvmfPkg/Library/QemuFwCfgSimpleParserLib/QemuFwCfgSimpleParser.c
>>   create mode 100644 OvmfPkg/Library/QemuFwCfgSimpleParserLib/QemuFwCfgSimpleParserLib.inf
>>
> 


-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.

View/Reply Online (#58298): https://edk2.groups.io/g/devel/message/58298
Mute This Topic: https://groups.io/mt/73236891/1787277
Group Owner: devel+owner@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub  [importer@patchew.org]
-=-=-=-=-=-=-=-=-=-=-=-

Re: [edk2-devel] [PATCH 0/7] OvmfPkg, ArmVirtPkg: control PXE v4/v6 boot support from the QEMU cmdline
Posted by Ard Biesheuvel 4 years ago
On 4/24/20 9:53 AM, Laszlo Ersek wrote:
> Ref:    https://bugzilla.tianocore.org/show_bug.cgi?id=2681
> Repo:   https://pagure.io/lersek/edk2.git
> Branch: pxe_fw_cfg
> 
> With this series applied, the QEMU command line options listed below
> control whether the guest firmware supports PXEv4 / PXEv6 boot. And
> correspondingly, whether UefiBootManagerLib generates *new* PXEv4 /
> PXEv6 boot options automatically. (Existent boot options are never
> deleted in response to just the flags below.)
> 
>    -fw_cfg name=opt/org.tianocore/IPv4PXESupport,string=[yn]
> 
>    -fw_cfg name=opt/org.tianocore/IPv6PXESupport,string=[yn]
> 
> Cc: Ard Biesheuvel <ard.biesheuvel@arm.com>
> Cc: Jordan Justen <jordan.l.justen@intel.com>
> Cc: Leif Lindholm <leif@nuviainc.com>
> Cc: Per Sundstrom <per_sundstrom@yahoo.com>
> Cc: Philippe Mathieu-Daudé <philmd@redhat.com>
> 
> Thanks
> Laszlo
> 
> Laszlo Ersek (7):
>    OvmfPkg: introduce QemuFwCfgSimpleParserLib
>    OvmfPkg/PlatformPei: parse "X-PciMmio64Mb" with
>      QemuFwCfgSimpleParserLib
>    OvmfPkg/PlatformPei: use QemuFwCfgParseBool in
>      UPDATE_BOOLEAN_PCD_FROM_...
>    OvmfPkg/QemuFwCfgDxeLib: allow UEFI_DRIVER modules
>    OvmfPkg: control PXEv4 / PXEv6 boot support from the QEMU command line
>    ArmVirtPkg/QemuFwCfgLib: allow UEFI_DRIVER modules
>    ArmVirtPkg: control PXEv4 / PXEv6 boot support from the QEMU command
>      line
> 

Very useful,thanks!

For the series,

Reviewed-by: Ard Biesheuvel <ard.biesheuvel@arm.com>

>   ArmVirtPkg/ArmVirtQemu.dsc                                            |  13 +
>   ArmVirtPkg/ArmVirtQemuKernel.dsc                                      |  13 +
>   ArmVirtPkg/Library/QemuFwCfgLib/QemuFwCfgLib.inf                      |   2 +-
>   OvmfPkg/Include/Library/QemuFwCfgSimpleParserLib.h                    | 128 +++++++
>   OvmfPkg/Library/PxeBcPcdProducerLib/PxeBcPcd.c                        |  39 ++
>   OvmfPkg/Library/PxeBcPcdProducerLib/PxeBcPcdProducerLib.inf           |  33 ++
>   OvmfPkg/Library/QemuFwCfgLib/QemuFwCfgDxeLib.inf                      |   2 +-
>   OvmfPkg/Library/QemuFwCfgSimpleParserLib/QemuFwCfgSimpleParser.c      | 398 ++++++++++++++++++++
>   OvmfPkg/Library/QemuFwCfgSimpleParserLib/QemuFwCfgSimpleParserLib.inf |  27 ++
>   OvmfPkg/OvmfPkg.dec                                                   |   4 +
>   OvmfPkg/OvmfPkgIa32.dsc                                               |  10 +
>   OvmfPkg/OvmfPkgIa32X64.dsc                                            |  11 +
>   OvmfPkg/OvmfPkgX64.dsc                                                |  10 +
>   OvmfPkg/PlatformPei/MemDetect.c                                       |  36 +-
>   OvmfPkg/PlatformPei/Platform.c                                        |  47 +--
>   OvmfPkg/PlatformPei/PlatformPei.inf                                   |   1 +
>   16 files changed, 712 insertions(+), 62 deletions(-)
>   create mode 100644 OvmfPkg/Include/Library/QemuFwCfgSimpleParserLib.h
>   create mode 100644 OvmfPkg/Library/PxeBcPcdProducerLib/PxeBcPcd.c
>   create mode 100644 OvmfPkg/Library/PxeBcPcdProducerLib/PxeBcPcdProducerLib.inf
>   create mode 100644 OvmfPkg/Library/QemuFwCfgSimpleParserLib/QemuFwCfgSimpleParser.c
>   create mode 100644 OvmfPkg/Library/QemuFwCfgSimpleParserLib/QemuFwCfgSimpleParserLib.inf
> 


-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.

View/Reply Online (#58043): https://edk2.groups.io/g/devel/message/58043
Mute This Topic: https://groups.io/mt/73236891/1787277
Group Owner: devel+owner@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub  [importer@patchew.org]
-=-=-=-=-=-=-=-=-=-=-=-