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 <jbra...@nvidia.com> Reviewed-by: Michael D Kinney <michael.d.kin...@intel.com> Acked-by: Ard Biesheuvel <mailto:a...@kernel.org> --- MdePkg/MdePkg.dec | 5 ++++ MdePkg/Include/Guid/LinuxEfiInitrdMedia.h | 31 +++++++++++++++++++++++ 2 files changed, 36 insertions(+) create mode 100644 MdePkg/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/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 -- 2.25.1 -=-=-=-=-=-=-=-=-=-=-=- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#78685): https://edk2.groups.io/g/devel/message/78685 Mute This Topic: https://groups.io/mt/84672930/21656 Group Owner: devel+ow...@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-