From 1dc875a7d5564c754fa1ddb33ac454325abb923d Mon Sep 17 00:00:00 2001 From: Ard Biesheuvel Date: Thu, 5 Mar 2020 11:59:57 +0100 Subject: OvmfPkg: create protocol and GUID header for loaded x86 Linux kernels In preparation of moving the legacy x86 loading to an implementation of the QEMU load image library class, introduce a protocol header and GUID that we will use to identify legacy loaded x86 Linux kernels in the protocol database. Signed-off-by: Ard Biesheuvel Reviewed-by: Laszlo Ersek --- .../Include/Protocol/OvmfLoadedX86LinuxKernel.h | 32 ++++++++++++++++++++++ 1 file changed, 32 insertions(+) create mode 100644 OvmfPkg/Include/Protocol/OvmfLoadedX86LinuxKernel.h (limited to 'OvmfPkg/Include/Protocol') diff --git a/OvmfPkg/Include/Protocol/OvmfLoadedX86LinuxKernel.h b/OvmfPkg/Include/Protocol/OvmfLoadedX86LinuxKernel.h new file mode 100644 index 0000000000..01cfd9d189 --- /dev/null +++ b/OvmfPkg/Include/Protocol/OvmfLoadedX86LinuxKernel.h @@ -0,0 +1,32 @@ +/** @file + Protocol/GUID definition to describe a x86 Linux kernel image loaded + into memory. + + Note that this protocol is considered internal ABI, and may be change + structure at any time without regard for backward compatibility. + + Copyright (c) 2020, Arm, Ltd. All rights reserved.
+ + SPDX-License-Identifier: BSD-2-Clause-Patent +**/ + +#ifndef OVMF_LOADED_X86_LINUX_KERNEL_H__ +#define OVMF_LOADED_X86_LINUX_KERNEL_H__ + +#define OVMF_LOADED_X86_LINUX_KERNEL_PROTOCOL_GUID \ + {0xa3edc05d, 0xb618, 0x4ff6, {0x95, 0x52, 0x76, 0xd7, 0x88, 0x63, 0x43, 0xc8}} + +typedef struct { + VOID *SetupBuf; + VOID *KernelBuf; + CHAR8 *CommandLine; + VOID *InitrdData; + UINTN SetupSize; + UINTN KernelInitialSize; + UINTN InitrdSize; + UINTN CommandLineSize; +} OVMF_LOADED_X86_LINUX_KERNEL; + +extern EFI_GUID gOvmfLoadedX86LinuxKernelProtocolGuid; + +#endif -- cgit v1.2.3