From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mga11.intel.com (mga11.intel.com [192.55.52.93]) by mx.groups.io with SMTP id smtpd.web12.2335.1645581396607018782 for ; Tue, 22 Feb 2022 17:56:37 -0800 Authentication-Results: mx.groups.io; dkim=fail reason="unable to parse pub key" header.i=@intel.com header.s=intel header.b=B+1ruSqB; spf=pass (domain: intel.com, ip: 192.55.52.93, 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=1645581396; x=1677117396; h=from:to:cc:subject:date:message-id:references: in-reply-to:content-transfer-encoding:mime-version; bh=lc0q3TPqyrYz8ITw7/Gd/ak6dH9uP40wMYUCN+3l000=; b=B+1ruSqBWRvf/XKkHrnl8NVcZ+rbbLcXE3Kn38xblfj9pyWPkF5RM4BK iLRHQbJYqqUdAb9DiWksLjtXUKp464xKarZg7b7q+DZJJ5VTmBdOk6+uT htCc+4s2SeiTW4lrvbiFL1EV+mm+ymdWO8mTmW1c0QWNX6mHVVyE2QeIW FdYPgZpRoE3JrAhhKNcxwlYLuw6yo4qVzZBQXpiuYLqeXMFjsecrcHo2k dfSHQW67vnV54AOSUsiVnc5d5Ti0b5+mg2oDDc4ifXOHN9y98maVvlNwk vTT4UMD4E4IHnbH5sHq/Dpj/vwtWqEkLn6wxTmFuXpd1h1+EfI21cxGq+ A==; X-IronPort-AV: E=McAfee;i="6200,9189,10266"; a="249444997" X-IronPort-AV: E=Sophos;i="5.88,389,1635231600"; d="scan'208";a="249444997" Received: from fmsmga005.fm.intel.com ([10.253.24.32]) by fmsmga102.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 22 Feb 2022 17:56:35 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.88,389,1635231600"; d="scan'208";a="780232782" Received: from orsmsx601.amr.corp.intel.com ([10.22.229.14]) by fmsmga005.fm.intel.com with ESMTP; 22 Feb 2022 17:56:35 -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.2308.21; Tue, 22 Feb 2022 17:56:33 -0800 Received: from orsmsx607.amr.corp.intel.com (10.22.229.20) 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.2308.20; Tue, 22 Feb 2022 17:56:33 -0800 Received: from ORSEDG601.ED.cps.intel.com (10.7.248.6) by orsmsx607.amr.corp.intel.com (10.22.229.20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2308.20 via Frontend Transport; Tue, 22 Feb 2022 17:56:33 -0800 Received: from NAM04-DM6-obe.outbound.protection.outlook.com (104.47.73.40) by edgegateway.intel.com (134.134.137.102) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2308.20; Tue, 22 Feb 2022 17:56:33 -0800 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=Kn+YOsxIcDD88Vo2sDLGP6wVjUwMawfo34crsPT0mxMG815vbYm3AH/O57De/JbANSz+jzsp9VRWg3kVwOG95eDELfiB3cT73BjlzQuaXc9KPuXlftrEsZX6Q3WcwEGmi4tCMRXqKVXLipodQ+kLJbWnAP2U+OEu09zEyzvtQhfA/L7c/9S2cfSghnjrp9qT9cFCqTKtpjTVXGzdk4SCDnxOH6+vP4PcBQzoxpXE/LOgcfyY/LKszHADIdiK2Uv2AA6HmfZHEpTTmxoRiS0I83fjvNLXx8XzYSlqYKPzqRCcIQDCOJPDgQHmMun08nxaym8qFrJY1XZoeK1+OUfBJQ== 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=Uua3pw0Y4grzjL1+f/vnTMtQck84mT277g/p4Xuup8c=; b=OjEaBA3MnAJ8V8+TFxU8/QxUyZ/Qg4Bk9vbGdOUnSITSgUjaSFTjblCyyKF01fLrIc6pl8RuQIlk/WZHUKfUv2PUZYz33YgPKZrd/BXYPScCkVs+ZUxcCmEifuG25gnRc0tysHA0p/kohQTYQ+x7SBZPZ5AJtUGAHNJRWw6pn/TqpHwChtfY8CMXCNp888dH7CREpROOhREIlWglEWZSap60kT2eXeKRDzPLTUtQUDmLJGBDOapVpyiJ2XkZ6UFmdOqfqd9hAy7hc6Sfiee45+qqfeZ2UnzDnljIu0ugss1IB0Y5xj8bFyvD+sZgp3jaBmBIv4m+4joIDcY6ZH5z2w== 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 MN2PR11MB3694.namprd11.prod.outlook.com (2603:10b6:208:f7::22) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4995.15; Wed, 23 Feb 2022 01:56:31 +0000 Received: from PH0PR11MB5064.namprd11.prod.outlook.com ([fe80::98f5:edb6:aee6:6886]) by PH0PR11MB5064.namprd11.prod.outlook.com ([fe80::98f5:edb6:aee6:6886%8]) with mapi id 15.20.4995.026; Wed, 23 Feb 2022 01:56:31 +0000 From: "Min Xu" To: "devel@edk2.groups.io" , "Kinney, Michael D" , "Gao, Liming" , "Liu, Zhiguang" CC: Gerd Hoffmann , "Yao, Jiewen" Subject: Re: [PATCH V6 01/42] MdePkg: Add Tdx.h Thread-Topic: [PATCH V6 01/42] MdePkg: Add Tdx.h Thread-Index: AQHYJYfZcL/Uv62N5kOZ+fCHo1kjYqygZH5A Date: Wed, 23 Feb 2022 01:56:31 +0000 Message-ID: References: <5255b53a22166c9ef726bcefeaca1dec286f0b0e.1645261990.git.min.m.xu@intel.com> In-Reply-To: <5255b53a22166c9ef726bcefeaca1dec286f0b0e.1645261990.git.min.m.xu@intel.com> Accept-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: dlp-product: dlpe-windows dlp-reaction: no-action dlp-version: 11.6.200.16 authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=intel.com; x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 201e774e-fa6a-48d9-9380-08d9f66fb69e x-ms-traffictypediagnostic: MN2PR11MB3694:EE_ x-ld-processed: 46c98d88-e344-4ed4-8496-4ed7712e255d,ExtAddr x-microsoft-antispam-prvs: x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: EawsPZPwEI0A7B3yhYpibHxkfeITS+M89LE+zLODcYnIm2kFIpA3tzvOGt1aDR6bRlMA1gMXcsWs1jDj5znMh5z1RrnBXNVz1JLmlUtBQZ7vDYChPCF4yJCdQfGqoQCHazR6y2j4rxHY7pFwdUM6HrKUI1lgyegkl7BxkW9kwFRtWHRWYh3OgJZHT7GGAEPLFsp0Gvn/DLSV9fdFk1+K8ZUqq6G6Cs772OH+QuwYe6WagAyL8mpcI905fieOG3BXI0td0XAwej6gC9EOdkesZ0NAR5+qn8hhhckupcTsouYzd5eYvtd8zNdaTIS0Ig+Tf/LDnBgs1w9YbR2PGYfQ7fPEtH7Le2VVI2125KgRWES+tLQTfqR32yfma1vkFa0Yy3O974U3HQkolec2HLBeF2tjumlsgRn1nREUY4JbAIWliWTxlUglsFWzEA3J7oWP+kzvxB1KfQFIA6vDhvB7vvSDKoavPVg7ViO/6PjJwS5oa9Yri/umpcyENXiWjglO+OAMjUcRcx/mbXZG1zHBhHd6h6Gp/XTF6tNCylRKtiICk2n356vZyvhNNc46stc3jdUksbT2ht7cXNBUc5gmMVilxVz7c2O0Q+xhbh8F800YHSKo0o6/ZGnKaHj9hsbwvQQUz2NThK0eLBsCxzTj5BPmbf+cyf4Zkuwp4FRZ5m23dlfv6iYalWZq2wLF8XhgJhYguUv8LbYC1sX5LTezefRG+tOSU5iS1b/3hhLpW+Zpi+L8Jb/ncprRCIMXpuIWESEZtq9s+YDU7tHfzQ+SBMw4+7gkYwW/HfiWRA9agsbw+1XmeBh9+GbVUUGrbzcI94ExtPV3jO8Ip9blrJ64Og== 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:(13230001)(366004)(107886003)(26005)(33656002)(186003)(71200400001)(55016003)(2906002)(52536014)(8936002)(9686003)(7696005)(83380400001)(6506007)(508600001)(966005)(38100700002)(82960400001)(66556008)(66446008)(86362001)(38070700005)(6636002)(316002)(4326008)(5660300002)(66946007)(76116006)(110136005)(54906003)(66476007)(8676002)(64756008)(122000001);DIR:OUT;SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?us-ascii?Q?1BwddRFb6tMk+8LDe/kM//fa3N8xFI28uvN/9+1gXenhTnb3pvyq58pjtVDn?= =?us-ascii?Q?V4GpR/xDdnxBBZOCHx1vldvCEE8hMJSMPgTDGAeKjl33WnmuqvWhm2Vdefy5?= =?us-ascii?Q?YQtjw3nGyLx5h2S7ZonqljJIKx/Yvnv/5PNruaWjB+gPLRL2pN/O78PhjfF8?= =?us-ascii?Q?AOBAn8V2m2ZBJhSDg4CbXkb2I37WxpTPAY5myeXUt/tNE2vtSnY4xlQRY8EI?= =?us-ascii?Q?T9/RkGtomfxqRv90gy4T1uvEruKJQDMau7qD1yLtD6wvbbKcSmxQQ8lfL9a8?= =?us-ascii?Q?Xauk/zoR6H3jd+b1Ro+VQRuOJ7tiyy6Ap7/RudbfAicmvvc6wzstdfSilTYz?= =?us-ascii?Q?rn9qDkBXAkoLxytkCY132agmGs083kYfhCmMhY8A0IioIgiaTiRAb5/2ZWZg?= =?us-ascii?Q?yO1oQmbcAD/SjC+ZhnyMaQZ9BMohllLl+gxhmDXgLaMPx6SCerfjnF9n+BdN?= =?us-ascii?Q?ZeFByLVIJ3pQ9kYDWDh3YDPudBmMGpB0cmTNQjSTFYXJH5LzuwnfA8jMiVBB?= =?us-ascii?Q?fwje6dvsxxx4gDbEXpJbnuWV/E+nITthtxapwJ28mJI7mf3+/7QnBggYtwpC?= =?us-ascii?Q?uf9GB/eVdiVLB5Ku/axuV/RiPAQkPzfMnrDV1QA5PXR6PkAa0Qrux25oUY6b?= =?us-ascii?Q?fN8801uRkGhrbIgOFfhvenJNafeGVc+u0HKOrqDBY3r+nLnlzU1TTw0TcwbM?= =?us-ascii?Q?Ym13KKDsEDLQnyEuwT0cH4KYPDwiNt504wA6ki1pDuXiqdDYMrRGa+f1Cfqw?= =?us-ascii?Q?ZRFJ8VAsxnLiusPe3IFL7nbwidMBaMcZxgB2jP+uQZNGegOeXLWJJj7AXfRO?= =?us-ascii?Q?oipnghNyr1lVK60Bu1OAukrPyEv7o4rocdqD2t/i8EBGMblTmQRXANvrF4DA?= =?us-ascii?Q?k5bBK/abe+48XOtwq7qCFIAysFZoGe9bg76cJPu8QN5gJgMUyh17A3ME8V46?= =?us-ascii?Q?PkR9yTX8gx8wwwQZwnKWJEmGAhQ51ZqQud/GLcxiYPWtBF4sFYJYzH0BQva3?= =?us-ascii?Q?GH1UWGC9pM1Vtuf42mkzME+Y2huyBBWFdKch+dDVB9YwzBqPHZI+XxM3pLYM?= =?us-ascii?Q?J7FitJZNu71HE9tilfp0bkdr3YfoOWu9KrtQs1R33qzdrchSn0P7eOky7BhY?= =?us-ascii?Q?PltGtCoSBfwzFUzG3IWJVu2Fd8Fpngu4rbqSz34AIa6L7uStGINCf+3sbwQy?= =?us-ascii?Q?lb5Lq+LqMUzRKngxr1J9h8T+nUOytBVE8/A7lQp+pzCX+x62IX6ykCUHCMjN?= =?us-ascii?Q?szEJ94iotGvkkTPouzzY5XuAuESVqN+sMlJiWr/LG0lZ2dxbThzoB3RpidST?= =?us-ascii?Q?qy3/IZYmjvrR13FMuIq4iNuvT5f5WrQbajZXraYHy1xvZ5vyRAJHuqrBVFF/?= =?us-ascii?Q?lNxeVtV0wGwCpVHnPG5jh9b252OR+FH60fN3hZDKfPJgQADA8TFR9nz/qRFg?= =?us-ascii?Q?4LPqccssacTRUDplSa8H6SyFHM33vf/ByTfigif13ei/uZhJ0TeEktnlgMUI?= =?us-ascii?Q?2BKNf9leXzD/tXb6oBWAFOC1fXZcgXpqnG9xO/+vgESnOXmbm/g0QSBSLtEh?= =?us-ascii?Q?z/bZ5ni6unHduYmlOA9TkXzN7NcPEs4Do0SmGXpQYtlx50zbKchBgjgE/EDN?= =?us-ascii?Q?L+jprKBqEC7r3296byNEDnY=3D?= 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: 201e774e-fa6a-48d9-9380-08d9f66fb69e X-MS-Exchange-CrossTenant-originalarrivaltime: 23 Feb 2022 01:56:31.3878 (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: ZP+JGejOfi30ejY7etlXGf1YosaI4kKdkizhJ+J65EZEbzr6Ez1vDtr5YjKs9sgPdD//6jVdtEgRbVNSBdXSDw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: MN2PR11MB3694 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 Hi, Michael & Liming & Zhiguang I am doing the TDVF upstreaming and this commit is in MdeModulePkg. You're = the maintainer/reviewer of MdeModulePkg.=20 Your comments to this patch is great helpful. The complete code is at: https://github.com/mxu9/edk2/tree/tdvf_wave2.v6 Thanks Min > RFC: https://bugzilla.tianocore.org/show_bug.cgi?id=3D3429 >=20 > Tdx.h includes the Intel Trust Domain Extension definitions. >=20 > Detailed information can be found in below document: > https://software.intel.com/content/dam/develop/external/us/en/ > documents/tdx-module-1eas-v0.85.039.pdf >=20 > Cc: Michael D Kinney > Cc: Liming Gao > Cc: Zhiguang Liu > Cc: Gerd Hoffmann > Cc: Jiewen Yao > Acked-by: Gerd Hoffmann > Signed-off-by: Min Xu > --- > MdePkg/Include/IndustryStandard/Tdx.h | 203 > ++++++++++++++++++++++++++ > 1 file changed, 203 insertions(+) > create mode 100644 MdePkg/Include/IndustryStandard/Tdx.h >=20 > diff --git a/MdePkg/Include/IndustryStandard/Tdx.h > b/MdePkg/Include/IndustryStandard/Tdx.h > new file mode 100644 > index 000000000000..81df1361842b > --- /dev/null > +++ b/MdePkg/Include/IndustryStandard/Tdx.h > @@ -0,0 +1,203 @@ > +/** @file > + Intel Trust Domain Extension definitions > + Detailed information is in below document: > + > +https://software.intel.com/content/dam/develop/external/us/en/documen > ts > + /tdx-module-1eas-v0.85.039.pdf > + > + Copyright (c) 2020 - 2021, Intel Corporation. All rights > + reserved.
> + SPDX-License-Identifier: BSD-2-Clause-Patent > + > +**/ > + > +#ifndef MDE_PKG_TDX_H_ > +#define MDE_PKG_TDX_H_ > + > +#define EXIT_REASON_EXTERNAL_INTERRUPT 1 > +#define EXIT_REASON_TRIPLE_FAULT 2 > + > +#define EXIT_REASON_PENDING_INTERRUPT 7 > +#define EXIT_REASON_NMI_WINDOW 8 > +#define EXIT_REASON_TASK_SWITCH 9 > +#define EXIT_REASON_CPUID 10 > +#define EXIT_REASON_HLT 12 > +#define EXIT_REASON_INVD 13 > +#define EXIT_REASON_INVLPG 14 > +#define EXIT_REASON_RDPMC 15 > +#define EXIT_REASON_RDTSC 16 > +#define EXIT_REASON_VMCALL 18 > +#define EXIT_REASON_VMCLEAR 19 > +#define EXIT_REASON_VMLAUNCH 20 > +#define EXIT_REASON_VMPTRLD 21 > +#define EXIT_REASON_VMPTRST 22 > +#define EXIT_REASON_VMREAD 23 > +#define EXIT_REASON_VMRESUME 24 > +#define EXIT_REASON_VMWRITE 25 > +#define EXIT_REASON_VMOFF 26 > +#define EXIT_REASON_VMON 27 > +#define EXIT_REASON_CR_ACCESS 28 > +#define EXIT_REASON_DR_ACCESS 29 > +#define EXIT_REASON_IO_INSTRUCTION 30 > +#define EXIT_REASON_MSR_READ 31 > +#define EXIT_REASON_MSR_WRITE 32 > +#define EXIT_REASON_INVALID_STATE 33 > +#define EXIT_REASON_MSR_LOAD_FAIL 34 > +#define EXIT_REASON_MWAIT_INSTRUCTION 36 > +#define EXIT_REASON_MONITOR_TRAP_FLAG 37 > +#define EXIT_REASON_MONITOR_INSTRUCTION 39 > +#define EXIT_REASON_PAUSE_INSTRUCTION 40 > +#define EXIT_REASON_MCE_DURING_VMENTRY 41 > +#define EXIT_REASON_TPR_BELOW_THRESHOLD 43 > +#define EXIT_REASON_APIC_ACCESS 44 > +#define EXIT_REASON_EOI_INDUCED 45 > +#define EXIT_REASON_GDTR_IDTR 46 > +#define EXIT_REASON_LDTR_TR 47 > +#define EXIT_REASON_EPT_VIOLATION 48 > +#define EXIT_REASON_EPT_MISCONFIG 49 > +#define EXIT_REASON_INVEPT 50 > +#define EXIT_REASON_RDTSCP 51 > +#define EXIT_REASON_PREEMPTION_TIMER 52 > +#define EXIT_REASON_INVVPID 53 > +#define EXIT_REASON_WBINVD 54 > +#define EXIT_REASON_XSETBV 55 > +#define EXIT_REASON_APIC_WRITE 56 > +#define EXIT_REASON_RDRAND 57 > +#define EXIT_REASON_INVPCID 58 > +#define EXIT_REASON_VMFUNC 59 > +#define EXIT_REASON_ENCLS 60 > +#define EXIT_REASON_RDSEED 61 > +#define EXIT_REASON_PML_FULL 62 > +#define EXIT_REASON_XSAVES 63 > +#define EXIT_REASON_XRSTORS 64 > + > +// TDCALL API Function Completion Status Codes > +#define TDX_EXIT_REASON_SUCCESS 0x0000000000000000 > +#define TDX_EXIT_REASON_PAGE_ALREADY_ACCEPTED > 0x00000B0A00000000 > +#define TDX_EXIT_REASON_PAGE_SIZE_MISMATCH 0xC0000B0B00000000 > +#define TDX_EXIT_REASON_OPERAND_INVALID 0xC000010000000000 > +#define TDX_EXIT_REASON_OPERAND_BUSY 0x8000020000000000 > + > +// TDCALL [TDG.MEM.PAGE.ACCEPT] page size #define > +TDCALL_ACCEPT_PAGE_SIZE_4K 0 #define TDCALL_ACCEPT_PAGE_SIZE_2M > 1 > +#define TDCALL_ACCEPT_PAGE_SIZE_1G 2 > + > +#define TDCALL_TDVMCALL 0 > +#define TDCALL_TDINFO 1 > +#define TDCALL_TDEXTENDRTMR 2 > +#define TDCALL_TDGETVEINFO 3 > +#define TDCALL_TDREPORT 4 > +#define TDCALL_TDSETCPUIDVE 5 > +#define TDCALL_TDACCEPTPAGE 6 > + > +#define TDVMCALL_CPUID 0x0000a > +#define TDVMCALL_HALT 0x0000c > +#define TDVMCALL_IO 0x0001e > +#define TDVMCALL_RDMSR 0x0001f > +#define TDVMCALL_WRMSR 0x00020 > +#define TDVMCALL_MMIO 0x00030 > +#define TDVMCALL_PCONFIG 0x00041 > + > +#define TDVMCALL_GET_TDVMCALL_INFO 0x10000 > +#define TDVMCALL_MAPGPA 0x10001 > +#define TDVMCALL_GET_QUOTE 0x10002 > +#define TDVMCALL_REPORT_FATAL_ERR 0x10003 > +#define TDVMCALL_SETUP_EVENT_NOTIFY 0x10004 > + > +#pragma pack(1) > +typedef struct { > + UINT64 Data[6]; > +} TDCALL_GENERIC_RETURN_DATA; > + > +typedef struct { > + UINT64 Gpaw; > + UINT64 Attributes; > + UINT32 MaxVcpus; > + UINT32 NumVcpus; > + UINT64 Resv[3]; > +} TDCALL_INFO_RETURN_DATA; > + > +typedef union { > + UINT64 Val; > + struct { > + UINT32 Size : 3; > + UINT32 Direction : 1; > + UINT32 String : 1; > + UINT32 Rep : 1; > + UINT32 Encoding : 1; > + UINT32 Resv : 9; > + UINT32 Port : 16; > + UINT32 Resv2; > + } Io; > +} VMX_EXIT_QUALIFICATION; > + > +typedef struct { > + UINT32 ExitReason; > + UINT32 Resv; > + VMX_EXIT_QUALIFICATION ExitQualification; > + UINT64 GuestLA; > + UINT64 GuestPA; > + UINT32 ExitInstructionLength; > + UINT32 ExitInstructionInfo; > + UINT32 Resv1; > +} TDCALL_VEINFO_RETURN_DATA; > + > +typedef union { > + TDCALL_GENERIC_RETURN_DATA Generic; > + TDCALL_INFO_RETURN_DATA TdInfo; > + TDCALL_VEINFO_RETURN_DATA VeInfo; > +} TD_RETURN_DATA; > + > +/* data structure used in TDREPORT_STRUCT */ typedef struct { > + UINT8 Type; > + UINT8 Subtype; > + UINT8 Version; > + UINT8 Rsvd; > +} TD_REPORT_TYPE; > + > +typedef struct { > + TD_REPORT_TYPE ReportType; > + UINT8 Rsvd1[12]; > + UINT8 CpuSvn[16]; > + UINT8 TeeTcbInfoHash[48]; > + UINT8 TeeInfoHash[48]; > + UINT8 ReportData[64]; > + UINT8 Rsvd2[32]; > + UINT8 Mac[32]; > +} REPORTMACSTRUCT; > + > +typedef struct { > + UINT8 Seam[2]; > + UINT8 Rsvd[14]; > +} TEE_TCB_SVN; > + > +typedef struct { > + UINT8 Valid[8]; > + TEE_TCB_SVN TeeTcbSvn; > + UINT8 Mrseam[48]; > + UINT8 Mrsignerseam[48]; > + UINT8 Attributes[8]; > + UINT8 Rsvd[111]; > +} TEE_TCB_INFO; > + > +typedef struct { > + UINT8 Attributes[8]; > + UINT8 Xfam[8]; > + UINT8 Mrtd[48]; > + UINT8 Mrconfigid[48]; > + UINT8 Mrowner[48]; > + UINT8 Mrownerconfig[48]; > + UINT8 Rtmrs[4][48]; > + UINT8 Rsvd[112]; > +} TDINFO; > + > +typedef struct { > + REPORTMACSTRUCT ReportMacStruct; > + TEE_TCB_INFO TeeTcbInfo; > + UINT8 Rsvd[17]; > + TDINFO Tdinfo; > +} TDREPORT_STRUCT; > + > +#pragma pack() > + > +#endif > -- > 2.29.2.windows.2