<div dir="ltr"><div dir="ltr"></div><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Thu, Jul 22, 2021 at 9:59 AM Daniel Schaefer <<a href="mailto:daniel.schaefer@hpe.com">daniel.schaefer@hpe.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">On 7/22/21 9:44 AM, Ni, Ray wrote:<br>
> Cheng-Chieh,<br>
> Thanks for the detailed explanation in doc <a href="https://docs.google.com/document/d/1mU6ICHTh0ot8U45uuRENKOGI8cVzizdyWHGYHpEguVg/edit#heading=h.xzptrog8pyxf" rel="noreferrer" target="_blank">https://docs.google.com/document/d/1mU6ICHTh0ot8U45uuRENKOGI8cVzizdyWHGYHpEguVg/edit#heading=h.xzptrog8pyxf</a> .<br>
> <br>
> My original thought was LinuxBoot is a payload that aims to boot OS.<br>
> But the idea of chaining UefiPayload producing UEFI services is very brilliant.<br>
<br>
It can be and it is. The main usage of LinuxBoot is to load/boot another <br>
Linux using the kexec mechanism. But in order to be able to boot <br>
Windows, ESXI, ... a UEFI interface is required.<br>
There have been a few proposals and POCs (like implementing UEFI <br>
services in Linux) but UefiPayload is the most practical and easy way to <br>
do it, for now.<br>
<br>
> Have you considered to produce the universal payload interfaces (<a href="https://universalpayload.github.io/documentation/" rel="noreferrer" target="_blank">https://universalpayload.github.io/documentation/</a> ) from LinuxBoot so no LbParseLib is required?<br>
<br>
I don't think we've looked at it. But we liked it to be a string because <br>
it allows easy forward compatibility and not having to recreate the <br>
structs in higher-level languages like Go.<br>
<br></blockquote><div>Agree to Daniel. In the future, we can look for supporting HOB structure in u-root, but for now, we prefer to stick with the current approach.</div><div><br></div><div>--</div><div>Cheng-Chieh</div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
> Thanks,<br>
> Ray<br>
> <br>
>> -----Original Message-----<br>
>> From: <a href="mailto:devel@edk2.groups.io" target="_blank">devel@edk2.groups.io</a> <<a href="mailto:devel@edk2.groups.io" target="_blank">devel@edk2.groups.io</a>> On Behalf Of Cheng-Chieh Huang via <a href="http://groups.io" rel="noreferrer" target="_blank">groups.io</a><br>
>> Sent: Wednesday, July 21, 2021 9:23 PM<br>
>> To: <a href="mailto:devel@edk2.groups.io" target="_blank">devel@edk2.groups.io</a><br>
>> Cc: Cheng-Chieh Huang <<a href="mailto:chengchieh@google.com" target="_blank">chengchieh@google.com</a>>; Schaefer, Daniel <<a href="mailto:daniel.schaefer@hpe.com" target="_blank">daniel.schaefer@hpe.com</a>>; Trammell Hudson<br>
>> <<a href="mailto:hudson@trmm.net" target="_blank">hudson@trmm.net</a>>; Ma, Maurice <<a href="mailto:maurice.ma@intel.com" target="_blank">maurice.ma@intel.com</a>>; Dong, Guo <<a href="mailto:guo.dong@intel.com" target="_blank">guo.dong@intel.com</a>>; You, Benjamin<br>
>> <<a href="mailto:benjamin.you@intel.com" target="_blank">benjamin.you@intel.com</a>><br>
>> Subject: [edk2-devel] [PATCH 0/6] UefiPayloadPkg: LinuxBoot Support in UefiPayload<br>
>><br>
>> These are necessary patches to Support LinuxBoot in UefiPayload.<br>
>> With these paches, we can boot to ESXi and Windows from a linux in QEMU.<br>
>><br>
>> LinuxBoot README:<br>
>> <a href="https://github.com/linuxboot/edk2/blob/uefipayload/UefiPayloadPkg/README.md" rel="noreferrer" target="_blank">https://github.com/linuxboot/edk2/blob/uefipayload/UefiPayloadPkg/README.md</a><br>
>><br>
>> PR to tianocore:<br>
>> <a href="https://github.com/tianocore/edk2/pull/1820" rel="noreferrer" target="_blank">https://github.com/tianocore/edk2/pull/1820</a><br>
>><br>
>> Cheng-Chieh Huang (5):<br>
>>    Add LINUXBOOT payload target<br>
>>    Use legacy timer in Linuxboot payload<br>
>>    Update maximum logic processor to 256<br>
>>    Reserve Payload config in runtime services data<br>
>>    Add DISABLE_MMX_SSE to avoid generating floating points operation<br>
>><br>
>> Trammell Hudson (1):<br>
>>    LinuxBoot: use a text format for the configuration block.<br>
>><br>
>>   UefiPayloadPkg/UefiPayloadPkg.dsc             |  29 +-<br>
>>   UefiPayloadPkg/UefiPayloadPkg.fdf             |   5 +<br>
>>   .../Library/LbParseLib/LbParseLib.inf         |  39 ++<br>
>>   UefiPayloadPkg/Include/Linuxboot.h            |  58 +++<br>
>>   .../Library/LbParseLib/LbParseLib.c           | 348 ++++++++++++++++++<br>
>>   .../PciHostBridgeLib/PciHostBridgeSupport.c   |   6 +-<br>
>>   .../UefiPayloadEntry/UefiPayloadEntry.c       |   2 +<br>
>>   CryptoPkg/Library/OpensslLib/openssl          |   2 +-<br>
>>   8 files changed, 480 insertions(+), 9 deletions(-)<br>
>>   create mode 100644 UefiPayloadPkg/Library/LbParseLib/LbParseLib.inf<br>
>>   create mode 100644 UefiPayloadPkg/Include/Linuxboot.h<br>
>>   create mode 100644 UefiPayloadPkg/Library/LbParseLib/LbParseLib.c<br>
>><br>
>> Cc: Cheng-Chieh Huang <<a href="mailto:chengchieh@google.com" target="_blank">chengchieh@google.com</a>><br>
>> Cc: Daniel Schaefer <<a href="mailto:daniel.schaefer@hpe.com" target="_blank">daniel.schaefer@hpe.com</a>><br>
>> Cc: Trammell Hudson <<a href="mailto:hudson@trmm.net" target="_blank">hudson@trmm.net</a>><br>
>> Cc: Maurice Ma <<a href="mailto:maurice.ma@intel.com" target="_blank">maurice.ma@intel.com</a>><br>
>> Cc: Guo Dong <<a href="mailto:guo.dong@intel.com" target="_blank">guo.dong@intel.com</a>><br>
>> Cc: Benjamin You <<a href="mailto:benjamin.you@intel.com" target="_blank">benjamin.you@intel.com</a>><br>
>> --<br>
>> 2.32.0.402.g57bb445576-goog<br>
>><br>
>><br>
>><br>
>> <br>
>><br>
> <br>
</blockquote></div></div>


 <div width="1" style="color:white;clear:both">_._,_._,_</div> <hr>   Groups.io Links:<p>   You receive all messages sent to this group.    <p> <a target="_blank" href="https://edk2.groups.io/g/devel/message/78053">View/Reply Online (#78053)</a> |    |  <a target="_blank" href="https://groups.io/mt/84357532/1813853">Mute This Topic</a>  | <a href="https://edk2.groups.io/g/devel/post">New Topic</a><br>    <a href="https://edk2.groups.io/g/devel/editsub/1813853">Your Subscription</a> | <a href="mailto:devel+owner@edk2.groups.io">Contact Group Owner</a> |  <a href="https://edk2.groups.io/g/devel/unsub">Unsubscribe</a>  [edk2-devel-archive@redhat.com]<br> <div width="1" style="color:white;clear:both">_._,_._,_</div>