From nobody Tue Feb 10 01:34:36 2026 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of groups.io designates 66.175.222.12 as permitted sender) client-ip=66.175.222.12; envelope-from=bounce+27952+55532+1787277+3901457@groups.io; helo=web01.groups.io; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of groups.io designates 66.175.222.12 as permitted sender) smtp.mailfrom=bounce+27952+55532+1787277+3901457@groups.io; dmarc=fail(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1583415985; cv=none; d=zohomail.com; s=zohoarc; b=X1kzM4DiUr7ZXHLEKTpchD1dfQWEh3RsXJr1eggAzySdNr2BWW2jeUOSfcmiG/CKnGTVnWsLtxNTiePYkBBKn7XiMxMp9cTD1D6assfomFjnE7Kh4pB170ktZhzq4g1vziCMzTuBsxgmS9OpOPIBAYeCPn3wZX8Ert/KRMG/p7M= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1583415985; h=Cc:Date:From:In-Reply-To:List-Id:List-Unsubscribe:Message-ID:Reply-To:References:Sender:Subject:To; bh=U1qubNTSH6b7lX9BuDUVymOMKhtKAfhKWJH7oYcDmTo=; b=PEfjY5ZAYz/epAEqZ7ONxEdxt03lXrH5ll7HshHLTgy7sbrYZmFhp5Vxsc0WC8A979GQdV+gjdx0UDXIoBxuxTr4uGgRtZdysJtSG0v22C9TN9GVDM14M0eLyJfLAZFNiQv3GEyiH2DZooJ44EUUDUFlnODjXn5Snf7zX0j392E= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of groups.io designates 66.175.222.12 as permitted sender) smtp.mailfrom=bounce+27952+55532+1787277+3901457@groups.io; dmarc=fail header.from= (p=none dis=none) header.from= Received: from web01.groups.io (web01.groups.io [66.175.222.12]) by mx.zohomail.com with SMTPS id 1583415985106370.4618606917485; Thu, 5 Mar 2020 05:46:25 -0800 (PST) Return-Path: X-Received: by 127.0.0.2 with SMTP id HpnbYY1788612xvBlBLdXjqU; Thu, 05 Mar 2020 05:46:24 -0800 X-Received: from mail-wm1-f67.google.com (mail-wm1-f67.google.com [209.85.128.67]) by mx.groups.io with SMTP id smtpd.web12.12585.1583415983816780287 for ; Thu, 05 Mar 2020 05:46:24 -0800 X-Received: by mail-wm1-f67.google.com with SMTP id a5so6387959wmb.0 for ; Thu, 05 Mar 2020 05:46:23 -0800 (PST) X-Gm-Message-State: RnEIiFF2WVBWSeLwF7Y04UzMx1787277AA= X-Google-Smtp-Source: ADFU+vtmnHowMni1GXkAFkkFp5u8y+joIAm2gm7BnrovRvAWpDZKtq5bOCFVrqDzQYduX1HDyCZ0NQ== X-Received: by 2002:a7b:cb42:: with SMTP id v2mr9957683wmj.170.1583415981735; Thu, 05 Mar 2020 05:46:21 -0800 (PST) X-Received: from e123331-lin.home ([2a01:cb1d:112:6f00:816e:ff0d:fb69:f613]) by smtp.gmail.com with ESMTPSA id m19sm9278701wmc.34.2020.03.05.05.46.20 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 05 Mar 2020 05:46:20 -0800 (PST) From: "Ard Biesheuvel" To: devel@edk2.groups.io Cc: lersek@redhat.com, Ard Biesheuvel Subject: [edk2-devel] [PATCH v3 09/14] OvmfPkg: create protocol and GUID header for loaded x86 Linux kernels Date: Thu, 5 Mar 2020 14:46:02 +0100 Message-Id: <20200305134607.20125-10-ard.biesheuvel@linaro.org> In-Reply-To: <20200305134607.20125-1-ard.biesheuvel@linaro.org> References: <20200305134607.20125-1-ard.biesheuvel@linaro.org> Precedence: Bulk List-Unsubscribe: Sender: devel@edk2.groups.io List-Id: Mailing-List: list devel@edk2.groups.io; contact devel+owner@edk2.groups.io Reply-To: devel@edk2.groups.io,ard.biesheuvel@linaro.org DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=groups.io; q=dns/txt; s=20140610; t=1583415984; bh=uITtKMCV44MVn0DNgCbZ+tm8m8BWqe9XVZafdP0uIzU=; h=Cc:Date:From:Reply-To:Subject:To; b=LcSdb21qKvvg+rOGnK5edhoti0wuCfxyIH0Ta+HQYlagbOr+0Sijhty6Kjel/8Xf8bd wYHervO4GjYlinDN5cuDEiY+6kBdBhJt7joXQshf4oBIR6K+zfGIF3f44YvNHM6lYnnT2 P9mJY3k0jNfdMyvtyGG5UPyLe49T8/6V4WM= X-ZohoMail-DKIM: pass (identity @groups.io) Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" 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 --- OvmfPkg/Include/Protocol/OvmfLoadedX86LinuxKernel.h | 32 ++++++++++++ OvmfPkg/OvmfPkg.dec | 53 ++++++++++-------= --- 2 files changed, 59 insertions(+), 26 deletions(-) diff --git a/OvmfPkg/Include/Protocol/OvmfLoadedX86LinuxKernel.h b/OvmfPkg/= Include/Protocol/OvmfLoadedX86LinuxKernel.h new file mode 100644 index 000000000000..01cfd9d189b4 --- /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 diff --git a/OvmfPkg/OvmfPkg.dec b/OvmfPkg/OvmfPkg.dec index 055caaa43041..913345d49e1f 100644 --- a/OvmfPkg/OvmfPkg.dec +++ b/OvmfPkg/OvmfPkg.dec @@ -80,38 +80,39 @@ [LibraryClasses] XenPlatformLib|Include/Library/XenPlatformLib.h =20 [Guids] - gUefiOvmfPkgTokenSpaceGuid =3D {0x93bb96af, 0xb9f2, 0x4eb8, {0x= 94, 0x62, 0xe0, 0xba, 0x74, 0x56, 0x42, 0x36}} - gEfiXenInfoGuid =3D {0xd3b46f3b, 0xd441, 0x1244, {0x= 9a, 0x12, 0x0, 0x12, 0x27, 0x3f, 0xc1, 0x4d}} - gOvmfPkKek1AppPrefixGuid =3D {0x4e32566d, 0x8e9e, 0x4f52, {0x= 81, 0xd3, 0x5b, 0xb9, 0x71, 0x5f, 0x97, 0x27}} - gOvmfPlatformConfigGuid =3D {0x7235c51c, 0x0c80, 0x4cab, {0x= 87, 0xac, 0x3b, 0x08, 0x4a, 0x63, 0x04, 0xb1}} - gVirtioMmioTransportGuid =3D {0x837dca9e, 0xe874, 0x4d82, {0x= b2, 0x9a, 0x23, 0xfe, 0x0e, 0x23, 0xd1, 0xe2}} - gQemuRamfbGuid =3D {0x557423a1, 0x63ab, 0x406c, {0x= be, 0x7e, 0x91, 0xcd, 0xbc, 0x08, 0xc4, 0x57}} - gXenBusRootDeviceGuid =3D {0xa732241f, 0x383d, 0x4d9c, {0x= 8a, 0xe1, 0x8e, 0x09, 0x83, 0x75, 0x89, 0xd7}} - gRootBridgesConnectedEventGroupGuid =3D {0x24a2d66f, 0xeedd, 0x4086, {0x= 90, 0x42, 0xf2, 0x6e, 0x47, 0x97, 0xee, 0x69}} - gMicrosoftVendorGuid =3D {0x77fa9abd, 0x0359, 0x4d32, {0x= bd, 0x60, 0x28, 0xf4, 0xe7, 0x8f, 0x78, 0x4b}} - gEfiLegacyBiosGuid =3D {0x2E3044AC, 0x879F, 0x490F, {0x= 97, 0x60, 0xBB, 0xDF, 0xAF, 0x69, 0x5F, 0x50}} - gEfiLegacyDevOrderVariableGuid =3D {0xa56074db, 0x65fe, 0x45f7, {0x= bd, 0x21, 0x2d, 0x2b, 0xdd, 0x8e, 0x96, 0x52}} - gLinuxEfiInitrdMediaGuid =3D {0x5568e427, 0x68fc, 0x4f3d, {0x= ac, 0x74, 0xca, 0x55, 0x52, 0x31, 0xcc, 0x68}} - gQemuKernelLoaderFsMediaGuid =3D {0x1428f772, 0xb64a, 0x441e, {0x= b8, 0xc3, 0x9e, 0xbd, 0xd7, 0xf8, 0x93, 0xc7}} + gUefiOvmfPkgTokenSpaceGuid =3D {0x93bb96af, 0xb9f2, 0x4eb8, {= 0x94, 0x62, 0xe0, 0xba, 0x74, 0x56, 0x42, 0x36}} + gEfiXenInfoGuid =3D {0xd3b46f3b, 0xd441, 0x1244, {= 0x9a, 0x12, 0x0, 0x12, 0x27, 0x3f, 0xc1, 0x4d}} + gOvmfPkKek1AppPrefixGuid =3D {0x4e32566d, 0x8e9e, 0x4f52, {= 0x81, 0xd3, 0x5b, 0xb9, 0x71, 0x5f, 0x97, 0x27}} + gOvmfPlatformConfigGuid =3D {0x7235c51c, 0x0c80, 0x4cab, {= 0x87, 0xac, 0x3b, 0x08, 0x4a, 0x63, 0x04, 0xb1}} + gVirtioMmioTransportGuid =3D {0x837dca9e, 0xe874, 0x4d82, {= 0xb2, 0x9a, 0x23, 0xfe, 0x0e, 0x23, 0xd1, 0xe2}} + gQemuRamfbGuid =3D {0x557423a1, 0x63ab, 0x406c, {= 0xbe, 0x7e, 0x91, 0xcd, 0xbc, 0x08, 0xc4, 0x57}} + gXenBusRootDeviceGuid =3D {0xa732241f, 0x383d, 0x4d9c, {= 0x8a, 0xe1, 0x8e, 0x09, 0x83, 0x75, 0x89, 0xd7}} + gRootBridgesConnectedEventGroupGuid =3D {0x24a2d66f, 0xeedd, 0x4086, {= 0x90, 0x42, 0xf2, 0x6e, 0x47, 0x97, 0xee, 0x69}} + gMicrosoftVendorGuid =3D {0x77fa9abd, 0x0359, 0x4d32, {= 0xbd, 0x60, 0x28, 0xf4, 0xe7, 0x8f, 0x78, 0x4b}} + gEfiLegacyBiosGuid =3D {0x2E3044AC, 0x879F, 0x490F, {= 0x97, 0x60, 0xBB, 0xDF, 0xAF, 0x69, 0x5F, 0x50}} + gEfiLegacyDevOrderVariableGuid =3D {0xa56074db, 0x65fe, 0x45f7, {= 0xbd, 0x21, 0x2d, 0x2b, 0xdd, 0x8e, 0x96, 0x52}} + gLinuxEfiInitrdMediaGuid =3D {0x5568e427, 0x68fc, 0x4f3d, {= 0xac, 0x74, 0xca, 0x55, 0x52, 0x31, 0xcc, 0x68}} + gQemuKernelLoaderFsMediaGuid =3D {0x1428f772, 0xb64a, 0x441e, {= 0xb8, 0xc3, 0x9e, 0xbd, 0xd7, 0xf8, 0x93, 0xc7}} =20 [Ppis] # PPI whose presence in the PPI database signals that the TPM base addre= ss # has been discovered and recorded - gOvmfTpmDiscoveredPpiGuid =3D {0xb9a61ad0, 0x2802, 0x41f3, {0x= b5, 0x13, 0x96, 0x51, 0xce, 0x6b, 0xd5, 0x75}} + gOvmfTpmDiscoveredPpiGuid =3D {0xb9a61ad0, 0x2802, 0x41f3, {= 0xb5, 0x13, 0x96, 0x51, 0xce, 0x6b, 0xd5, 0x75}} =20 [Protocols] - gVirtioDeviceProtocolGuid =3D {0xfa920010, 0x6785, 0x4941, {0x= b6, 0xec, 0x49, 0x8c, 0x57, 0x9f, 0x16, 0x0a}} - gXenBusProtocolGuid =3D {0x3d3ca290, 0xb9a5, 0x11e3, {0x= b7, 0x5d, 0xb8, 0xac, 0x6f, 0x7d, 0x65, 0xe6}} - gXenIoProtocolGuid =3D {0x6efac84f, 0x0ab0, 0x4747, {0x= 81, 0xbe, 0x85, 0x55, 0x62, 0x59, 0x04, 0x49}} - gIoMmuAbsentProtocolGuid =3D {0xf8775d50, 0x8abd, 0x4adf, {0x= 92, 0xac, 0x85, 0x3e, 0x51, 0xf6, 0xc8, 0xdc}} - gEfiLegacy8259ProtocolGuid =3D {0x38321dba, 0x4fe0, 0x4e17, {0x= 8a, 0xec, 0x41, 0x30, 0x55, 0xea, 0xed, 0xc1}} - gEfiFirmwareVolumeProtocolGuid =3D {0x389F751F, 0x1838, 0x4388, {0x= 83, 0x90, 0xcd, 0x81, 0x54, 0xbd, 0x27, 0xf8}} - gEfiIsaAcpiProtocolGuid =3D {0x64a892dc, 0x5561, 0x4536, {0x= 92, 0xc7, 0x79, 0x9b, 0xfc, 0x18, 0x33, 0x55}} - gEfiIsaIoProtocolGuid =3D {0x7ee2bd44, 0x3da0, 0x11d4, {0x= 9a, 0x38, 0x0, 0x90, 0x27, 0x3f, 0xc1, 0x4d}} - gEfiLegacyBiosProtocolGuid =3D {0xdb9a1e3d, 0x45cb, 0x4abb, {0x= 85, 0x3b, 0xe5, 0x38, 0x7f, 0xdb, 0x2e, 0x2d}} - gEfiLegacyBiosPlatformProtocolGuid =3D {0x783658a3, 0x4172, 0x4421, {0x= a2, 0x99, 0xe0, 0x09, 0x07, 0x9c, 0x0c, 0xb4}} - gEfiLegacyInterruptProtocolGuid =3D {0x31ce593d, 0x108a, 0x485d, {0x= ad, 0xb2, 0x78, 0xf2, 0x1f, 0x29, 0x66, 0xbe}} - gEfiVgaMiniPortProtocolGuid =3D {0xc7735a2f, 0x88f5, 0x4882, {0x= ae, 0x63, 0xfa, 0xac, 0x8c, 0x8b, 0x86, 0xb3}} + gVirtioDeviceProtocolGuid =3D {0xfa920010, 0x6785, 0x4941, {= 0xb6, 0xec, 0x49, 0x8c, 0x57, 0x9f, 0x16, 0x0a}} + gXenBusProtocolGuid =3D {0x3d3ca290, 0xb9a5, 0x11e3, {= 0xb7, 0x5d, 0xb8, 0xac, 0x6f, 0x7d, 0x65, 0xe6}} + gXenIoProtocolGuid =3D {0x6efac84f, 0x0ab0, 0x4747, {= 0x81, 0xbe, 0x85, 0x55, 0x62, 0x59, 0x04, 0x49}} + gIoMmuAbsentProtocolGuid =3D {0xf8775d50, 0x8abd, 0x4adf, {= 0x92, 0xac, 0x85, 0x3e, 0x51, 0xf6, 0xc8, 0xdc}} + gEfiLegacy8259ProtocolGuid =3D {0x38321dba, 0x4fe0, 0x4e17, {= 0x8a, 0xec, 0x41, 0x30, 0x55, 0xea, 0xed, 0xc1}} + gEfiFirmwareVolumeProtocolGuid =3D {0x389F751F, 0x1838, 0x4388, {= 0x83, 0x90, 0xcd, 0x81, 0x54, 0xbd, 0x27, 0xf8}} + gEfiIsaAcpiProtocolGuid =3D {0x64a892dc, 0x5561, 0x4536, {= 0x92, 0xc7, 0x79, 0x9b, 0xfc, 0x18, 0x33, 0x55}} + gEfiIsaIoProtocolGuid =3D {0x7ee2bd44, 0x3da0, 0x11d4, {= 0x9a, 0x38, 0x0, 0x90, 0x27, 0x3f, 0xc1, 0x4d}} + gEfiLegacyBiosProtocolGuid =3D {0xdb9a1e3d, 0x45cb, 0x4abb, {= 0x85, 0x3b, 0xe5, 0x38, 0x7f, 0xdb, 0x2e, 0x2d}} + gEfiLegacyBiosPlatformProtocolGuid =3D {0x783658a3, 0x4172, 0x4421, {= 0xa2, 0x99, 0xe0, 0x09, 0x07, 0x9c, 0x0c, 0xb4}} + gEfiLegacyInterruptProtocolGuid =3D {0x31ce593d, 0x108a, 0x485d, {= 0xad, 0xb2, 0x78, 0xf2, 0x1f, 0x29, 0x66, 0xbe}} + gEfiVgaMiniPortProtocolGuid =3D {0xc7735a2f, 0x88f5, 0x4882, {= 0xae, 0x63, 0xfa, 0xac, 0x8c, 0x8b, 0x86, 0xb3}} + gOvmfLoadedX86LinuxKernelProtocolGuid =3D {0xa3edc05d, 0xb618, 0x4ff6, {= 0x95, 0x52, 0x76, 0xd7, 0x88, 0x63, 0x43, 0xc8}} =20 [PcdsFixedAtBuild] gUefiOvmfPkgTokenSpaceGuid.PcdOvmfPeiMemFvBase|0x0|UINT32|0 --=20 2.17.1 -=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#55532): https://edk2.groups.io/g/devel/message/55532 Mute This Topic: https://groups.io/mt/71749524/1787277 Group Owner: devel+owner@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [importer@patchew.org] -=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-