diff --git a/MdePkg/Include/Guid/LinuxEfiInitrdMedia.h b/MdePkg/Include/Guid/LinuxEfiInitrdMedia.h new file mode 100644 index 0000000000..d436a7533c --- /dev/null +++ b/MdePkg/Include/Guid/LinuxEfiInitrdMedia.h @@ -0,0 +1,30 @@ +/** @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 initrd, 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.
+ + 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/MdePkg/MdePkg.dec b/MdePkg/MdePkg.dec index c5319fdd71..a28a2daaff 100644 --- a/MdePkg/MdePkg.dec +++ b/MdePkg/MdePkg.dec @@ -818,6 +818,11 @@ # 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 }}