From mboxrd@z Thu Jan 1 00:00:00 1970 Authentication-Results: mx.groups.io; dkim=pass header.i=@amdcloud.onmicrosoft.com header.s=selector2-amdcloud-onmicrosoft-com header.b=xiTEZMsG; spf=none, err=SPF record not found (domain: amd.com, ip: 40.107.81.55, mailfrom: thomas.lendacky@amd.com) Received: from NAM01-BY2-obe.outbound.protection.outlook.com (NAM01-BY2-obe.outbound.protection.outlook.com [40.107.81.55]) by groups.io with SMTP; Fri, 20 Sep 2019 06:16:49 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=dY/DUBpKU6Q2+gGhrPXS2vpJzZjsmYHfqKubd9b+6cDHlWuT4Ps2bXerONg+jnI01TYSejRWdVbb+whcsB5uRmzMgMYKF+gsUrKUIvi5XVvMk3lxlVMq8veKxE/SiV4E0WWee7ULbmPhkecGcdYElnAxLMVngy4efgRc0aO6lS3WbZt6QDSVYFrDBYp3DTgIjsAB1t9KJ2fabgx3QLTKfWVZLj+CUE7oMafizDdQHoST1xChOTjRw9lqK8dgVVYCHlhaR5vkifP6if1JsT1Y03qERnrN3RvnNPYNBW+EaKpuMABkY6fMXc/WMnJNB/1WqdbtargOUov2NQljaikBjQ== 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=DuegCOwJpam1T13Od4IBO4uFoCcdZ4ibfEMnESUUAJg=; b=bEZZ3uLqTLBkTPt8nveRvZ+e8ErZYwv+M4nKUF4ryzy9J59kRDHXk+bYDYBoQi3VyVs9mxdFWiN3/BQ2XWXbSORWEHTHyvAPj3P5MAVJKXXDes2a6lh4ofVoFcurFEhDGjmmFlUm/zWCvJtnORXAoMG7sc/cCnyVk+Z1xah0Npr9/7Pst3XR3Q1zLno9nH7TG7VoDXYPTrAwfHd0E4JchK3DT/qarvXyssrluQ5+IL/+xSbo7raRrDrtbZgav52XfIhftPlR6XdfJDa4SgQe4jbc806L5TF6LraHMxrmaguDCU8uwxo2RmMV7WiD7xHGkoHnnnTNFwZCeQ+Yv01NNA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=amd.com; dmarc=pass action=none header.from=amd.com; dkim=pass header.d=amd.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amdcloud.onmicrosoft.com; s=selector2-amdcloud-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=DuegCOwJpam1T13Od4IBO4uFoCcdZ4ibfEMnESUUAJg=; b=xiTEZMsGCBr0j+ES+nqwxqGsA8bB15cCZT2G5UklypeT4rfqV3NBiN+6QD+5gNsPxbYKLq/Oll6PEMn4F9mzTL2I+LegUZLFbLCEuC0wSZFR1dJqo6hJ+U/sgKZ6eJdY5SkY/u7ZeoSf634XnZpQS55mzL0Qh/E4cvQwlGg8ygI= Received: from DM6PR12MB3163.namprd12.prod.outlook.com (20.179.104.150) by DM6PR12MB3995.namprd12.prod.outlook.com (10.255.175.31) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2284.23; Fri, 20 Sep 2019 13:16:47 +0000 Received: from DM6PR12MB3163.namprd12.prod.outlook.com ([fe80::400e:f0c3:7ca:2fcc]) by DM6PR12MB3163.namprd12.prod.outlook.com ([fe80::400e:f0c3:7ca:2fcc%6]) with mapi id 15.20.2284.009; Fri, 20 Sep 2019 13:16:47 +0000 From: "Lendacky, Thomas" To: "devel@edk2.groups.io" Subject: [RFC PATCH v2 43/44] UefiCpuPkg/CpuDxe: Provide an DXE MP finalization routine to support SEV-ES Thread-Topic: [RFC PATCH v2 43/44] UefiCpuPkg/CpuDxe: Provide an DXE MP finalization routine to support SEV-ES Thread-Index: AQHVb7WnlbBxOK8N90eyDmSTYm17DQ== Date: Fri, 20 Sep 2019 13:16:47 +0000 Message-ID: <4267bd82ef22b8197e3bd1fc715008443a545d1b.1568922729.git.thomas.lendacky@amd.com> References: In-Reply-To: Accept-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-mailer: git-send-email 2.17.1 x-clientproxiedby: SN6PR06CA0023.namprd06.prod.outlook.com (2603:10b6:805:8e::36) To DM6PR12MB3163.namprd12.prod.outlook.com (2603:10b6:5:182::22) authentication-results: spf=none (sender IP is ) smtp.mailfrom=Thomas.Lendacky@amd.com; x-ms-exchange-messagesentrepresentingtype: 1 x-originating-ip: [165.204.78.1] x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 821d91e1-9408-4c1e-187f-08d73dccca4c x-ms-office365-filtering-ht: Tenant x-microsoft-antispam: BCL:0;PCL:0;RULEID:(2390118)(7020095)(4652040)(8989299)(5600167)(711020)(4605104)(1401327)(4618075)(4534185)(4627221)(201703031133081)(201702281549075)(8990200)(2017052603328)(7193020);SRVR:DM6PR12MB3995; x-ms-traffictypediagnostic: DM6PR12MB3995: x-ms-exchange-purlcount: 1 x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:6790; x-forefront-prvs: 0166B75B74 x-forefront-antispam-report: SFV:NSPM;SFS:(10009020)(4636009)(39860400002)(366004)(396003)(376002)(136003)(346002)(199004)(189003)(118296001)(186003)(36756003)(99286004)(6512007)(966005)(2906002)(25786009)(66556008)(66476007)(66946007)(50226002)(2501003)(26005)(52116002)(76176011)(64756008)(446003)(11346002)(5640700003)(305945005)(6436002)(5660300002)(7736002)(316002)(6486002)(66066001)(8676002)(14444005)(71200400001)(102836004)(66446008)(6116002)(256004)(3846002)(2616005)(476003)(478600001)(6916009)(1730700003)(81156014)(71190400001)(81166006)(14454004)(6306002)(8936002)(6506007)(386003)(486006)(86362001)(2351001);DIR:OUT;SFP:1101;SCL:1;SRVR:DM6PR12MB3995;H:DM6PR12MB3163.namprd12.prod.outlook.com;FPR:;SPF:None;LANG:en;PTR:InfoNoRecords;A:1;MX:1; received-spf: None (protection.outlook.com: amd.com does not designate permitted sender hosts) x-ms-exchange-senderadcheck: 1 x-microsoft-antispam-message-info: 6rZ1lhuLSvyG/Msz3uKPBvPeX/eZ9QLrlmQ6KJFEsZq6TSOiQZfLo0gzP8uu98gWWDYUFl+zKfLnSpwZYnCslugNkRI3wtX/HKwoxQNCnuA6Wt52FOcz4bvhG/Yqfi3ar36RJIyyqa+6/gLmhdnyVbxq2usU1HqfioKK/eah6DnPHdcXZyLx95Sfc5IPN774gFUkYdfh/A0ICWROhGYvGnyzxut65HofUwkyZqQk1buTU7IcJOsvaGFo359FPk79Rte3hWy5HaXRBZzFMd3rQ3HwnqNeg3ynG4M+Dp8BiqNEtOA3VylUgzWEkfI5MpNnO4ZujydKHJ0UW22HTtMUDxbrbQqiwVCsyC1wgRglWKPcvnHF/jCUKnDU/+/Q0TW7g83vICLd/iGjbi4wOUqf8pIcd2bopkKqKO7Yqk2F2Sg= x-ms-exchange-transport-forked: True MIME-Version: 1.0 X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-Network-Message-Id: 821d91e1-9408-4c1e-187f-08d73dccca4c X-MS-Exchange-CrossTenant-originalarrivaltime: 20 Sep 2019 13:16:47.4720 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 3dd8961f-e488-4e60-8e11-a82d994e183d X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: mMhwbxziAFtPn7z4CAS/L4Yqq8oqAtGyXF8l0SjMSRxb+RRaeGQcLMD7BwzPxZPqao3Jn2gZEJnUgia/vFkttw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM6PR12MB3995 Content-Language: en-US Content-Type: text/plain; charset="us-ascii" Content-ID: <9C7B5B5EDB03E540BE12D8F96180CE97@namprd12.prod.outlook.com> Content-Transfer-Encoding: quoted-printable From: Tom Lendacky BZ: https://bugzilla.tianocore.org/show_bug.cgi?id=3D2198 Provide support for the MP finalization routine within DXE. This finalization function will invoke the MpInitLib MpLibFinalize() function to perform the steps necessary to park an AP and be able to successfully boot it under an OS. Cc: Eric Dong Cc: Ray Ni Cc: Laszlo Ersek Signed-off-by: Tom Lendacky --- UefiCpuPkg/CpuDxe/CpuDxe.h | 12 ++++++++++++ UefiCpuPkg/CpuDxe/CpuDxe.c | 21 ++++++++++++++++++++- 2 files changed, 32 insertions(+), 1 deletion(-) diff --git a/UefiCpuPkg/CpuDxe/CpuDxe.h b/UefiCpuPkg/CpuDxe/CpuDxe.h index a6762f1a0b78..d071a32135b2 100644 --- a/UefiCpuPkg/CpuDxe/CpuDxe.h +++ b/UefiCpuPkg/CpuDxe/CpuDxe.h @@ -232,6 +232,18 @@ CpuSetMemoryAttributes ( IN UINT64 Attributes ); =20 +/** + Perform any MpLib final actions before transitioning out of UEFI. + + @param This Protocol instance structure + +**/ +VOID +EFIAPI +CpuFinalize ( + IN EFI_CPU_ARCH_PROTOCOL *This + ); + /** Initialize Global Descriptor Table. =20 diff --git a/UefiCpuPkg/CpuDxe/CpuDxe.c b/UefiCpuPkg/CpuDxe/CpuDxe.c index 7d7270e10b4a..bee44c0dd488 100644 --- a/UefiCpuPkg/CpuDxe/CpuDxe.c +++ b/UefiCpuPkg/CpuDxe/CpuDxe.c @@ -93,7 +93,8 @@ EFI_CPU_ARCH_PROTOCOL gCpu =3D { CpuGetTimerValue, CpuSetMemoryAttributes, 1, // NumberOfTimers - 4 // DmaBufferAlignment + 4, // DmaBufferAlignment + CpuFinalize }; =20 // @@ -499,6 +500,24 @@ CpuSetMemoryAttributes ( return AssignMemoryPageAttributes (NULL, BaseAddress, Length, MemoryAttr= ibutes, NULL); } =20 +/** + Implementation of CpuFinalize() service of CPU Architecture Protocol. + + This function performs any MpLib library finalization to perform require= d + actions before exiting boot services. + + @param This The EFI_CPU_ARCH_PROTOCOL instance. + +**/ +VOID +EFIAPI +CpuFinalize ( + IN EFI_CPU_ARCH_PROTOCOL *This + ) +{ + MpLibFinalize (); +} + /** Initializes the valid bits mask and valid address mask for MTRRs. =20 --=20 2.17.1