From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from aserp2120.oracle.com (aserp2120.oracle.com [141.146.126.78]) by mx.groups.io with SMTP id smtpd.web11.6107.1613725501901957568 for ; Fri, 19 Feb 2021 01:05:02 -0800 Authentication-Results: mx.groups.io; dkim=pass header.i=@oracle.com header.s=corp-2020-01-29 header.b=Yeg6pc5o; spf=pass (domain: oracle.com, ip: 141.146.126.78, mailfrom: ankur.a.arora@oracle.com) Received: from pps.filterd (aserp2120.oracle.com [127.0.0.1]) by aserp2120.oracle.com (8.16.0.42/8.16.0.42) with SMTP id 11J93veU178541; Fri, 19 Feb 2021 09:04:59 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=from : to : cc : subject : date : message-id : in-reply-to : references : content-transfer-encoding : content-type : mime-version; s=corp-2020-01-29; bh=8fO67yOsbQGfKTZwTbqUZ414s/0CVrpbiuLZpLVLgDQ=; b=Yeg6pc5of2a4A0oJcLeZ3Vpq9dAvaOzEJRNa/+5TwU9toBLr6olrlPoTPSeJUT0c0gAc wbLJanetoRcrQndETOmvDivbVtHcls5nBxKM6DcgDw3SUZeoAxDtruS5qy4/eU4FM57Z EPjPhQSvb4bNBFKdQ93c4EEnc1l4Dcd7/0g9oZwydKsTUzU3G9esOMICQNDXheBaLmSZ a7kTeVrAvsmck1PO2g7RQESvMheYeOn0RRXUmNMAVDCuhIjDioXLfwMJF23cA/Znhok5 DrkQMpGOGnJYUkCI5YHQGR6xvRBFdJIF4YU2CgL21zjTpbEojB89IBL7jnKI6nESOGFh Mw== Received: from userp3020.oracle.com (userp3020.oracle.com [156.151.31.79]) by aserp2120.oracle.com with ESMTP id 36pd9ag89k-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Fri, 19 Feb 2021 09:04:59 +0000 Received: from pps.filterd (userp3020.oracle.com [127.0.0.1]) by userp3020.oracle.com (8.16.0.42/8.16.0.42) with SMTP id 11J8tl0t182210; Fri, 19 Feb 2021 09:04:58 GMT Received: from nam12-bn8-obe.outbound.protection.outlook.com (mail-bn8nam12lp2177.outbound.protection.outlook.com [104.47.55.177]) by userp3020.oracle.com with ESMTP id 36prhve0ju-4 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Fri, 19 Feb 2021 09:04:58 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=fTY2AzcCWNwd60zbVbc6o+JyCY4572eeJw/piuVm/Ezq80nojpiCJz+/7yLAa5UP+sKHnafyVCyVRJS4Zw93IVB38Lny8nRTXtKK+qGB3g+SxUb4EvocemF1RFMJ4iYKS3SjzCXDRQonTi/byTfH603CJOG612oidxMLcwpdVTJu9PIbrUB+cgeY5c6h3MZsVq1QXNXIFtA2MgzMsQe6brtSbup+6NngfqnK5BMOcGGGYv4kR3mPSmqc0ahD4+3JbqpB6OgF0gy7sPjT9ukp3PymMqdbqcl1G3Vdz6QjQuaI1i1DycEliMDAnruUAIAkxJTI4OfjjoL0GoUbFPs6aA== 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=8fO67yOsbQGfKTZwTbqUZ414s/0CVrpbiuLZpLVLgDQ=; b=JaioWhgexAZxVDXgD6HWTeO3zddXjUFk6eHljt6uX/r2p9I9kFEfw2EnG19Qz/s71//OwBZS4JvYaavvvB0vwOoF1BgBEnbm/if1vLk/3J4rHWzLuj+2xVfzRhgiNaq8BmeNljmuVCJJMb/8zKzz77g49lnHaUune5ON+HOXCSmnLHIj3m4/5DIiKLAax+YOYztN1aW6yr0qLAFO7ctjwB+4ldpxcSK4GTSS2oIs6Rzlwa10WwmXLXJU4Mz2iYqTUHD0e+wIxpUwiaS/hE9Zzs/H4LsPXIOhg4vVBMzYhP6kRRzdDAKvAYnMJjJjGyxiBUIBRDYU99zUwXFZqeM8pA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=oracle.com; dmarc=pass action=none header.from=oracle.com; dkim=pass header.d=oracle.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.onmicrosoft.com; s=selector2-oracle-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=8fO67yOsbQGfKTZwTbqUZ414s/0CVrpbiuLZpLVLgDQ=; b=HLxHC/FqNIKGTz/CW2FUarloyxXVPQPYq1EEjK0TtBpHT4zOXUBl0MFNtsTplh2DXlUrOceJhehfhVGn96pHZ4CNr44DNjsv3mj2Wi2LrBFNe9KgGFKwAAJ+mSiKgkkUSebTD9YjYdXIpXpH0P0SRt26OmxYQvtXtJBb4uKztVU= Authentication-Results: edk2.groups.io; dkim=none (message not signed) header.d=none;edk2.groups.io; dmarc=none action=none header.from=oracle.com; Received: from SJ0PR10MB4605.namprd10.prod.outlook.com (2603:10b6:a03:2d9::24) by BYAPR10MB3605.namprd10.prod.outlook.com (2603:10b6:a03:129::15) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3846.27; Fri, 19 Feb 2021 09:04:57 +0000 Received: from SJ0PR10MB4605.namprd10.prod.outlook.com ([fe80::a021:790:7ce6:6f16]) by SJ0PR10MB4605.namprd10.prod.outlook.com ([fe80::a021:790:7ce6:6f16%6]) with mapi id 15.20.3868.029; Fri, 19 Feb 2021 09:04:57 +0000 From: "Ankur Arora" To: devel@edk2.groups.io Cc: lersek@redhat.com, imammedo@redhat.com, boris.ostrovsky@oracle.com, Ankur Arora , Jordan Justen , Ard Biesheuvel , Aaron Young Subject: [PATCH v7 03/10] OvmfPkg/CpuHotplugSmm: add Qemu Cpu Status helper Date: Fri, 19 Feb 2021 01:04:37 -0800 Message-Id: <20210219090444.1332380-4-ankur.a.arora@oracle.com> X-Mailer: git-send-email 2.29.2 In-Reply-To: <20210219090444.1332380-1-ankur.a.arora@oracle.com> References: <20210219090444.1332380-1-ankur.a.arora@oracle.com> X-Originating-IP: [148.87.23.5] X-ClientProxiedBy: MWHPR13CA0004.namprd13.prod.outlook.com (2603:10b6:300:16::14) To SJ0PR10MB4605.namprd10.prod.outlook.com (2603:10b6:a03:2d9::24) MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 Received: from prion.us.oracle.com (148.87.23.5) by MWHPR13CA0004.namprd13.prod.outlook.com (2603:10b6:300:16::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3890.8 via Frontend Transport; Fri, 19 Feb 2021 09:04:56 +0000 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: b2235f95-f7a8-427b-e3d1-08d8d4b56dfa X-MS-TrafficTypeDiagnostic: BYAPR10MB3605: X-MS-Exchange-Transport-Forked: True X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:7219; X-MS-Exchange-SenderADCheck: 1 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: G2iHITBKm6G+qvoiMc8cMfDXK+qC1/jtV7pZJvhnmHey45ItQU+4aZfi/SaYJxbRLeMHjJ4jxCONqr3lbSJ58eLCIskyZ3ujTIcasPP3heuUPBdLze/61nC/g81ezNnAn/vguDlTKkwbmWlPWztnm2oHazhh2Q4Z4vUWGJrs2dlge73hnAmZFttY2z57srWFuH7n66lRAhJdivHiRn0VJ3vqigi986kkWl9eoX2qNL7rtv5SkRufglVWguqesGkLNL0Zh8BCygEZgM7rUMkcKMKqH+steBvvezfDeTMqr2TI0Z4bE4Q/f1zP3iDzQtjxBaPA6ewlecnBIId/FT4oMBtlB8lC9qKDD7BJ86YXXCuoBWHUuPJCY4oHTZnPYcXAxHj/AHAATl6fkZdVeOP6aOxpI/GydOPbLp1lOgVDmT3aGEvLT0MC74rCrXsdAu5O0lfM8oqO7F2ATiatgrjMXg3FWTRSaBnKwg0QgQ2RVvVyi+Wbi0EsV3aNWjlH87xhOrYrcoqW5C0SNCncw3LsYvCtSb6mcjTRkWb25L3QFPpf1RX+hwZfkYxVMmlmDLMqqgd5jLMPM3vhzGtpMCUW/BHrlVovT/U51HC7NS1hrfQ= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:SJ0PR10MB4605.namprd10.prod.outlook.com;PTR:;CAT:NONE;SFS:(366004)(376002)(39860400002)(346002)(396003)(136003)(83380400001)(7696005)(66946007)(2616005)(66556008)(6486002)(36756003)(86362001)(316002)(6666004)(54906003)(966005)(8676002)(66476007)(52116002)(478600001)(956004)(4326008)(5660300002)(6916009)(8936002)(2906002)(107886003)(1076003)(186003)(103116003)(26005)(16526019);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData: =?us-ascii?Q?1SEc5AoTVYilg0Oi/w5FUIv7d4SQWhy1Tx3WM5ZLtudKoDJ0h6JvtTjWBqqI?= =?us-ascii?Q?GayWGsQ3APdUVN3tXmDnzJg7yEkGn8n7rHByte+NT0mrnoUpFOTZWhWEyofj?= =?us-ascii?Q?AAN9wKaBSxF3UAe2bTl1eCUtvjPQ2vbZz7xjOgbkB9eVyn8uacDwVLIu2ZiC?= =?us-ascii?Q?OMKSsOSq/2TrGmynjw6aIG/zKV8teHe2b+V+TCi+dAQtxK1ubKNT7re5vT5l?= =?us-ascii?Q?oM6CUBY7mFanwjXY3gTtVbSOTu0aPmWMtv4Tt3QImqUubad5NKYSvM8l74J8?= =?us-ascii?Q?mA7N5B9SzAtiTmm5YgZxEpmPgccYaSxIEUGXjQb25h5LuytNZpj9gRbxlQHf?= =?us-ascii?Q?qWPFP7UN2RrXVflIVqlyg1JXKU874EoHh+j6J7tou3j5EcSCi82dypUGre39?= =?us-ascii?Q?aPjN0rYYWuKNzgBiJRLnqJZqMngHXe1cIloXuP/awWckkKAUhIYlsxMRXByq?= =?us-ascii?Q?u3FMtbilyzj1bgekS7seCHOQ0XLIbyqUhg/Rs4YlP2kV/6YCesyh0t71gi2/?= =?us-ascii?Q?07Gh7QDYBHSR0pfqLkLKTkoGSlF5oXQkn/58gPinU8BxbKs4TaXZ8PoK3BVl?= =?us-ascii?Q?ydIMlIutraPym2guxTTv+y1mkdeIVaMf4utuNncLBGIdxOCDX8SVE8D+4nzc?= =?us-ascii?Q?H9YEajko1anMwd1dAval12hahs2gaEu5UnYgFWhwYiORSBPEXZhfOmBQNEVZ?= =?us-ascii?Q?2YitUEolvcx0pSuzmEWloWGhJ+h9biG2Ga7cTFEXxJefD6DgZPL7skUiTUrM?= =?us-ascii?Q?gpWE3Vf9jVeonntI6oZgFy9t7sMzhDayj57Js2sV7p36P6nxcr3yGUBNhWL4?= =?us-ascii?Q?Ofi5pNnSzftk0odU92FU9fwzjmC194VT+cZY+kFe4AzIgNWJV2e2TiB1cobN?= =?us-ascii?Q?WKO/bArkHGHJXo9gxOlKgZWLBpAZSnOwWghyoE2KWbCHVqSLCFXSnf2trAXG?= =?us-ascii?Q?tsCOOCc4XYrFZ4ATA8QCpJ/WAQhDRlEMBPyWFC/Zcgp+2nRlEITnOeRoPvH7?= =?us-ascii?Q?RJ7RjXAQ5CqyPZmIM48OjpVP92KvDwhq9qesCPfmIsCg+Y0vGkX7t53h4JLu?= =?us-ascii?Q?KRjUJRlix6W0jIDf1b8w/ApFCubUQnDzG9qk1ADp/I15wcWg+DWWfFU0rZbW?= =?us-ascii?Q?Ahs1hOG4jKZyaL7erqPD0MqDQMHPUgBOvbNVlDk6YnTe4lRmiBgFRJsDSyRf?= =?us-ascii?Q?rDV/eB65w7oHx6Gm1/htJ7zBKysXIfeuLEuoSSGVjOK+c3a8+Cta0DGKg0bI?= =?us-ascii?Q?uQ/3G7HBySVUL7dH1SPQPS1ML01z8ixA6oAt4c+pcvAweMwcxZzWSBkFcBal?= =?us-ascii?Q?JYKwCHutHr1qKg98/F5bJ2XW?= X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: b2235f95-f7a8-427b-e3d1-08d8d4b56dfa X-MS-Exchange-CrossTenant-AuthSource: SJ0PR10MB4605.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 19 Feb 2021 09:04:57.4005 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 4e2c6054-71cb-48f1-bd6c-3a9705aca71b X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: vJZeNlKc8egjKX5kPxDYFSioE9Y7EOK678hX5J6tccPpCGPTeFhmVkQjDFG6tDM4NqeijHP7Im23MI8wiUgx2db+hVwj98YHYKOTh5CuRA4= X-MS-Exchange-Transport-CrossTenantHeadersStamped: BYAPR10MB3605 X-Proofpoint-Virus-Version: vendor=nai engine=6200 definitions=9899 signatures=668683 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 mlxlogscore=999 adultscore=0 mlxscore=0 bulkscore=0 suspectscore=0 malwarescore=0 spamscore=0 phishscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2009150000 definitions=main-2102190070 X-Proofpoint-Virus-Version: vendor=nai engine=6200 definitions=9899 signatures=668683 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 clxscore=1015 impostorscore=0 mlxscore=0 phishscore=0 mlxlogscore=999 spamscore=0 bulkscore=0 priorityscore=1501 malwarescore=0 suspectscore=0 adultscore=0 lowpriorityscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2009150000 definitions=main-2102190071 Content-Transfer-Encoding: 8bit Content-Type: text/plain Add QemuCpuhpWriteCpuStatus() which will be used to update the QEMU CPU status register. On error, it hangs in a similar fashion as other helper functions. Cc: Laszlo Ersek Cc: Jordan Justen Cc: Ard Biesheuvel Cc: Igor Mammedov Cc: Boris Ostrovsky Cc: Aaron Young Ref: https://bugzilla.tianocore.org/show_bug.cgi?id=3132 Signed-off-by: Ankur Arora --- Notes: Address this review comment: () Move QemuCpuhpWriteCpuStatus() (declaration and definition) between QemuCpuhpWriteCpuSelector() and QemuCpuhpWriteCommand() to match the order of the register descriptions in QEMU. OvmfPkg/CpuHotplugSmm/QemuCpuhp.h | 6 ++++++ OvmfPkg/CpuHotplugSmm/QemuCpuhp.c | 22 ++++++++++++++++++++++ 2 files changed, 28 insertions(+) diff --git a/OvmfPkg/CpuHotplugSmm/QemuCpuhp.h b/OvmfPkg/CpuHotplugSmm/QemuCpuhp.h index 1e23b150910e..859412c1a173 100644 --- a/OvmfPkg/CpuHotplugSmm/QemuCpuhp.h +++ b/OvmfPkg/CpuHotplugSmm/QemuCpuhp.h @@ -42,6 +42,12 @@ QemuCpuhpWriteCpuSelector ( ); VOID +QemuCpuhpWriteCpuStatus ( + IN CONST EFI_MM_CPU_IO_PROTOCOL *MmCpuIo, + IN UINT8 CpuStatus + ); + +VOID QemuCpuhpWriteCommand ( IN CONST EFI_MM_CPU_IO_PROTOCOL *MmCpuIo, IN UINT8 Command diff --git a/OvmfPkg/CpuHotplugSmm/QemuCpuhp.c b/OvmfPkg/CpuHotplugSmm/QemuCpuhp.c index 36372a5e6193..9434bb14dd4e 100644 --- a/OvmfPkg/CpuHotplugSmm/QemuCpuhp.c +++ b/OvmfPkg/CpuHotplugSmm/QemuCpuhp.c @@ -114,6 +114,28 @@ QemuCpuhpWriteCpuSelector ( } VOID +QemuCpuhpWriteCpuStatus ( + IN CONST EFI_MM_CPU_IO_PROTOCOL *MmCpuIo, + IN UINT8 CpuStatus + ) +{ + EFI_STATUS Status; + + Status = MmCpuIo->Io.Write ( + MmCpuIo, + MM_IO_UINT8, + ICH9_CPU_HOTPLUG_BASE + QEMU_CPUHP_R_CPU_STAT, + 1, + &CpuStatus + ); + if (EFI_ERROR (Status)) { + DEBUG ((DEBUG_ERROR, "%a: %r\n", __FUNCTION__, Status)); + ASSERT (FALSE); + CpuDeadLoop (); + } +} + +VOID QemuCpuhpWriteCommand ( IN CONST EFI_MM_CPU_IO_PROTOCOL *MmCpuIo, IN UINT8 Command -- 2.9.3