On 7/22/21 9:44 AM, Ni, Ray wrote:
Cheng-Chieh,
Thanks for the detailed explanation in doc 
https://docs.google.com/document/d/1mU6ICHTh0ot8U45uuRENKOGI8cVzizdyWHGYHpEguVg/edit#heading=h.xzptrog8pyxf
 .

My original thought was LinuxBoot is a payload that aims to boot OS.
But the idea of chaining UefiPayload producing UEFI services is very brilliant.

It can be and it is. The main usage of LinuxBoot is to load/boot another Linux using the kexec mechanism. But in order to be able to boot Windows, ESXI, ... a UEFI interface is required. There have been a few proposals and POCs (like implementing UEFI services in Linux) but UefiPayload is the most practical and easy way to do it, for now.

Have you considered to produce the universal payload interfaces 
(https://universalpayload.github.io/documentation/ ) from LinuxBoot so no 
LbParseLib is required?

I don't think we've looked at it. But we liked it to be a string because it allows easy forward compatibility and not having to recreate the structs in higher-level languages like Go.

Thanks,
Ray

-----Original Message-----
From: devel@edk2.groups.io <devel@edk2.groups.io> On Behalf Of Cheng-Chieh 
Huang via groups.io
Sent: Wednesday, July 21, 2021 9:23 PM
To: devel@edk2.groups.io
Cc: Cheng-Chieh Huang <chengch...@google.com>; Schaefer, Daniel 
<daniel.schae...@hpe.com>; Trammell Hudson
<hud...@trmm.net>; Ma, Maurice <maurice...@intel.com>; Dong, Guo 
<guo.d...@intel.com>; You, Benjamin
<benjamin....@intel.com>
Subject: [edk2-devel] [PATCH 0/6] UefiPayloadPkg: LinuxBoot Support in 
UefiPayload

These are necessary patches to Support LinuxBoot in UefiPayload.
With these paches, we can boot to ESXi and Windows from a linux in QEMU.

LinuxBoot README:
https://github.com/linuxboot/edk2/blob/uefipayload/UefiPayloadPkg/README.md

PR to tianocore:
https://github.com/tianocore/edk2/pull/1820

Cheng-Chieh Huang (5):
   Add LINUXBOOT payload target
   Use legacy timer in Linuxboot payload
   Update maximum logic processor to 256
   Reserve Payload config in runtime services data
   Add DISABLE_MMX_SSE to avoid generating floating points operation

Trammell Hudson (1):
   LinuxBoot: use a text format for the configuration block.

  UefiPayloadPkg/UefiPayloadPkg.dsc             |  29 +-
  UefiPayloadPkg/UefiPayloadPkg.fdf             |   5 +
  .../Library/LbParseLib/LbParseLib.inf         |  39 ++
  UefiPayloadPkg/Include/Linuxboot.h            |  58 +++
  .../Library/LbParseLib/LbParseLib.c           | 348 ++++++++++++++++++
  .../PciHostBridgeLib/PciHostBridgeSupport.c   |   6 +-
  .../UefiPayloadEntry/UefiPayloadEntry.c       |   2 +
  CryptoPkg/Library/OpensslLib/openssl          |   2 +-
  8 files changed, 480 insertions(+), 9 deletions(-)
  create mode 100644 UefiPayloadPkg/Library/LbParseLib/LbParseLib.inf
  create mode 100644 UefiPayloadPkg/Include/Linuxboot.h
  create mode 100644 UefiPayloadPkg/Library/LbParseLib/LbParseLib.c

Cc: Cheng-Chieh Huang <chengch...@google.com>
Cc: Daniel Schaefer <daniel.schae...@hpe.com>
Cc: Trammell Hudson <hud...@trmm.net>
Cc: Maurice Ma <maurice...@intel.com>
Cc: Guo Dong <guo.d...@intel.com>
Cc: Benjamin You <benjamin....@intel.com>
--
2.32.0.402.g57bb445576-goog








-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#78049): https://edk2.groups.io/g/devel/message/78049
Mute This Topic: https://groups.io/mt/84357532/21656
Group Owner: devel+ow...@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub [arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-


Reply via email to