--- /dev/null
+/** @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