]> git.proxmox.com Git - mirror_edk2.git/blobdiff - OvmfPkg/Include/Protocol/OvmfLoadedX86LinuxKernel.h
OvmfPkg: create protocol and GUID header for loaded x86 Linux kernels
[mirror_edk2.git] / OvmfPkg / Include / Protocol / OvmfLoadedX86LinuxKernel.h
diff --git a/OvmfPkg/Include/Protocol/OvmfLoadedX86LinuxKernel.h b/OvmfPkg/Include/Protocol/OvmfLoadedX86LinuxKernel.h
new file mode 100644 (file)
index 0000000..01cfd9d
--- /dev/null
@@ -0,0 +1,32 @@
+/** @file\r
+  Protocol/GUID definition to describe a x86 Linux kernel image loaded\r
+  into memory.\r
+\r
+  Note that this protocol is considered internal ABI, and may be change\r
+  structure at any time without regard for backward compatibility.\r
+\r
+  Copyright (c) 2020, Arm, Ltd. All rights reserved.<BR>\r
+\r
+  SPDX-License-Identifier: BSD-2-Clause-Patent\r
+**/\r
+\r
+#ifndef OVMF_LOADED_X86_LINUX_KERNEL_H__\r
+#define OVMF_LOADED_X86_LINUX_KERNEL_H__\r
+\r
+#define OVMF_LOADED_X86_LINUX_KERNEL_PROTOCOL_GUID \\r
+  {0xa3edc05d, 0xb618, 0x4ff6, {0x95, 0x52, 0x76, 0xd7, 0x88, 0x63, 0x43, 0xc8}}\r
+\r
+typedef struct {\r
+  VOID    *SetupBuf;\r
+  VOID    *KernelBuf;\r
+  CHAR8   *CommandLine;\r
+  VOID    *InitrdData;\r
+  UINTN   SetupSize;\r
+  UINTN   KernelInitialSize;\r
+  UINTN   InitrdSize;\r
+  UINTN   CommandLineSize;\r
+} OVMF_LOADED_X86_LINUX_KERNEL;\r
+\r
+extern EFI_GUID gOvmfLoadedX86LinuxKernelProtocolGuid;\r
+\r
+#endif\r