From nobody Mon Feb 9 01:06:26 2026 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of groups.io designates 66.175.222.108 as permitted sender) client-ip=66.175.222.108; envelope-from=bounce+27952+86982+1787277+3901457@groups.io; helo=mail02.groups.io; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of groups.io designates 66.175.222.108 as permitted sender) smtp.mailfrom=bounce+27952+86982+1787277+3901457@groups.io; dmarc=fail(p=none dis=none) header.from=intel.com ARC-Seal: i=1; a=rsa-sha256; t=1645712939; cv=none; d=zohomail.com; s=zohoarc; b=ktOTKUL9wrBYBHtWua8sgcjb4EXHRlnsz/IuUp1lglyuYR0RMPUvovXfGuixbitvhY2oIdGsr1UE+Wx/NVGws/seMoNSrQYFdvsiE4vik0aX/ZuY+RX8fjPlQQiSTSjLKVTvemC2ku20g1t59uFfPENpCCY4Kr75odC6El6KvBc= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1645712939; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Id:List-Help:List-Unsubscribe:MIME-Version:Message-ID:Reply-To:References:Sender:Subject:To; bh=24zuNQfAHgPQhARFRG8ObpCrAKsfflkGRAYGf1N+KLw=; b=ZOzTfdzyhZ6mpNZpFmHY/asEnON6qqSWVdyXgTPAN/dIduVPAbkhS232KnTrsxD++AjaG8bOve8P7NOvH44Ac4oA7nPuGA76wk8nk63Ry/0Rwo3Mh8iDe0NNoi20YSUHLT2V3MZ8PKTKkBXLCc+M+exRnHmyf+CV1xY151X7n2s= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of groups.io designates 66.175.222.108 as permitted sender) smtp.mailfrom=bounce+27952+86982+1787277+3901457@groups.io; dmarc=fail header.from= (p=none dis=none) Received: from mail02.groups.io (mail02.groups.io [66.175.222.108]) by mx.zohomail.com with SMTPS id 1645712939736398.69833267624483; Thu, 24 Feb 2022 06:28:59 -0800 (PST) Return-Path: X-Received: by 127.0.0.2 with SMTP id DZ9MYY1788612xKfmZG3bMTT; Thu, 24 Feb 2022 06:28:59 -0800 X-Received: from mga14.intel.com (mga14.intel.com [192.55.52.115]) by mx.groups.io with SMTP id smtpd.web08.10910.1645712926893824814 for ; Thu, 24 Feb 2022 06:28:58 -0800 X-IronPort-AV: E=McAfee;i="6200,9189,10267"; a="252437834" X-IronPort-AV: E=Sophos;i="5.90,134,1643702400"; d="scan'208";a="252437834" X-Received: from orsmga002.jf.intel.com ([10.7.209.21]) by fmsmga103.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 24 Feb 2022 06:28:58 -0800 X-IronPort-AV: E=Sophos;i="5.90,134,1643702400"; d="scan'208";a="506334992" X-Received: from kalebaul-mobl.ger.corp.intel.com (HELO sboeuf-mobl.home) ([10.252.24.105]) by orsmga002-auth.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 24 Feb 2022 06:28:56 -0800 From: "Boeuf, Sebastien" To: devel@edk2.groups.io Cc: jiewen.yao@intel.com, jordan.l.justen@intel.com, kraxel@redhat.com, sebastien.boeuf@intel.com Subject: [edk2-devel] [PATCH v3 5/7] OvmfPkg: CloudHv: Retrieve RSDP address from PVH Date: Thu, 24 Feb 2022 15:28:24 +0100 Message-Id: <7d32a64ff20b6e3024e331e1aed64e4abf76654f.1645712595.git.sebastien.boeuf@intel.com> In-Reply-To: References: MIME-Version: 1.0 Precedence: Bulk List-Unsubscribe: List-Subscribe: List-Help: 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,sebastien.boeuf@intel.com X-Gm-Message-State: fE84QgWtked18bg9sJOVpqalx1787277AA= Content-Transfer-Encoding: quoted-printable DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=groups.io; q=dns/txt; s=20140610; t=1645712939; bh=6jsR5xP3ZqfJN41rgeNW0v5BGb5A3iKHseNaNAQrH2Y=; h=Cc:Content-Type:Date:From:Reply-To:Subject:To; b=uIVuhlPbH/Q5dPJ5jpoLfHJ63y+MIk2pHYOfm7GF9abP2yQm43Zpn/ft8cNfoAEPNtl j9G4K1ItdVKOX8QdolUjanaYZZJANfUkkxYjeHA13e6bh70kaa53f7Sh8wVWU9ze3oMCV zz0dapD03U6wmNbaZzm6OXHjUWenSA6N5Hc= X-ZohoMail-DKIM: pass (identity @groups.io) X-ZM-MESSAGEID: 1645712941201100002 Content-Type: text/plain; charset="utf-8" From: Sebastien Boeuf Instead of hardcoding the address of the RSDP in the firmware, let's rely on the PVH structure hvm_start_info to retrieve this information. Signed-off-by: Sebastien Boeuf Acked-by: Gerd Hoffmann --- OvmfPkg/AcpiPlatformDxe/AcpiPlatformDxe.inf | 2 ++ OvmfPkg/AcpiPlatformDxe/CloudHvAcpi.c | 39 ++++++++++++++------- OvmfPkg/CloudHv/CloudHvX64.fdf | 3 ++ OvmfPkg/Include/IndustryStandard/CloudHv.h | 5 --- 4 files changed, 32 insertions(+), 17 deletions(-) diff --git a/OvmfPkg/AcpiPlatformDxe/AcpiPlatformDxe.inf b/OvmfPkg/AcpiPlat= formDxe/AcpiPlatformDxe.inf index b36b8413e0..f22bd7cb6d 100644 --- a/OvmfPkg/AcpiPlatformDxe/AcpiPlatformDxe.inf +++ b/OvmfPkg/AcpiPlatformDxe/AcpiPlatformDxe.inf @@ -56,6 +56,8 @@ [Pcd] gEfiMdeModulePkgTokenSpaceGuid.PcdPciDisableBusEnumeration gUefiOvmfPkgTokenSpaceGuid.PcdOvmfHostBridgePciDevId + gUefiOvmfPkgTokenSpaceGuid.PcdXenPvhStartOfDayStructPtr + gUefiOvmfPkgTokenSpaceGuid.PcdXenPvhStartOfDayStructPtrSize =20 [Depex] gEfiAcpiTableProtocolGuid diff --git a/OvmfPkg/AcpiPlatformDxe/CloudHvAcpi.c b/OvmfPkg/AcpiPlatformDx= e/CloudHvAcpi.c index 44a6bb70fe..ff59600d3e 100644 --- a/OvmfPkg/AcpiPlatformDxe/CloudHvAcpi.c +++ b/OvmfPkg/AcpiPlatformDxe/CloudHvAcpi.c @@ -7,9 +7,11 @@ =20 **/ =20 -#include // CLOUDHV_RSDP_ADDRESS -#include // CpuDeadLoop() -#include // DEBUG() +#include // CLOUDHV_RSDP_= ADDRESS +#include // hvm_start_info +#include // CpuDeadLoop() +#include // DEBUG() +#include // PcdGet32() =20 #include "AcpiPlatform.h" =20 @@ -23,20 +25,33 @@ InstallCloudHvTables ( EFI_STATUS Status; UINTN TableHandle; =20 - EFI_ACPI_DESCRIPTION_HEADER *Xsdt; - VOID *CurrentTableEntry; - UINTN CurrentTablePointer; - EFI_ACPI_DESCRIPTION_HEADER *CurrentTable; - UINTN Index; - UINTN NumberOfTableEntries; - EFI_ACPI_2_0_FIXED_ACPI_DESCRIPTION_TABLE *Fadt2Table; - EFI_ACPI_DESCRIPTION_HEADER *DsdtTable; + EFI_ACPI_DESCRIPTION_HEADER *Xsdt; + VOID *CurrentTableEntry; + UINTN CurrentTablePointer; + EFI_ACPI_DESCRIPTION_HEADER *CurrentTable; + UINTN Index; + UINTN NumberOfTableEntries; + EFI_ACPI_2_0_FIXED_ACPI_DESCRIPTION_TABLE *Fadt2Table; + EFI_ACPI_DESCRIPTION_HEADER *DsdtTable; + EFI_ACPI_2_0_ROOT_SYSTEM_DESCRIPTION_POINTER *AcpiRsdpStructurePtr; + UINT32 *PVHResetVectorData; + struct hvm_start_info *pvh_start_info; =20 Fadt2Table =3D NULL; DsdtTable =3D NULL; TableHandle =3D 0; NumberOfTableEntries =3D 0; - EFI_ACPI_2_0_ROOT_SYSTEM_DESCRIPTION_POINTER *AcpiRsdpStructurePtr =3D = (VOID *)CLOUDHV_RSDP_ADDRESS; + AcpiRsdpStructurePtr =3D NULL; + PVHResetVectorData =3D NULL; + pvh_start_info =3D NULL; + + PVHResetVectorData =3D (VOID *)(UINTN)PcdGet32 (PcdXenPvhStartOfDayStruc= tPtr); + if (PVHResetVectorData =3D=3D 0) { + return EFI_NOT_FOUND; + } + + pvh_start_info =3D (struct hvm_start_info *)(UINTN)PVHResetVectorD= ata[0]; + AcpiRsdpStructurePtr =3D (EFI_ACPI_2_0_ROOT_SYSTEM_DESCRIPTION_POINTER *= )(UINTN)pvh_start_info->rsdp_paddr; =20 // If XSDT table is found, just install its tables. // Otherwise, try to find and install the RSDT tables. diff --git a/OvmfPkg/CloudHv/CloudHvX64.fdf b/OvmfPkg/CloudHv/CloudHvX64.fdf index 1056c0bd46..8d135f4bcb 100644 --- a/OvmfPkg/CloudHv/CloudHvX64.fdf +++ b/OvmfPkg/CloudHv/CloudHvX64.fdf @@ -135,6 +135,9 @@ gUefiOvmfPkgTokenSpaceGuid.PcdOvmfSnpSecretsBase|gUefiO= vmfPkgTokenSpaceGuid.PcdO 0x00E000|0x001000 gUefiOvmfPkgTokenSpaceGuid.PcdOvmfCpuidBase|gUefiOvmfPkgTokenSpaceGuid.Pcd= OvmfCpuidSize =20 +0x00F000|0x001000 +gUefiOvmfPkgTokenSpaceGuid.PcdXenPvhStartOfDayStructPtr|gUefiOvmfPkgTokenS= paceGuid.PcdXenPvhStartOfDayStructPtrSize + 0x010000|0x010000 gUefiOvmfPkgTokenSpaceGuid.PcdOvmfSecPeiTempRamBase|gUefiOvmfPkgTokenSpace= Guid.PcdOvmfSecPeiTempRamSize =20 diff --git a/OvmfPkg/Include/IndustryStandard/CloudHv.h b/OvmfPkg/Include/I= ndustryStandard/CloudHv.h index 86404cc97e..d31ecc9eec 100644 --- a/OvmfPkg/Include/IndustryStandard/CloudHv.h +++ b/OvmfPkg/Include/IndustryStandard/CloudHv.h @@ -38,9 +38,4 @@ // #define CLOUDHV_SMBIOS_ADDRESS 0xf0000 =20 -// -// RSDP address -// -#define CLOUDHV_RSDP_ADDRESS 0xa0000 - #endif // __CLOUDHV_H__ --=20 2.32.0 --------------------------------------------------------------------- Intel Corporation SAS (French simplified joint stock company) Registered headquarters: "Les Montalets"- 2, rue de Paris,=20 92196 Meudon Cedex, France Registration Number: 302 456 199 R.C.S. NANTERRE Capital: 4,572,000 Euros This e-mail and any attachments may contain confidential material for the sole use of the intended recipient(s). Any review or distribution by others is strictly prohibited. If you are not the intended recipient, please contact the sender and delete all copies. -=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 (#86982): https://edk2.groups.io/g/devel/message/86982 Mute This Topic: https://groups.io/mt/89365712/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-