summaryrefslogtreecommitdiffstats
path: root/MdePkg
diff options
context:
space:
mode:
authorJeff Brasen <jbrasen@nvidia.com>2021-08-04 16:03:19 -0600
committermergify[bot] <37929162+mergify[bot]@users.noreply.github.com>2021-08-05 21:35:47 +0000
commit0856cdc89e03a42e0e5496e4aeab217b6733a144 (patch)
tree1a3ddf701ba0ea7bffd0b77abcdfdb30860e56c3 /MdePkg
parent9abc60f9f722d891b3cedb0205fd6c9c0e2af54b (diff)
downloadedk2-0856cdc89e03a42e0e5496e4aeab217b6733a144.tar.gz
edk2-0856cdc89e03a42e0e5496e4aeab217b6733a144.tar.bz2
edk2-0856cdc89e03a42e0e5496e4aeab217b6733a144.zip
MdePkg: add definition of LINUX_EFI_INITRD_MEDIA_GUID
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> Reviewed-by: Michael D Kinney <michael.d.kinney@intel.com> Acked-by: Ard Biesheuvel <ardb@kernel.org>
Diffstat (limited to 'MdePkg')
-rw-r--r--MdePkg/Include/Guid/LinuxEfiInitrdMedia.h30
-rw-r--r--MdePkg/MdePkg.dec5
2 files changed, 35 insertions, 0 deletions
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.<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/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 }}