[edk2-devel] [PATCH v3 2/2] MdePkg: add definition of LINUX_EFI_INITRD_MEDIA_GUID

Jeff Brasen via groups.io jbrasen=nvidia.com at groups.io
Wed Aug 4 22:03:19 UTC 2021


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 at nvidia.com>
Reviewed-by: Michael D Kinney <michael.d.kinney at intel.com>
Acked-by: Ard Biesheuvel <mailto:ardb at 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/1813853
Group Owner: devel+owner at edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub [edk2-devel-archive at redhat.com]
-=-=-=-=-=-=-=-=-=-=-=-






More information about the edk2-devel-archive mailing list