From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mx0b-002e3701.pphosted.com (mx0b-002e3701.pphosted.com [148.163.143.35]) by mx.groups.io with SMTP id smtpd.web08.6535.1630373503787235958 for ; Mon, 30 Aug 2021 18:31:44 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@hpe.com header.s=pps0720 header.b=UJy3Mkwl; spf=temperror, err=temporary DNS error (domain: hpe.com, ip: 148.163.143.35, mailfrom: prvs=087783c359=gary.lin@hpe.com) Received: from pps.filterd (m0150245.ppops.net [127.0.0.1]) by mx0b-002e3701.pphosted.com (8.16.0.43/8.16.0.43) with SMTP id 17V1IxGm019295; Tue, 31 Aug 2021 01:31:31 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=hpe.com; h=from : to : cc : subject : date : message-id : in-reply-to : references : content-type : content-transfer-encoding : mime-version; s=pps0720; bh=sLB3ZCaO+Fc5CJonBj3L/wpC4YUitvM1Gud6tdd1jB0=; b=UJy3Mkwl16z0XA71kGYWWOIEEZxzjYiO3FUVewkXIc3FBlrOIuZHH1ZAim6em/lNp5iL /TI9w6ct4Q58yWnSvNBQfqm5ci+zNYtiJWGztiFupLM94Xs+moGQw8L8KOaGUb8OvYxk v+3pyj4xWAZl/qc/iH++n8PgTUfBCObCn64ewj7IRyW/M4oZ11mId8+FFZ7SJy9bN8AK CzsI6O8+ia5G3/JMBAiKnkUEbSJdp36aig7yd4QaSf3ryvpn2yPXZul7ZwxIde0jjihE uzd9k+KMQryDBU+yQsLYj8vpkIfymlE/dXrfxl0OFL3jY4mUby65smC2wmon3ZsjP3/I jA== Received: from g9t5009.houston.hpe.com (g9t5009.houston.hpe.com [15.241.48.73]) by mx0b-002e3701.pphosted.com with ESMTP id 3aru4bq1p8-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Tue, 31 Aug 2021 01:31:31 +0000 Received: from G9W8454.americas.hpqcorp.net (exchangepmrr1.us.hpecorp.net [16.216.161.4]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-SHA384 (256/256 bits)) (No client certificate requested) by g9t5009.houston.hpe.com (Postfix) with ESMTPS id A170151; Tue, 31 Aug 2021 01:31:30 +0000 (UTC) Received: from G9W8453.americas.hpqcorp.net (2002:10d8:a0d3::10d8:a0d3) by G9W8454.americas.hpqcorp.net (2002:10d8:a104::10d8:a104) with Microsoft SMTP Server (TLS) id 15.0.1497.18; Tue, 31 Aug 2021 01:31:30 +0000 Received: from NAM02-SN1-obe.outbound.protection.outlook.com (15.241.52.10) by G9W8453.americas.hpqcorp.net (16.216.160.211) with Microsoft SMTP Server (TLS) id 15.0.1497.18 via Frontend Transport; Tue, 31 Aug 2021 01:31:30 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=RZbg4tgisEVs69o0D26671XUReleMo++eimnbStGd6z22bSCORha/1K5wb/k6E0VW2nGH77itWAfnK6DhI8ioBJq/XNhTAvyWu3ZXo/J3qTnGYTV5+vfbXfr7ZKicWFyksNhgd0/2gQcxxeJU1nmKPspsvCt70eRTmHxg+d8+IXwwendZWAcQJqgC/yTVxWUV2M4Y+Oco1Nk8mR93dt7tmlOkXn1gE7/0c0HG+VnJZPRwCMp/DEUn/SFnpkMD9+oWHyNESbNprgBnTzdmwqBYBfzG+pz7FYweeqhcSZCEr7gJL/hM1i+v3mlcntok5Al0wJpIvcao86itukKVqMn1A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=sLB3ZCaO+Fc5CJonBj3L/wpC4YUitvM1Gud6tdd1jB0=; b=B4TMtkwR4LD2CW726et96qVbYrMsqzpXI0qNS8nMBe/SlpYF/S4t1BRZYDSaxOEMiv+c42ZyRuca6JRufSHGPX1D/LIyM28PvRCU3sQpRmVzJKfcBH6HPbqehHzV5UlhJHTRniQJb/AKy5IgyuN3mVC/UHAeekSM1b6/EgjFmbyAJYYdzL2pfsoWS5FzowEc7mCWBRijO4VgBNt5hfjnJ8gW6Y3G/lH07DimjTi8VGxr18ctaD3nPuc3xdIoe8te6rJ/A5v7hMCIGJ/ttPqrlDkLrRCwcfD0ResshTcsrbQKTgSWphrISyNS2tWDXPcDUg9MK5kpxfioHTZKBjy59A== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=hpe.com; dmarc=pass action=none header.from=hpe.com; dkim=pass header.d=hpe.com; arc=none Authentication-Results: edk2.groups.io; dkim=none (message not signed) header.d=none;edk2.groups.io; dmarc=none action=none header.from=hpe.com; Received: from AT5PR8401MB0387.NAMPRD84.PROD.OUTLOOK.COM (2a01:111:e400:741f::21) by AT5PR8401MB0355.NAMPRD84.PROD.OUTLOOK.COM (2a01:111:e400:7425::11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4457.24; Tue, 31 Aug 2021 01:31:28 +0000 Received: from AT5PR8401MB0387.NAMPRD84.PROD.OUTLOOK.COM ([fe80::106b:abb8:386b:a2db]) by AT5PR8401MB0387.NAMPRD84.PROD.OUTLOOK.COM ([fe80::106b:abb8:386b:a2db%9]) with mapi id 15.20.4436.019; Tue, 31 Aug 2021 01:31:28 +0000 From: "Lin, Gary (HPS OE-Linux)" To: CC: Ard Biesheuvel , Jiewen Yao , Jordan Justen , Anthony Perard , Julien Grall , Jim Fehlig , Joey Li , Gerd Hoffmann , Jiewen Yao Subject: [RESEND PATCH v3 1/4] OvmfPkg/OvmfXen: set PcdAcpiS3Enable at initialization Date: Tue, 31 Aug 2021 09:31:12 +0800 Message-ID: <20210831013115.23110-2-gary.lin@hpe.com> X-Mailer: git-send-email 2.31.1 In-Reply-To: <20210831013115.23110-1-gary.lin@hpe.com> References: <20210831013115.23110-1-gary.lin@hpe.com> X-ClientProxiedBy: HK2PR04CA0059.apcprd04.prod.outlook.com (2603:1096:202:14::27) To AT5PR8401MB0387.NAMPRD84.PROD.OUTLOOK.COM (2a01:111:e400:741f::21) X-MS-Exchange-MessageSentRepresentingType: 1 Received: from localhost (111.240.119.140) by HK2PR04CA0059.apcprd04.prod.outlook.com (2603:1096:202:14::27) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4457.17 via Frontend Transport; Tue, 31 Aug 2021 01:31:27 +0000 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: da7667d4-8904-4a5e-8b7c-08d96c1f0dd1 X-MS-TrafficTypeDiagnostic: AT5PR8401MB0355: X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:10000; X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: c0YY3PniA1GGv+cXOUK34jNJRjjir7Bp/NgI3o7o+tKmzetgci2QZlTdvikWs8tGElyRuopuiEOp2bDeoHsGfGYF/JTzk5J2JLD2jcbthx7fQOyrRdHlzkCdJZsBYQppBfvZrphJqhzOsJIcjYbwk2JqJAypqCJtsRWSGLLwGZGHVjXQGuCQ2Y1iP1kjX02BKesx80qHeEMezBsrNWnv0C+Zizp6cP2RFUTqJ9wVWCv8hs+jtMQ2KEOjHI+Tg+pHOp1uJwfQeHF25ehoietZaI7HdnZiYzGfHIgGbUcLmrHKBRdzcayFyl55vR48nAvNNTN1WTSXLXee9oWr65GRVmd88mkEZ0VAfMz4crYyYrfK0SME8KcxMD29aKja+Z/NfOtDaCY02/UF2wsNEpo0rzQbDWRNjPqntexE4KepcN7SYjKY2ifZhLHzrSjLOEDK1s8eCLZpVlXLOfReEfWzYQuteNU9Ql7G/FGuYywoegSf603i+60Xq7R2kFVV3KTlVvPVbSsySVj4QCN7HKSkIk/T39MQfvYzVsIx43dOmii2Jsa5dlOippKFmIumf0wRtV2L+kSGhtOguX4NFDtO+zdKQ9Yi8nhRg5GbFDg44UAz2ApxuhD0V27Z2Nd++F4bDK0xLTOF+TYCqNYVnpVcGcQewKQ1ycnTc86JDdaowwRWpzYHsixkbRIGyRA+8Zt2SfdHXNURV/FgWTlR053qQ2rMv7vD1BNq83O5RfOnz1M= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AT5PR8401MB0387.NAMPRD84.PROD.OUTLOOK.COM;PTR:;CAT:NONE;SFS:(136003)(376002)(396003)(39860400002)(346002)(366004)(66946007)(83380400001)(2906002)(2616005)(66556008)(86362001)(8676002)(956004)(6666004)(186003)(19627235002)(8936002)(4326008)(66476007)(36756003)(6496006)(44832011)(6486002)(1076003)(54906003)(966005)(5660300002)(6916009)(316002)(478600001)(26005)(38100700002);DIR:OUT;SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?5waVs3h5FsdQyGfPM0DFsyMzgPd8Xl4brLD/3jOz653x4D/aA7xWPjNu+NN/?= =?us-ascii?Q?6XlI4hatLWrxKdeu9m7k1d2a1ri8uR7kXQLI4xYj5uCqYs6+Gnv7SCfLLojr?= =?us-ascii?Q?GNYgkACtX+1sVyJDu7Ke0ntY5tsEx4aOysGumaXTku/RUcAFw8r7ghEPOQID?= =?us-ascii?Q?ZUHIN7pkksoVljM4aDje9hd/mDAlOj657gIGQNAu1yLdq+R2FwOkGblNozEY?= =?us-ascii?Q?E8//iPPjp66QJHlWAyEIU5SGKa+CvPo6RMvf4IFj9ZWHU5oHq9TUMSEYqudc?= =?us-ascii?Q?nQOYdek/GlKPXetYzIWH8MY53oxV3coCatFkCzf1vuanb7O3JeX0CcJMF4XR?= =?us-ascii?Q?f79gky4IJiqiEysOjqKUPzqh0zuxjkcMVlYRcYuGryjOphPrZUxmhL6lRArU?= =?us-ascii?Q?/LduD2wA8puyraQJDKL1rhbYYyU7j3WfIrQeXXuhS8r4HdZa3H+6WGM9hO40?= =?us-ascii?Q?C+smRoa0SDvfaUEs8qsRNkkNDQPn6yf1bthMR+tk9056Fg85ag9pJAKinGLe?= =?us-ascii?Q?VniiawdSAUFYpicsfF2f06baODqL3DIljHlVawpJlAaywHWJoUbQNIxRKWE4?= =?us-ascii?Q?7nXrwo1U5ymZGnbdpztNw19A/GyW7p9ekBnSl6lLM5jQ0pAlC01aCH2ZZZJc?= =?us-ascii?Q?lRfxpXDSmm5W6Nq1oMAPSNRN8gdLyo6cBJUgyLvq2nSSc63rEYALcs0ZwG4p?= =?us-ascii?Q?2Y12RMnVd228yj83B3XtBSYZ73/22WI04/0ptmwW77SK0Y5fEcFfQ5OylR1O?= =?us-ascii?Q?x11n/02z3n+eROAs5docloe3ecmZN8tK5WMveyM59YSVAvj/oFL/xp7TDR3E?= =?us-ascii?Q?iFBFdzwsmmTi6e7lQVUhiMzZgoay9aPama0qqWn3BhNpcWAJzehuGfp3x6AP?= =?us-ascii?Q?xBBhp3OJDfpdu/jSjefjbG6ZuBxXxX6PAxtRoYHcM2YtdZ2CKkBOvDpFtG5D?= =?us-ascii?Q?D52bDdAFS7WQmLNaU7rb0GGpL8aQQpSih40aC2r8xYPlmmJ/FzdY1NQPWmmQ?= =?us-ascii?Q?4416D7rIj7peAU96l9e5ATgtqXZ/l8MGTH5RAtVdCNJJAzbJlHZdLFAItLrF?= =?us-ascii?Q?bCmrZrd3AQ26+WMBd1z6ioh9ZkjNBUhPsQxswVKN1a9nG9kMsoHKj43JGK8W?= =?us-ascii?Q?Ahq9MS4H+7QLR3zfhMRJMUsOGBMnqrelYn+mGBe8W1H1Y4mVyZrFrv6h2TG+?= =?us-ascii?Q?vryzh4c8tA/UojiBClogr+DcTt9L/Yq7g3AKjddHN1WW7wsvRGapHDAgp0o4?= =?us-ascii?Q?hKvHpvOnFv8d6dofYEBa4ixWr5xARpU/YNrXmkSrQFIh/+XuPIc8GZOQEaff?= =?us-ascii?Q?zbZv7uPuUL1qKZENMS4J/0w8?= X-MS-Exchange-CrossTenant-Network-Message-Id: da7667d4-8904-4a5e-8b7c-08d96c1f0dd1 X-MS-Exchange-CrossTenant-AuthSource: AT5PR8401MB0387.NAMPRD84.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 31 Aug 2021 01:31:28.2477 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 105b2061-b669-4b31-92ac-24d304d195dc X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: Ml5xfpvM91xaqTU7Z5NK+vPRHLHJLvEBhj3uwDlm5xU2ox+tjkYR5EwuYD8veLwDmnFf8hnlVF3qX7wMgcwsPA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: AT5PR8401MB0355 X-OriginatorOrg: hpe.com X-Proofpoint-ORIG-GUID: dDKy9pME7LyGWT98jh59EOjxXtOsiA8r X-Proofpoint-GUID: dDKy9pME7LyGWT98jh59EOjxXtOsiA8r X-Proofpoint-UnRewURL: 0 URL was un-rewritten MIME-Version: 1.0 X-HPE-SCL: -1 X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10434:6.0.391,18.0.790 definitions=2021-08-30_06:2021-08-30,2021-08-30 signatures=0 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 priorityscore=1501 impostorscore=0 mlxscore=0 clxscore=1015 suspectscore=0 mlxlogscore=999 spamscore=0 malwarescore=0 lowpriorityscore=0 adultscore=0 phishscore=0 bulkscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2107140000 definitions=main-2108310006 Content-Type: text/plain Content-Transfer-Encoding: 8bit There are several functions in OvmfPkg/Library using QemuFwCfgS3Enabled() to detect the S3 support status. However, in MdeModulePkg, PcdAcpiS3Enable is used to check S3 support. Since InitializeXenPlatform() didn't set PcdAcpiS3Enable as InitializePlatform() did, this made the inconsistency between drivers/functions. For example, S3SaveStateDxe checked PcdAcpiS3Enable and skipped S3BootScript because the default value is FALSE. On the other hand, PlatformBootManagerBeforeConsole() from OvmfPkg/Library called QemuFwCfgS3Enabled() and found it returned TRUE, so it invoked SaveS3BootScript(). However, S3SaveStateDxe skipped S3BootScript, so SaveS3BootScript() asserted due to EFI_NOT_FOUND. This issue mainly affects "HVM Direct Kernel Boot". When used, "fw_cfg" is enabled in QEMU and QemuFwCfgS3Enabled() returns true in that case. Ref: https://bugzilla.tianocore.org/show_bug.cgi?id=3573 Cc: Ard Biesheuvel Cc: Jiewen Yao Cc: Jordan Justen Cc: Anthony Perard Cc: Julien Grall Cc: Jim Fehlig Cc: Joey Li Signed-off-by: Gary Lin Reviewed-by: Anthony PERARD Reviewed-by: Gerd Hoffmann Reviewed-by: Jiewen Yao Tested-by: Jim Fehlig --- v3: - Update the description per Anthony's suggestion - Add the bugzilla link v2: - Amend the description and address "HVM Direct Kernel Boot" - Add the comment for the conditional test of QemuFwCfgS3Enabled() - Remove unused QemuFwCfgLib --- OvmfPkg/XenPlatformPei/XenPlatformPei.inf | 2 ++ OvmfPkg/XenPlatformPei/Platform.c | 13 +++++++++++++ 2 files changed, 15 insertions(+) diff --git a/OvmfPkg/XenPlatformPei/XenPlatformPei.inf b/OvmfPkg/XenPlatformPei/XenPlatformPei.inf index 597cb6fcd7ff..20c27ff34b6c 100644 --- a/OvmfPkg/XenPlatformPei/XenPlatformPei.inf +++ b/OvmfPkg/XenPlatformPei/XenPlatformPei.inf @@ -57,6 +57,7 @@ [LibraryClasses] ResourcePublicationLib PeiServicesLib PeimEntryPoint + QemuFwCfgS3Lib MtrrLib MemEncryptSevLib PcdLib @@ -79,6 +80,7 @@ [Pcd] gUefiOvmfPkgTokenSpaceGuid.PcdPciMmio64Base gUefiOvmfPkgTokenSpaceGuid.PcdPciMmio64Size gUefiOvmfPkgTokenSpaceGuid.PcdQ35TsegMbytes + gEfiMdeModulePkgTokenSpaceGuid.PcdAcpiS3Enable gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageFtwSpareSize gEfiMdeModulePkgTokenSpaceGuid.PcdEmuVariableNvStoreReserved gEfiMdeModulePkgTokenSpaceGuid.PcdDxeIplSwitchToLongMode diff --git a/OvmfPkg/XenPlatformPei/Platform.c b/OvmfPkg/XenPlatformPei/Platform.c index a811e72ee301..e60478fdb493 100644 --- a/OvmfPkg/XenPlatformPei/Platform.c +++ b/OvmfPkg/XenPlatformPei/Platform.c @@ -26,6 +26,7 @@ #include #include #include +#include #include #include #include @@ -423,6 +424,8 @@ InitializeXenPlatform ( IN CONST EFI_PEI_SERVICES **PeiServices ) { + EFI_STATUS Status; + DEBUG ((DEBUG_INFO, "Platform PEIM Loaded\n")); DebugDumpCmos (); @@ -433,6 +436,16 @@ InitializeXenPlatform ( CpuDeadLoop (); } + // + // This S3 conditional test is mainly for HVM Direct Kernel Boot since + // QEMU fwcfg isn't really supported other than that. + // + if (QemuFwCfgS3Enabled ()) { + DEBUG ((DEBUG_INFO, "S3 support was detected on QEMU\n")); + Status = PcdSetBoolS (PcdAcpiS3Enable, TRUE); + ASSERT_EFI_ERROR (Status); + } + XenConnect (); BootModeInitialization (); -- 2.31.1