Hi Dun,
This patch adds an interface (passing command line HOB) between bootloader and UEFI payload. Do you mean the use case is that bootloader passes this HOB to UEFI payload, then UEFI payload would launch LinuxPayload with this command line? If so, how the UEFI payload knows it is LinuxPayload so it would pass this command line? Thanks, Guo -----Original Message----- From: Tan, Dun <[email protected]> Sent: Thursday, April 21, 2022 11:59 PM To: Dong, Guo <[email protected]>; [email protected] Cc: Ni, Ray <[email protected]>; You, Benjamin <[email protected]>; Rhodes, Sean <[email protected]>; Liu, Zhiguang <[email protected]> Subject: RE: [PATCH] UefiPayloadPkg: Add definition for LinuxCommandLine HOB Hi Guo, Thanks for the comments! This Hob is used to pass Linux command line to LinuxPayload instead of OSes. For LinuxPayload, it only needs the Linux Command Line. Thanks, Dun -----Original Message----- From: Dong, Guo <[email protected]> Sent: Friday, April 22, 2022 1:09 PM To: Tan, Dun <[email protected]>; [email protected] Cc: Ni, Ray <[email protected]>; You, Benjamin <[email protected]>; Rhodes, Sean <[email protected]>; Liu, Zhiguang <[email protected]> Subject: RE: [PATCH] UefiPayloadPkg: Add definition for LinuxCommandLine HOB Minor comments: It would be great if adding some descriptions to the fields to make its usage more clear. Maybe we need give this header file and structure a more generic name by using "OS" instead of "LINUX" so that bootloader could pass command line to Android and other OSes using same structure. With current definition it looks bootloader could only pass 1 command line to payload. I am not sure if there is a case that bootloader need pass multiple command line so that payload could pick up one of them for OS. +typedef struct { + UNIVERSAL_PAYLOAD_GENERIC_HEADER Header; + UINT32 Count; + CHAR8 CommandLine[0]; +} UNIVERSAL_PAYLOAD_LINUX_COMMAND_LINE; Thanks, Guo -----Original Message----- From: Tan, Dun <[email protected]> Sent: Thursday, April 21, 2022 8:51 PM To: [email protected] Cc: Ni, Ray <[email protected]>; Dong, Guo <[email protected]>; You, Benjamin <[email protected]>; Rhodes, Sean <[email protected]>; Liu, Zhiguang <[email protected]> Subject: [PATCH] UefiPayloadPkg: Add definition for LinuxCommandLine HOB Add definition for UNIVERSAL_PAYLOAD_LINUX_COMMAND_LINE Hob. This Hob is used to pass Linux Kernel command Line to Payload Signed-off-by: Dun Tan <[email protected]> Cc: Ray Ni <[email protected]> Cc: Guo Dong <[email protected]> Cc: Benjamin You <[email protected]> Cc: Sean Rhodes <[email protected]> Cc: Zhiguang Liu <[email protected]> Signed-off-by: Dun Tan <[email protected]> --- UefiPayloadPkg/Include/Guid/LinuxCommandLine.h | 28 ++++++++++++++++++++++++++++ UefiPayloadPkg/UefiPayloadPkg.dec | 1 + 2 files changed, 29 insertions(+) diff --git a/UefiPayloadPkg/Include/Guid/LinuxCommandLine.h b/UefiPayloadPkg/Include/Guid/LinuxCommandLine.h new file mode 100644 index 0000000000..0bb75238e7 --- /dev/null +++ b/UefiPayloadPkg/Include/Guid/LinuxCommandLine.h @@ -0,0 +1,28 @@ +/** @file + Define the structure for the Linux command line Hob. + +Copyright (c) 2022, Intel Corporation. All rights reserved.<BR> +SPDX-License-Identifier: BSD-2-Clause-Patent + +**/ + +#ifndef LINUX_COMMAND_LINE_GUID_H_ +#define LINUX_COMMAND_LINE_GUID_H_ + +#include <Uefi.h> +#include <UniversalPayload/UniversalPayload.h> + +#pragma pack (1) + +typedef struct { + UNIVERSAL_PAYLOAD_GENERIC_HEADER Header; + UINT32 Count; + CHAR8 CommandLine[0]; +} UNIVERSAL_PAYLOAD_LINUX_COMMAND_LINE; + +#pragma pack() + +#define UNIVERSAL_PAYLOAD_LINUX_COMMAND_LINE_REVISION 1 + +extern GUID gEdkiiLinuxCommandLineGuid; #endif diff --git a/UefiPayloadPkg/UefiPayloadPkg.dec b/UefiPayloadPkg/UefiPayloadPkg.dec index 5c1aeb8235..494ef94932 100644 --- a/UefiPayloadPkg/UefiPayloadPkg.dec +++ b/UefiPayloadPkg/UefiPayloadPkg.dec @@ -35,6 +35,7 @@ gUefiAcpiBoardInfoGuid = {0xad3d31b, 0xb3d8, 0x4506, {0xae, 0x71, 0x2e, 0xf1, 0x10, 0x6, 0xd9, 0xf}} gUefiSerialPortInfoGuid = { 0x6c6872fe, 0x56a9, 0x4403, { 0xbb, 0x98, 0x95, 0x8d, 0x62, 0xde, 0x87, 0xf1 } } gLoaderMemoryMapInfoGuid = { 0xa1ff7424, 0x7a1a, 0x478e, { 0xa9, 0xe4, 0x92, 0xf3, 0x57, 0xd1, 0x28, 0x32 } } + gEdkiiLinuxCommandLineGuid = {0xb5aeb34f, 0x3047, 0x4955, {0xb8, + 0x80, 0xad, 0xd3, 0x6d, 0x86, 0xdc, 0x0f}} # SMM variable support gNvVariableInfoGuid = { 0x7a345dca, 0xc26, 0x4f2a, { 0xa8, 0x9a, 0x57, 0xc0, 0x8d, 0xdd, 0x22, 0xee } } -- 2.31.1.windows.1 -=-=-=-=-=-=-=-=-=-=-=- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#89335): https://edk2.groups.io/g/devel/message/89335 Mute This Topic: https://groups.io/mt/90621302/21656 Group Owner: [email protected] Unsubscribe: https://edk2.groups.io/g/devel/unsub [[email protected]] -=-=-=-=-=-=-=-=-=-=-=-
