Mike, do the comments in this patch work for you? Would be nice to get this in prior to the 8/9 freeze if possible.

Thanks,

Jeff


From: Ard Biesheuvel <ardb@kernel.org>
Sent: Tuesday, July 27, 2021 10:48 AM
To: Jeff Brasen <jbrasen@nvidia.com>
Cc: edk2-devel-groups-io <devel@edk2.groups.io>; Ard Biesheuvel <ardb+tianocore@kernel.org>; Michael Kinney <michael.d.kinney@intel.com>; Jordan Justen <jordan.l.justen@intel.com>; Liming Gao (Byosoft address) <gaoliming@byosoft.com.cn>; Zhiguang Liu <zhiguang.liu@intel.com>
Subject: Re: [PATCH v2 1/1] MdePkg: add definition of LINUX_EFI_INITRD_MEDIA_GUID
 
External email: Use caution opening links or attachments


On Tue, 27 Jul 2021 at 18:45, Jeff Brasen <jbrasen@nvidia.com> wrote:
>
> Add LINUX_EFI_INITRD_MEDIA_GUID to our collection of GUID definitions,
> it can be used in a media device path to specify a Linux style initrd
> that can be loaded by the OS using the LoadFile2 protocol.
>
> Move these defines to MdePkg from OvmfPkg as these are relevant to
> non-OVMF targets as well.
>
> Ref: https://bugzilla.tianocore.org/show_bug.cgi?id=2564
> Signed-off-by: Jeff Brasen <jbrasen@nvidia.com>

Acked-by: Ard Biesheuvel <ardb@kernel.org>

