From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mga05.intel.com (mga05.intel.com [192.55.52.43]) by mx.groups.io with SMTP id smtpd.web10.3805.1628129931256215020 for ; Wed, 04 Aug 2021 19:18:51 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@intel.onmicrosoft.com header.s=selector2-intel-onmicrosoft-com header.b=Rr4XWRVc; spf=pass (domain: intel.com, ip: 192.55.52.43, mailfrom: jiewen.yao@intel.com) X-IronPort-AV: E=McAfee;i="6200,9189,10066"; a="299643309" X-IronPort-AV: E=Sophos;i="5.84,296,1620716400"; d="scan'208";a="299643309" Received: from orsmga004.jf.intel.com ([10.7.209.38]) by fmsmga105.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 04 Aug 2021 19:18:50 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.84,296,1620716400"; d="scan'208";a="569235149" Received: from fmsmsx601.amr.corp.intel.com ([10.18.126.81]) by orsmga004.jf.intel.com with ESMTP; 04 Aug 2021 19:18:50 -0700 Received: from fmsmsx606.amr.corp.intel.com (10.18.126.86) by fmsmsx601.amr.corp.intel.com (10.18.126.81) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2242.10; Wed, 4 Aug 2021 19:18:49 -0700 Received: from FMSEDG603.ED.cps.intel.com (10.1.192.133) by fmsmsx606.amr.corp.intel.com (10.18.126.86) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2242.10 via Frontend Transport; Wed, 4 Aug 2021 19:18:49 -0700 Received: from NAM12-MW2-obe.outbound.protection.outlook.com (104.47.66.49) by edgegateway.intel.com (192.55.55.68) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2242.10; Wed, 4 Aug 2021 19:18:48 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=bGKCD0iDgzlS9OQy+oJ+NIGXNHVwxOn06Lt6Ry7Ng3MQqjGP6+VE87HUtw7yATKxSrFUsq3mwXySN7njZBZxFyimKH9/O/n02hC4li+KqnBQEOV4PRl9xCFKt35zGyFkHrc8KpWEk5O6CION0z4YbJvd6V2Wnyy3fUYYfrLQtgHGfcr7n9TCTdS6qAe3RBkI7YNL1hD8KPpukBxYPoAOtfdGpR0BdvgsO+wOmeeizcofQ6MaW/Y9l1SfvRYB6B6bU3jccc4JXlyRngZf1t/AlNWjRRQiqrjHchqe022v20Nh9RvmChXzWFMi6YZwaRxdzduXnOVGNuvDej7q+ft/2w== 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=UxsD1voHrQ+d/LfgOO8iNo5yKskIr4XRB1HwT3c2jUE=; b=kTk4p2oRoREYw5Ztq47/o0diKpDot2s3JVvS8pXtNLbx9iQN0SL9uY0Wg89X+YfM1/02Dl3znUuOuEN7iIqFBkUX0GFwbDggFfj0Pdn+j6w90JcFuxaObMzCQ91wgUK/8WYzOmwzZMMznCrduy105WeV2Cyze+9NoPWFE7JFc1T8KJeek2Gtm/7UHaYBEG1SmL45RR70qpC+fyOSKmLCzRF5ph/hmOQsAE/MEcyzqAiRPX3mvfV8WjK9vD0+tDPAgGU+EuLXimXUKqwl+H7yV358dN5aI2h/v21cvATV/h2w+c3EvLC4s6sihTMNy7C8QvcnAKp7EaOUIgmqOf464Q== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=intel.com; dmarc=pass action=none header.from=intel.com; dkim=pass header.d=intel.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=intel.onmicrosoft.com; s=selector2-intel-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=UxsD1voHrQ+d/LfgOO8iNo5yKskIr4XRB1HwT3c2jUE=; b=Rr4XWRVc5oDwLHNjKrUqLI4hS+fywGCboIY/JCNmVG7BZ7+SlprzIIPFPbV6IHkj/8NjoaO7AVtuvuJ8XMAaSWsbGVKl7NMq7WeV+ao8oSCU3e8ck5HXBxWaoBQUKFQckArotk8qyJ3ZoUAfr9SAeYVSbD98woHEzjgC4YPIac0= Received: from PH0PR11MB4885.namprd11.prod.outlook.com (2603:10b6:510:35::14) by PH0PR11MB4888.namprd11.prod.outlook.com (2603:10b6:510:32::22) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4373.25; Thu, 5 Aug 2021 02:18:46 +0000 Received: from PH0PR11MB4885.namprd11.prod.outlook.com ([fe80::6c99:8170:1c3c:9121]) by PH0PR11MB4885.namprd11.prod.outlook.com ([fe80::6c99:8170:1c3c:9121%3]) with mapi id 15.20.4373.026; Thu, 5 Aug 2021 02:18:46 +0000 From: "Yao, Jiewen" To: "devel@edk2.groups.io" , "brijesh.singh@amd.com" CC: James Bottomley , "Xu, Min M" , Tom Lendacky , "Justen, Jordan L" , Ard Biesheuvel , Erdem Aktas , Michael Roth Subject: Re: [edk2-devel] [PATCH 0/3] reuse the SevEsWork area Thread-Topic: [edk2-devel] [PATCH 0/3] reuse the SevEsWork area Thread-Index: AQHXiW4qZL55+JzCMkCG4FoxrS+PKatkK9RA Date: Thu, 5 Aug 2021 02:18:46 +0000 Message-ID: References: <20210804202003.17543-1-brijesh.singh@amd.com> In-Reply-To: <20210804202003.17543-1-brijesh.singh@amd.com> Accept-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: dlp-version: 11.5.1.3 dlp-product: dlpe-windows dlp-reaction: no-action authentication-results: edk2.groups.io; dkim=none (message not signed) header.d=none;edk2.groups.io; dmarc=none action=none header.from=intel.com; x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 27fedba8-1157-4ed6-0b64-08d957b75ad5 x-ms-traffictypediagnostic: PH0PR11MB4888: x-ld-processed: 46c98d88-e344-4ed4-8496-4ed7712e255d,ExtAddr x-ms-exchange-transport-forked: True x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:9508; x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: mhsh4+ILm6G6f82IV+AHsbhWuOwlURa6BTNn3HJa9Jq1UWgr+Ami3csYo3mqjGS9vj5aQh02FF5RzyD9yYbw4K+umD8rNZNvI5MESjUhytvam8CFok468RH5mTiBu0MNawMYkip1jmwd1I25fZLMbs3cZV1g1AylJTVyxoFk0G6L6kwARcnlD6+h/cYcsfmcr2hejm1G8mbeBjZmTfxfJW2R6t6UJLxfdJFAaWilk0TefDMrjkG2rWu4xTmJ9ODkILZAtJz0PwAB3C5/SuqU++HWsvkia2Dfa5+qy62448PVfpR/k1G5WATkAmK5k3Q0lJiPPbaSmmaQCwk9UWHf70TwkDk0sw4H4/f7lqC8GguwRtBZbqJnq4vYzw1btf1jEo/FrfHFnLFj+6a7+ObWPh3PNV11E4gtckvsqbnM12keQ4IAvACQ2ensib5Oz4vuj6nWge8OQuUdx7NXFVSGjcN5Ad7TqhuGZnoUhtesXaIp6pCd1tm4bFPUXUkXNJBEdqp+wSZtYYkIQbTN1w+sqf4q52aRDWU8RxKsK94eiXKKRqpq035p6EUWLOK8wL7egkpA/d2D/CLdDBS6WC8zg3t0hn+WaeznkRG/by9QpF+r8aLInx/YCc0nzqnu+CZ4sIPWRJjIFf1vhIphuUQV4XhRqmvD8WvodsM+M9B3L5tR6Qbkf9uim5TWt73Saqn1QWoOdFmJcd6ZaAnzhMEzuhc/nNVJDaMZ9Gcz6SR7PNSImhMAdyqeXZ+XpuJdKEQg2jbO5zR63NopjBusYRnjKj7RW6d8jTllcgPDca8XGrJaKgRJm5y/IYS9FpN/gYx0f8Ts1t5g9YFJXSTSqHTVAA== x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:PH0PR11MB4885.namprd11.prod.outlook.com;PTR:;CAT:NONE;SFS:(6029001)(4636009)(376002)(366004)(136003)(39860400002)(396003)(346002)(38070700005)(186003)(110136005)(55016002)(2906002)(54906003)(122000001)(9686003)(26005)(8676002)(71200400001)(7696005)(66446008)(66946007)(76116006)(316002)(478600001)(966005)(8936002)(5660300002)(6506007)(53546011)(38100700002)(52536014)(66556008)(86362001)(66476007)(19627235002)(4326008)(33656002)(64756008)(83380400001);DIR:OUT;SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?us-ascii?Q?l/Fp35AOEoGnLRZRjkIRTpAun2I+jdbdIdc8jGoK9bTb4wtDU/PFA+9x4C3u?= =?us-ascii?Q?kkxyR370pPBMrpgUg037uMIoZSR2v+c+C3KD9mAYPQnp/O4E8b8bJ3+I+VMi?= =?us-ascii?Q?tGGvsGMIQYnz0GqYc0xfAHUEFnU57bbyMH7zHICIIRd6oAt4YAIr7hcGE2Pr?= =?us-ascii?Q?c29m+NwLYXUeUEil0NH3hoCCMggjQ2f51XRBf4qwKDgSa+n9eT0uhR+cTLPo?= =?us-ascii?Q?9GYSf+W7bYgYL08iTza4zXSRiWM2c2dfcDJyqJS4o8G+4zvgiQ+8LMpydZuI?= =?us-ascii?Q?0DHV5QufSVL576CF0frnhBLzseFS0AThZvzUyxT/iN2vDm8ncjNzOMmqx7yz?= =?us-ascii?Q?uDSigjHInZ7TdK98WKnularFL6e0cim24fpeNRe38twvvxpMpGGHUtt3mUGb?= =?us-ascii?Q?C2OzuDAZrbE1HfpjN4RVG6j+CSQFCJ4BeEswn+C5IQ2jRr9teeulwZcVWzyx?= =?us-ascii?Q?SDi0TkL+swS/v4R3rdwKorgnACtD0B4hp6LWpotSeoktLq1nz+nInWhRf6gB?= =?us-ascii?Q?wrq4pWPDldzD3VeUO4tjscCiIT3n4H11NWXuz3AiyKKGF7VOBMEaGvt4OnUL?= =?us-ascii?Q?7FeP9JhO0r7/dVovD8oNBnkZvkqWH8KhWsCS0tef4Li1TznYiEnorogTgEUc?= =?us-ascii?Q?hq0oQKSsk7Mkuc0t+PfIU/ZDY+QQ3ZGKbsL3kukz6nWyQ0pUzqiEZpzMIR40?= =?us-ascii?Q?/jHxbLiI50s5yk4sDZYRzWuSK3x/O/QQ9xSiMABpXLIQ/1XZywcQYRDWdn2D?= =?us-ascii?Q?1vSbyacYDAtKcALmPXTkkRRcxKJMx25aiB1LWo7KoPHiT3Y0hiUccCOZ+iy2?= =?us-ascii?Q?C7cwh4r6Te2XEIHzIrHNwwzQPLeVatUzUFsQIP7EvyNu82ataIhFPcSf0lWq?= =?us-ascii?Q?DzyiPROdjC3egTfd5peoAFRUSG0/ML6MSgoguA2JVt0+UUwazhmBtYbh3LHV?= =?us-ascii?Q?TIwq/ZJOF/OAYf5Pnvk0D2ZQhWJ7Jy9Rmz4AsvqJCYqgTrbwQ8ivm+neXO3s?= =?us-ascii?Q?BrBVfWJR2wNaFelHD3LLxCjzY0WkDos0u8I2uppqAEeHU6H58rwHX7w9DJVo?= =?us-ascii?Q?SMP5bKvRUZjcn/a8mOG+VH+1vHvM+cq2ZbAM7buvOlyn7EEP9+sPbLPTpc3/?= =?us-ascii?Q?QdXPv4bFewYBSh9rRZAclvd1TtId6NnJlUBwhTMDAvAK/ripYFxiOTK1aGFI?= =?us-ascii?Q?o5rYSm5JB7n22gTonXf4kQLT4U8kgtIOf8V20RMeUUYFOHzIYtr2zRei/lCq?= =?us-ascii?Q?aR8+5sNAipvbaQnBWn2etYyKs+JL7KBbjfJxrkhVWSIC3e5XjBZHmXQvDWPM?= =?us-ascii?Q?o2Z8WxLwlaB6dYIExb5/aDex?= MIME-Version: 1.0 X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: PH0PR11MB4885.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 27fedba8-1157-4ed6-0b64-08d957b75ad5 X-MS-Exchange-CrossTenant-originalarrivaltime: 05 Aug 2021 02:18:46.3143 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 46c98d88-e344-4ed4-8496-4ed7712e255d X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: bB+jIrWpt5jQGIYmzdnIJLgg/6ntjDtZXZ7zp2mQDxmPv4wD/qOoGPoRskEQ/nQ6cGw1DvFswzcSGzAOK17xDg== X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH0PR11MB4888 Return-Path: jiewen.yao@intel.com X-OriginatorOrg: intel.com Content-Language: en-US Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable HI Brijesh Thanks for the startup. Feedback below: 1) I don't think we need a PCD to indicate the header. gUefiOvmfPkgTokenSpaceGuid.PcdOvmfWorkAreaHeaderSize|4|UINT32|0x51 Instead, if we define a HEADER structure, we can use sizeof() naturally. O= therwise, when we update this header, we need update 2 different places, wh= ich is not preferred. typedef struct { UINT8 GuestType; UINT8 Reserved1[3]; } CONFIDENTIAL_COMPUTING_WORK_AREA_HEADER; 2) I don't think we can define a common structure OVMF_WORK_AREA to contai= n SEV specific field. typedef struct _OVMF_WORK_AREA { UINT8 GuestType; UINT8 Reserved1[3]; SEC_SEV_ES_WORK_AREA SevEsWorkArea; } OVMF_WORK_AREA; A common patter is to define each individual structure, then use UNION. For example,=20 typedef struct { UINT8 GuestType; UINT8 Reserved1[3]; SEC_SEV_ES_WORK_AREA SevEsWorkArea; } SEV_WORK_AREA; typedef union { CONFIDENTIAL_COMPUTING_WORK_AREA_HEADER Header; SEV_WORK_AREA Sev; } OVMF_WORK_AREA; > -----Original Message----- > From: devel@edk2.groups.io On Behalf Of Brijesh > Singh via groups.io > Sent: Thursday, August 5, 2021 4:20 AM > To: devel@edk2.groups.io > Cc: James Bottomley ; Xu, Min M = ; > Yao, Jiewen ; Tom Lendacky > ; Justen, Jordan L ; > Ard Biesheuvel ; Erdem Aktas > ; Michael Roth ; Brijesh > Singh > Subject: [edk2-devel] [PATCH 0/3] reuse the SevEsWork area >=20 > Based on the discussion on the mailing list, we agreed that instead > of wasting extra page in the MEMFD, we can reuse the SevEsWorkArea > buffer for the TDX. To avoid any confusion, lets introduce a OvmfWorkAre= a > that will contains 32 bytes of header followed by the actual workarea. >=20 > While at it, move the code to clear the GHCB page from PageTable build > to AmdSev.asm. >=20 > I have used the existing TDX BZ for it because the request came > during the TDX patch review. if anyone have concern please let me know > and I will happily create a new BZ. >=20 > Full tree is at: https://github.com/AMDESE/ovmf/tree/sev-new-work-area >=20 > Brijesh Singh (3): > OvmfPkg: introduce a common work area > OvmfPkg/ResetVector: update SEV support to use new work area format > OvmfPkg/ResetVector: move the GHCB page setup in AmdSev.asm >=20 > Cc: James Bottomley > Cc: Min Xu > Cc: Jiewen Yao > Cc: Tom Lendacky > Cc: Jordan Justen > Cc: Ard Biesheuvel > Cc: Erdem Aktas >=20 > OvmfPkg/OvmfPkg.dec | 6 ++ > OvmfPkg/OvmfPkgX64.fdf | 9 +- > OvmfPkg/PlatformPei/PlatformPei.inf | 4 +- > OvmfPkg/ResetVector/ResetVector.inf | 1 + > OvmfPkg/Sec/SecMain.inf | 1 + > OvmfPkg/Include/Library/MemEncryptSevLib.h | 21 +--- > OvmfPkg/Include/WorkArea.h | 53 ++++++++++ > OvmfPkg/PlatformPei/MemDetect.c | 32 +++--- > OvmfPkg/Sec/SecMain.c | 25 ++++- > OvmfPkg/ResetVector/Ia32/AmdSev.asm | 111 +++++++++++++++++---- > OvmfPkg/ResetVector/Ia32/PageTables64.asm | 57 ++--------- > OvmfPkg/ResetVector/ResetVector.nasmb | 1 + > 12 files changed, 213 insertions(+), 108 deletions(-) > create mode 100644 OvmfPkg/Include/WorkArea.h >=20 > -- > 2.17.1 >=20 >=20 >=20 >=20 >=20