From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mga07.intel.com (mga07.intel.com [134.134.136.100]) by mx.groups.io with SMTP id smtpd.web10.61794.1674171910723074964 for ; Thu, 19 Jan 2023 15:45:11 -0800 Authentication-Results: mx.groups.io; dkim=fail reason="unable to parse pub key" header.i=@intel.com header.s=intel header.b=QV5rRIva; spf=pass (domain: intel.com, ip: 134.134.136.100, mailfrom: min.m.xu@intel.com) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1674171910; x=1705707910; h=from:to:cc:subject:date:message-id:references: in-reply-to:content-transfer-encoding:mime-version; bh=BqIriQeYcuZ1jh+q/22f3cl7Y027+DvUwJAu2pwuV2Y=; b=QV5rRIvaDtNYNgQICC7gBEuZAmgdghpYBjIIq0vZXmQf1gkMQsJAUlFH eoi4P4cuMs5qYuGDvMKj4R7vobSUNRC0NxqUMOxAMMQc0pwcGjDOwKsIu Gqt3L9iflbQhmKZ2PS1yBjwp6OLCgbwwtNsn2ebgeQi6q93vgHGBkXnjy sTTPRXD02KY0fcsnlU5qXhUoB1WqvtfJoWG9OjKUgk4FRsmKSO/VwJsZ6 uP42KX/I7gyjFp71TQsmUyiWgnzV/Zlspec6yXp9+7WiZzsGlVzDRZsFN f2F6OfCyLzpbbvwm9RiOIE2zygAPSX4Tb0HySzcrxg9TSr8qciqHKT0Ro Q==; X-IronPort-AV: E=McAfee;i="6500,9779,10595"; a="389981271" X-IronPort-AV: E=Sophos;i="5.97,230,1669104000"; d="scan'208";a="389981271" Received: from fmsmga004.fm.intel.com ([10.253.24.48]) by orsmga105.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 19 Jan 2023 15:45:01 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6500,9779,10595"; a="728907003" X-IronPort-AV: E=Sophos;i="5.97,230,1669104000"; d="scan'208";a="728907003" Received: from orsmsx601.amr.corp.intel.com ([10.22.229.14]) by fmsmga004.fm.intel.com with ESMTP; 19 Jan 2023 15:45:01 -0800 Received: from orsmsx611.amr.corp.intel.com (10.22.229.24) by ORSMSX601.amr.corp.intel.com (10.22.229.14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.16; Thu, 19 Jan 2023 15:45:01 -0800 Received: from ORSEDG602.ED.cps.intel.com (10.7.248.7) by orsmsx611.amr.corp.intel.com (10.22.229.24) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.16 via Frontend Transport; Thu, 19 Jan 2023 15:45:01 -0800 Received: from NAM11-CO1-obe.outbound.protection.outlook.com (104.47.56.170) by edgegateway.intel.com (134.134.137.103) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2507.16; Thu, 19 Jan 2023 15:45:00 -0800 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=g+lrBzgFlXWLyPGuv0Ids3JfquLBZ/XEgL216r6RqMmPJNeyI7P2ITXDHnjQ9pL9sUgletJAXfKGtiXHHuqi4Xv71nfGdj/scdc4pYiiYPxxX5Po6Zjt5dse9hWjky39HUDZHxACg6U85uZhD1+axcQpGSpfrEcoFJUGEX3kR6C+A4cJGKUT3gYFj8goVG/eNIlYZLpHHCldRPmfy05J50x3VS9R7zsgdIjwjoIMoxeYoizkxzDh8kQmjbKXXqkJ7495fNYO2YRnh/MNj4OFgMHSS5NQ9K3+rRkOAwvBLpSPzaMlpcux6KdY0rHBTuSCh3jYAwhOIpKJeYCPhtjRKA== 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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=n9u39qPBCaQERPCpZ/XXZ5lTZzl1EHAe/pNZx/a4Ybo=; b=NhALjjs0i9rWVkOvu+1CAWRLjRnrapV6y86ec8ajSqy/1tmbeh9kiT9bH88H/eQ1KkWb7Dq1zsYrcqZBrNS/6vuOamMyGtephD91OHVzzpOrSBX4K5UjjTRn7JRM+u6x+u5bBTvaS/h4LHmRYQhhAQ8zt+1nKmdRMMqUpZXTh8dlTA25FI9ZPq+FfQzTZxE/h7yRiZXQZm6aE6vM/wy8bvm+95v+6cqgFyLVdaXTtlSQh63T5f8X9XaI9cLSM6Nso9JA6luBYOXaQujxM+fjKk9YpARg28ILnseHm+ldA7jPL0XkVUX1JCM0kYp4Zgt4ayQmDd7Z0vE8CqEYE/Pvnw== 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 Received: from PH0PR11MB5064.namprd11.prod.outlook.com (2603:10b6:510:3b::15) by CH0PR11MB5708.namprd11.prod.outlook.com (2603:10b6:610:111::19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5986.23; Thu, 19 Jan 2023 23:44:53 +0000 Received: from PH0PR11MB5064.namprd11.prod.outlook.com ([fe80::d87:9f99:2db2:43d1]) by PH0PR11MB5064.namprd11.prod.outlook.com ([fe80::d87:9f99:2db2:43d1%7]) with mapi id 15.20.6002.026; Thu, 19 Jan 2023 23:44:52 +0000 From: "Min Xu" To: Gerd Hoffmann CC: "devel@edk2.groups.io" , "Aktas, Erdem" , James Bottomley , "Yao, Jiewen" , Tom Lendacky , Michael Roth Subject: Re: [PATCH V2 04/10] OvmfPkg/IntelTdx: Implement other helper functions in SecTdxHelperLib Thread-Topic: [PATCH V2 04/10] OvmfPkg/IntelTdx: Implement other helper functions in SecTdxHelperLib Thread-Index: AQHZK7YrgVPaTkexhUe4Crhi5Ela4a6lgJYAgADlPgA= Date: Thu, 19 Jan 2023 23:44:52 +0000 Message-ID: References: <20230119032822.1406-1-min.m.xu@intel.com> <20230119032822.1406-5-min.m.xu@intel.com> <20230119095422.ou5vbckdyn33hh5c@sirius.home.kraxel.org> In-Reply-To: <20230119095422.ou5vbckdyn33hh5c@sirius.home.kraxel.org> Accept-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=intel.com; x-ms-publictraffictype: Email x-ms-traffictypediagnostic: PH0PR11MB5064:EE_|CH0PR11MB5708:EE_ x-ms-office365-filtering-correlation-id: 783ab1b2-b3f3-40d8-1570-08dafa772938 x-ld-processed: 46c98d88-e344-4ed4-8496-4ed7712e255d,ExtAddr x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: NNtMNftj1vlSFFAdkNL3Q8ApaXlpJcvXKxIk4QjigFTjrjpDG1i7ZYApv+L06kJ3iVSzyywNOIwl2S/W3b2gLlRG8OvbQ2UI5WjTmRxnIZSU2R71rHSP6lICszEamr2bKC26X5Y1Xz89gvYIVa4n6Pn1wZ7wVji7bxPpyMkXKcgjfn925qv9Z5DEioVrgC6UObeI8JAUBaR5z4k8SvTzYQpxHFhSbBvSkdzaZpkj8HciOE2XV41FokR9XtJkYe2LBs8Syf5LQ4OvV6Wtv/kM5c+vYneB4b9a7SPvJH1iDOnU8IpwF5HCG64kFh0ayWGn4tgQC29OmfwfU8qzKaHQxzZi3Utzl06GY2rTokcjPbW+D98DCkwa8O6NXcucCs7Q6q0itbz32wZSkj4SV87f2cposxXBI0+SLmLRdbVySm7mOsXCmUDmTxp4WcSLye6Ydb6XA2LvyvaYO52i0Kle7V13fdLRr+BDGGBYMGUtPC8SxCiDjI+rZhgfknhKWb+Z7yPZ++pymnyHeU7TuyAQsFA+F3SN0+pamBoO93wG2J+sheV4O17ZRrNraq2iFpk9ncN6BIyI6fa0XCiQNwC9XesRaUl9Q9PWPb8bbt5EUkOmG373eLeVamZcaGaH3OKP6d+rQoC8HcZ01oN4cJsF107KlbR8C3VC+pNwhje0X2j7s8FNsg/GB5hJWLuX+bOwcCdTA56IAjDUKNZogJ1y7w== x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:PH0PR11MB5064.namprd11.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(366004)(346002)(376002)(39860400002)(136003)(396003)(451199015)(8936002)(52536014)(66446008)(66946007)(76116006)(6916009)(8676002)(66476007)(2906002)(64756008)(4326008)(33656002)(66556008)(82960400001)(55016003)(41300700001)(54906003)(83380400001)(122000001)(38100700002)(86362001)(19627235002)(478600001)(6506007)(186003)(26005)(316002)(71200400001)(38070700005)(9686003)(5660300002)(7696005);DIR:OUT;SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?us-ascii?Q?gnYGX1c4lsaDjWW21sLJWzNvflM0FObpr79wz8+gICDQOQIz4lm1wmXrMjIl?= =?us-ascii?Q?eQNnwiqEbVCg6RxI1EIrTqMTg7AlYFpl02SUueGY3RzK/i73AnjWM2SiolSk?= =?us-ascii?Q?FUOFzTAUM9bH0IZXE+//cCoE7LhoSGYfc54V5vb9OrePly3Dt7iUU2c0JGMq?= =?us-ascii?Q?GkFs+9kp9HyrndQ/lAjO05iXcaKqTwNsYqD8PQkEmEtWjrJTQpU3w2k0hXAN?= =?us-ascii?Q?E3FIqbA80aYoRBRgPhLfo5/QeJuhAiuLbqQ9GbsGLwCaABmEjxsPsXti4ml+?= =?us-ascii?Q?MyZ4cfQN+5Dw1MdC4e9M+XxN9hYwe+RAceHzbol7NyylanC8r8fXpNHEd2mn?= =?us-ascii?Q?jwOCKptLzSqSMZq0zdbUHoasmMHs+Rd2MhbmR11gHnP9o9jdtP1sAC9MRkKE?= =?us-ascii?Q?kRT5rDuwH8Az49AI/BhqWDA6899zZcWNO4RkFbVJArUcZ14GngBFMjgSY3Ru?= =?us-ascii?Q?XI8m4RY2+zsG7xMTEsFAgFRHiEHmz5JV24jFSaWc+zwh2+1eOrgi6xmZhIKP?= =?us-ascii?Q?tby6GJjBpdNFWEpfySKnmxCD2r/zqluNsHvrR7DnPEubElxS7WydulwXL/Nh?= =?us-ascii?Q?NHoaXeEiRwpnSLqb4xdEZ0ji/odbVOTtM5HJdejuHiXknRSnSHM3hcAdptDZ?= =?us-ascii?Q?e+W/H1LMh9oDvW8DmTCNWJAAHzUGSrD6d1wNMmZTPiW6dBcayjcet3ENsrhW?= =?us-ascii?Q?F/Y85mLzDeymRayclZGYnWEpHjsFuOeqp9KQ38NcTVRynYSvcQ+R/8MP2qGM?= =?us-ascii?Q?KOLky27QFENFKcnDCkoII4QBlXShwEt0oNUaOSDDfrDs2gS5PbzflbpGTRPs?= =?us-ascii?Q?XKINu12/wokonAcq3qdDK55MCCqJCGJuEObGlJvfxTWRwYb+HOpeAUiN1vzp?= =?us-ascii?Q?Fs12RwyxNF7Lh050TXMxEs1GzEXZSJxZNcceGMZOf+ZLW5Rp+iGNNqTXmcjQ?= =?us-ascii?Q?8uXKqyzVKBWjU8yADJ7LCEEstlA2+CddhkXWyBczSJzGh0elfdyAvCUc0mio?= =?us-ascii?Q?6A7tOTX99lzvEsozMjrJoJfr3u4MoaCC9eEbgxI7suMjgf3CHqmA3VV5R19n?= =?us-ascii?Q?EVaOdgkxzJVEwq0gVMsjlLGCWAeembcnoBkerR96+PHefgGLgJIUrKC54kkY?= =?us-ascii?Q?T6M27MIHLupFF8rPieWQFzLzW1GEv148IuVn/VBX02epeKczI+byhyCcjem/?= =?us-ascii?Q?4rIOsyA49SmML4K2Zs/UFG9mjblSMi0TYmzF/ofrab3/ymkg5kyipVQuKCw5?= =?us-ascii?Q?GV1pB7/U444yZAF3fb8f3D6Cwk/KeiIua597hPDTlOwlGwdtbHqaoCyuOPmv?= =?us-ascii?Q?Z+E+pGt5zV0rhW+QAu24PicM1cEdh1gYU+9qwfP3U+8h2ZBCKv8FjwmJkjUm?= =?us-ascii?Q?jOEZA7XwYEH//yx3Acf0XusGmQlpPW128eyWaOTZD2TuyrYmFzs5BvzLW4QN?= =?us-ascii?Q?GRo0CmKwrg6ib8vWAJzAbixpDWPjABChN0nSVAB6FR4aqPNRD6tK+AF9u1/t?= =?us-ascii?Q?6B23ifA1llcc8IgtQKTQH2mJwSsihbwOVeD54oG9nLkdC48eCJUxVeAhnG9E?= =?us-ascii?Q?wDgLq8za+JYBVJQgUUEY/HSYBgyTjUjJ+d20XgBk?= MIME-Version: 1.0 X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: PH0PR11MB5064.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 783ab1b2-b3f3-40d8-1570-08dafa772938 X-MS-Exchange-CrossTenant-originalarrivaltime: 19 Jan 2023 23:44:52.5315 (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: quiSqAddi0Jli6Lcsxr2d4EyXJzg+D0eWazrLpMz04xs3mYl4wC/B/5QeBYPJnvMsl2TZwnhHmghcYr0ouyCrQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: CH0PR11MB5708 Return-Path: min.m.xu@intel.com X-OriginatorOrg: intel.com Content-Language: en-US Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable On January 19, 2023 5:54 PM, Gerd Hoffmann wrote: > > @@ -807,7 +880,47 @@ TdxHelperMeasureTdHob ( > > VOID > > ) > > { > > - return EFI_UNSUPPORTED; > > + EFI_PEI_HOB_POINTERS Hob; > > + EFI_STATUS Status; > > + UINT8 Digest[SHA384_DIGEST_SIZE]; > > + OVMF_WORK_AREA *WorkArea; > > + VOID *TdHob; > > + > > + TdHob =3D (VOID *)(UINTN)FixedPcdGet32 (PcdOvmfSecGhcbBase); > > + Hob.Raw =3D (UINT8 *)TdHob; > > + > > + // > > + // Walk thru the TdHob list until end of list. > > + // > > + while (!END_OF_HOB_LIST (Hob)) { > > + Hob.Raw =3D GET_NEXT_HOB (Hob); > > + } >=20 > Hmm? Isn't there just a single TdHob? Why do you need to walk the list = here? No, TdHob is a HobList and it contains several Hobs, including the Resource= DescriptorHobs which describe the memory regions. So we have to walk thru t= he hob list to find out its length. >=20 > > +#pragma pack(1) > > + > > +#define HANDOFF_TABLE_DESC "TdxTable" > > +typedef struct { > > + UINT8 TableDescriptionSize; > > + UINT8 TableDescription[sizeof (HANDOFF_TABLE_DE= SC)]; > > + UINT64 NumberOfTables; > > + EFI_CONFIGURATION_TABLE TableEntry[1]; > > +} TDX_HANDOFF_TABLE_POINTERS2; > > + > > +#define FV_HANDOFF_TABLE_DESC "Fv(XXXXXXXX-XXXX-XXXX-XXXX- > XXXXXXXXXXXX)" > > +typedef struct { > > + UINT8 BlobDescriptionSize; > > + UINT8 BlobDescription[sizeof (FV_HANDOFF_TABLE_DES= C)]; > > + EFI_PHYSICAL_ADDRESS BlobBase; > > + UINT64 BlobLength; > > +} FV_HANDOFF_TABLE_POINTERS2; > > + > > +#pragma pack() >=20 > Why do you need this? For standard event types we should have those > structs already defined somewhere in edk2 I think ... These structs are defined in SecurityPkg/Tcg/Tcg2Pei/Tcg2Pei.c. Let me thin= k can they be moved to a common header file. Thanks for reminder. Thanks Min