> ---
>  MdePkg/MdePkg.dec                          |  5 ++++
>  OvmfPkg/OvmfPkg.dec                        |  1 -
>  MdePkg/Include/Guid/LinuxEfiInitrdMedia.h  | 31 ++++++++++++++++++++++
>  OvmfPkg/Include/Guid/LinuxEfiInitrdMedia.h | 17 ------------
>  4 files changed, 36 insertions(+), 18 deletions(-)
>  create mode 100644 MdePkg/Include/Guid/LinuxEfiInitrdMedia.h
>  delete mode 100644 OvmfPkg/Include/Guid/LinuxEfiInitrdMedia.h
>
> diff --git a/MdePkg/MdePkg.dec b/MdePkg/MdePkg.dec
> index c5319fdd71ca..a28a2daaffa8 100644
> --- a/MdePkg/MdePkg.dec
> +++ b/MdePkg/MdePkg.dec
> @@ -818,6 +818,11 @@ [Guids]
>    #
>    gTianoCustomDecompressGuid     = { 0xA31280AD, 0x481E, 0x41B6, { 0x95, 0xE8, 0x12, 0x7F, 0x4C, 0x98, 0x47, 0x79 }}
>
> +  #
> +  # GUID used to provide initrd to linux via LoadFile2 protocol
> +  #
> +  gLinuxEfiInitrdMediaGuid       = {0x5568e427, 0x68fc, 0x4f3d, {0xac, 0x74, 0xca, 0x55, 0x52, 0x31, 0xcc, 0x68}}
> +
>  [Guids.IA32, Guids.X64]
>    ## Include/Guid/Cper.h
>    gEfiIa32X64ErrorTypeCacheCheckGuid = { 0xA55701F5, 0xE3EF, 0x43de, { 0xAC, 0x72, 0x24, 0x9B, 0x57, 0x3F, 0xAD, 0x2C }}
> diff --git a/OvmfPkg/OvmfPkg.dec b/OvmfPkg/OvmfPkg.dec
> index 6ae733f6e39f..3153f5ae4540 100644
> --- a/OvmfPkg/OvmfPkg.dec
> +++ b/OvmfPkg/OvmfPkg.dec
> @@ -118,7 +118,6 @@ [Guids]
>    gMicrosoftVendorGuid                  = {0x77fa9abd, 0x0359, 0x4d32, {0xbd, 0x60, 0x28, 0xf4, 0xe7, 0x8f, 0x78, 0x4b}}
>    gEfiLegacyBiosGuid                    = {0x2E3044AC, 0x879F, 0x490F, {0x97, 0x60, 0xBB, 0xDF, 0xAF, 0x69, 0x5F, 0x50}}
>    gEfiLegacyDevOrderVariableGuid        = {0xa56074db, 0x65fe, 0x45f7, {0xbd, 0x21, 0x2d, 0x2b, 0xdd, 0x8e, 0x96, 0x52}}
> -  gLinuxEfiInitrdMediaGuid              = {0x5568e427, 0x68fc, 0x4f3d, {0xac, 0x74, 0xca, 0x55, 0x52, 0x31, 0xcc, 0x68}}
>    gQemuKernelLoaderFsMediaGuid          = {0x1428f772, 0xb64a, 0x441e, {0xb8, 0xc3, 0x9e, 0xbd, 0xd7, 0xf8, 0x93, 0xc7}}
>    gGrubFileGuid                         = {0xb5ae312c, 0xbc8a, 0x43b1, {0x9c, 0x62, 0xeb, 0xb8, 0x26, 0xdd, 0x5d, 0x07}}
>    gConfidentialComputingSecretGuid      = {0xadf956ad, 0xe98c, 0x484c, {0xae, 0x11, 0xb5, 0x1c, 0x7d, 0x33, 0x64, 0x47}}
> diff --git a/MdePkg/Include/Guid/LinuxEfiInitrdMedia.h b/MdePkg/Include/Guid/LinuxEfiInitrdMedia.h
> new file mode 100644
> index 000000000000..0e7db8bd8140
> --- /dev/null
> +++ b/MdePkg/Include/Guid/LinuxEfiInitrdMedia.h
> @@ -0,0 +1,31 @@
> +/** @file
> +  GUID definition for the Linux Initrd media device path
> +
> +  Linux distro boot generally relies on an initial ramdisk (initrd)
> +  which is provided by the loader, and which contains additional kernel
> +  modules (for storage and network, for instance), and the initial user
> +  space startup code, i.e., the code which brings up the user space side
> +  of the entire OS.
> +
> +  In order to provide a standard method to locate this file,
> +  the GUID defined in this file is used to describe the device path
> +  for a LoadFile2 Protocol instance that is responsible for loading the initrd file.
> +
> +  The kernel EFI Stub will locate and use this instance to load the initrd,
> +  therefore the firmware/loader should install an instance of this to load the
> +  relevant initrd.
> +
> +  Copyright (c) 2020, Arm, Ltd. All rights reserved.<BR>
> +
> +  SPDX-License-Identifier: BSD-2-Clause-Patent
> +**/
> +
> +#ifndef LINUX_EFI_INITRD_MEDIA_GUID_H__
> +#define LINUX_EFI_INITRD_MEDIA_GUID_H__
> +
> +#define LINUX_EFI_INITRD_MEDIA_GUID \
> +  {0x5568e427, 0x68fc, 0x4f3d, {0xac, 0x74, 0xca, 0x55, 0x52, 0x31, 0xcc, 0x68}}
> +
> +extern EFI_GUID gLinuxEfiInitrdMediaGuid;
> +
> +#endif
> diff --git a/OvmfPkg/Include/Guid/LinuxEfiInitrdMedia.h b/OvmfPkg/Include/Guid/LinuxEfiInitrdMedia.h
> deleted file mode 100644
> index 83fc3fc79aa6..000000000000
> --- a/OvmfPkg/Include/Guid/LinuxEfiInitrdMedia.h
> +++ /dev/null
> @@ -1,17 +0,0 @@
> -/** @file
> -  GUID definition for the Linux Initrd media device path
> -
> -  Copyright (c) 2020, Arm, Ltd. All rights reserved.<BR>
> -
> -  SPDX-License-Identifier: BSD-2-Clause-Patent
> -**/
> -
> -#ifndef LINUX_EFI_INITRD_MEDIA_GUID_H__
> -#define LINUX_EFI_INITRD_MEDIA_GUID_H__
> -
> -#define LINUX_EFI_INITRD_MEDIA_GUID \
> -  {0x5568e427, 0x68fc, 0x4f3d, {0xac, 0x74, 0xca, 0x55, 0x52, 0x31, 0xcc, 0x68}}
> -
> -extern EFI_GUID gLinuxEfiInitrdMediaGuid;
> -
> -#endif
> --
> 2.25.1
>