From nobody Fri Sep 20 16:44:08 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zoho.com: domain of groups.io designates 66.175.222.12 as permitted sender) smtp.mailfrom=bounce+27952+43291+1787277+3901457@groups.io ARC-Seal: i=1; a=rsa-sha256; t=1562252269; cv=none; d=zoho.com; s=zohoarc; b=JNbgHXsdXc7LVbKWJFveGb6O8GZgirpy6F9WRAzjKnOYvgb/UiJM1iS62wTZVgtcE5gSvOXprSHgY/pXIGrWimeFzAhBnK8YJDn3PUVciyjCqZ4Xjq3zIUf3qILZ3g1masR8tTdjm/Sx0KaW7OkmSCrw7hM4hCN1Jxs9Zn+yrSk= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zoho.com; s=zohoarc; t=1562252269; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Id:List-Unsubscribe:MIME-Version:Message-ID:Reply-To:References:Sender:Subject:To:ARC-Authentication-Results; bh=LCF0OoJhewZBlIOeiaeB4wwqYIao3RJ9NTxniqdJXDw=; b=mmgilJ9KJ/zhQahX5yHSHdRizrqiOek7wOmet1nWypy4jRcRTCw3tdGdDckGFrC14KacpGAVYjbgHx1F8aGayWUjMNXX6ADYepdI/jl8zqySWXP6GXXcFurGhhOwq8bHJ+W/3LyI6JYl4b4BIH+BtGkZIbTd3hzT0sQT5z4ekUo= ARC-Authentication-Results: i=1; mx.zoho.com; dkim=pass; spf=pass (zoho.com: domain of groups.io designates 66.175.222.12 as permitted sender) smtp.mailfrom=bounce+27952+43291+1787277+3901457@groups.io Received: from web01.groups.io (web01.groups.io [66.175.222.12]) by mx.zohomail.com with SMTPS id 1562252269000810.4493222905945; Thu, 4 Jul 2019 07:57:49 -0700 (PDT) Return-Path: X-Received: from esa1.hc3370-68.iphmx.com (esa1.hc3370-68.iphmx.com [216.71.145.142]) by groups.io with SMTP; Thu, 04 Jul 2019 07:57:48 -0700 Received-SPF: pass (zoho.com: domain of groups.io designates 66.175.222.12 as permitted sender) client-ip=66.175.222.12; envelope-from=bounce+27952+43291+1787277+3901457@groups.io; helo=web01.groups.io; Received-SPF: None (esa1.hc3370-68.iphmx.com: no sender authenticity information available from domain of anthony.perard@citrix.com) identity=pra; client-ip=162.221.158.21; receiver=esa1.hc3370-68.iphmx.com; envelope-from="anthony.perard@citrix.com"; x-sender="anthony.perard@citrix.com"; x-conformance=sidf_compatible Received-SPF: Pass (esa1.hc3370-68.iphmx.com: domain of anthony.perard@citrix.com designates 162.221.158.21 as permitted sender) identity=mailfrom; client-ip=162.221.158.21; receiver=esa1.hc3370-68.iphmx.com; envelope-from="anthony.perard@citrix.com"; x-sender="anthony.perard@citrix.com"; x-conformance=sidf_compatible; x-record-type="v=spf1"; x-record-text="v=spf1 ip4:209.167.231.154 ip4:178.63.86.133 ip4:195.66.111.40/30 ip4:85.115.9.32/28 ip4:199.102.83.4 ip4:192.28.146.160 ip4:192.28.146.107 ip4:216.52.6.88 ip4:216.52.6.188 ip4:162.221.158.21 ip4:162.221.156.83 ~all" Received-SPF: None (esa1.hc3370-68.iphmx.com: no sender authenticity information available from domain of postmaster@mail.citrix.com) identity=helo; client-ip=162.221.158.21; receiver=esa1.hc3370-68.iphmx.com; envelope-from="anthony.perard@citrix.com"; x-sender="postmaster@mail.citrix.com"; x-conformance=sidf_compatible IronPort-SDR: PmNVexK4rwGJS1TZWljA+1KCdOrkSdgMhD54Y4NVusjWbAoUt7xp6ly+Q5GYsQONws2W00lplz ia+7QpyoTx4AiEVvjX/w2FRkomCT5O3Hu7Rxmt2nt9xsFNMFm3gXMHK5kgBksUm2ItwNCwNPth BwWz/WmLZmVCF3HkD18wuYnj9R5sASmdZ3rZbE97dHSrtb8KFi0ksApSUps97YtEAbAJqokNnq OcQOU9jA12dkVIdX3+Xa73yqeyReVCa+1HiCr4Aqt2rewvTG/r6ZnWnuAmftvckKXD6XHCA7me IDE= X-SBRS: 2.7 X-MesageID: 2617751 X-Ironport-Server: esa1.hc3370-68.iphmx.com X-Remote-IP: 162.221.158.21 X-Policy: $RELAYED X-IronPort-AV: E=Sophos;i="5.63,451,1557201600"; d="scan'208";a="2617751" From: "Anthony PERARD" To: CC: , Ard Biesheuvel , Jordan Justen , Laszlo Ersek , Julien Grall , Anthony PERARD Subject: [edk2-devel] [PATCH v3 20/35] OvmfPkg/XenPlatformPei: Setup HyperPages earlier Date: Thu, 4 Jul 2019 15:42:18 +0100 Message-ID: <20190704144233.27968-21-anthony.perard@citrix.com> In-Reply-To: <20190704144233.27968-1-anthony.perard@citrix.com> References: <20190704144233.27968-1-anthony.perard@citrix.com> MIME-Version: 1.0 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,anthony.perard@citrix.com Content-Transfer-Encoding: quoted-printable DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=groups.io; q=dns/txt; s=20140610; t=1562252268; bh=WpHTQ5O927JLMEpPWPK3/ha5yuL4qzGcqrMhEpNMKFE=; h=CC:Content-Type:Date:From:Reply-To:Subject:To; b=X5SBVZjAgBQi9R6sKL0/1KDE5KAyyyYwtRhXud4abewpHUCxmJb51fpedptgMrUsamI 3D3h+IhM0EDjvKBG1F6V356F4WbP8Mz8ADG2+UYKq6XAdHsU0bXz76uH8C0iDtzXJMYKK rNFTqWSkiGkmanVhQk6zzpq/ossckcDLpm0= X-ZohoMail-DKIM: pass (identity @groups.io) Content-Type: text/plain; charset="utf-8" We are going to need to make an hypercall in order to retreive the E820 table from the hypervisor before been able to setup the memory. Calling XenConnect earlier will allow to setup the XenHypercallLib earlier to allow to make hypercalls. While here, add some comments in XenConnect(). Ref: https://bugzilla.tianocore.org/show_bug.cgi?id=3D1689 Signed-off-by: Anthony PERARD Acked-by: Laszlo Ersek --- OvmfPkg/XenPlatformPei/Platform.h | 5 +++++ OvmfPkg/XenPlatformPei/Platform.c | 2 ++ OvmfPkg/XenPlatformPei/Xen.c | 23 ++++++++++++----------- 3 files changed, 19 insertions(+), 11 deletions(-) diff --git a/OvmfPkg/XenPlatformPei/Platform.h b/OvmfPkg/XenPlatformPei/Pla= tform.h index 925df31f88..4a80057bdc 100644 --- a/OvmfPkg/XenPlatformPei/Platform.h +++ b/OvmfPkg/XenPlatformPei/Platform.h @@ -79,6 +79,11 @@ InstallClearCacheCallback ( VOID ); =20 +EFI_STATUS +XenConnect ( + VOID + ); + EFI_STATUS InitializeXen ( VOID diff --git a/OvmfPkg/XenPlatformPei/Platform.c b/OvmfPkg/XenPlatformPei/Pla= tform.c index c97a2fb6c1..52f6048ca4 100644 --- a/OvmfPkg/XenPlatformPei/Platform.c +++ b/OvmfPkg/XenPlatformPei/Platform.c @@ -416,6 +416,8 @@ InitializeXenPlatform ( CpuDeadLoop (); } =20 + XenConnect (); + BootModeInitialization (); AddressWidthInitialization (); =20 diff --git a/OvmfPkg/XenPlatformPei/Xen.c b/OvmfPkg/XenPlatformPei/Xen.c index 37e9cff4b4..7d1696bb22 100644 --- a/OvmfPkg/XenPlatformPei/Xen.c +++ b/OvmfPkg/XenPlatformPei/Xen.c @@ -72,14 +72,11 @@ XenGetE820Map ( /** Connects to the Hypervisor. =20 - @param XenLeaf CPUID index used to connect. - @return EFI_STATUS =20 **/ EFI_STATUS XenConnect ( - UINT32 XenLeaf ) { UINT32 Index; @@ -91,7 +88,13 @@ XenConnect ( UINT32 *PVHResetVectorData; RETURN_STATUS Status; =20 - AsmCpuid (XenLeaf + 2, &TransferPages, &TransferReg, NULL, NULL); + ASSERT (mXenLeaf !=3D 0); + + // + // Prepare HyperPages to be able to make hypercalls + // + + AsmCpuid (mXenLeaf + 2, &TransferPages, &TransferReg, NULL, NULL); mXenInfo.HyperPages =3D AllocatePages (TransferPages); if (!mXenInfo.HyperPages) { return EFI_OUT_OF_RESOURCES; @@ -103,7 +106,11 @@ XenConnect ( (Index << EFI_PAGE_SHIFT) + Index); } =20 - AsmCpuid (XenLeaf + 1, &XenVersion, NULL, NULL, NULL); + // + // Find out the Xen version + // + + AsmCpuid (mXenLeaf + 1, &XenVersion, NULL, NULL, NULL); DEBUG ((EFI_D_ERROR, "Detected Xen version %d.%d\n", XenVersion >> 16, XenVersion & 0xFFFF)); mXenInfo.VersionMajor =3D (UINT16)(XenVersion >> 16); @@ -262,12 +269,6 @@ InitializeXen ( { RETURN_STATUS PcdStatus; =20 - if (mXenLeaf =3D=3D 0) { - return EFI_NOT_FOUND; - } - - XenConnect (mXenLeaf); - // // Reserve away HVMLOADER reserved memory [0xFC000000,0xFD000000). // This needs to match HVMLOADER RESERVED_MEMBASE/RESERVED_MEMSIZE. --=20 Anthony PERARD -=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 (#43291): https://edk2.groups.io/g/devel/message/43291 Mute This Topic: https://groups.io/mt/32308711/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-