From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mga09.intel.com (mga09.intel.com [134.134.136.24]) by mx.groups.io with SMTP id smtpd.web08.5253.1641379009662051000 for ; Wed, 05 Jan 2022 02:36:50 -0800 Authentication-Results: mx.groups.io; dkim=fail reason="unable to parse pub key" header.i=@intel.com header.s=intel header.b=fH6vX1go; spf=pass (domain: intel.com, ip: 134.134.136.24, mailfrom: maggie.chu@intel.com) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1641379009; x=1672915009; h=from:to:cc:subject:date:message-id:references: in-reply-to:content-transfer-encoding:mime-version; bh=3PqN9TQfc/jOtE3dVfkYL6ejJktcufijTZHHXQBcA+U=; b=fH6vX1gos+n/q5BQaccb+xzaECPKUeTKR7knGk4GqAXp2we8EFeZOmAJ b4bUz491bq1H8JYKWoyU7LdvYzkdwi5apQdDjwcbcIV9YEFCNf4oAxSzV vV0orbsanplovyAyq/DD4xcArTH0DUEJyfrxKQqZ74iW54kmtczvmAeNR c19BbZB+JaKTtZBJl4mQar70hWKk8obg6N+b1ImP30mul69VA8t9hlDPJ k3RhSUg73Bs8OFseNXhSddymFYJhVIfiXvcBE1MD4rM3Gpul9DJfqts8k tXXOanjCgVJMwQ7tbVNoogg36EGVUBpCZLZpgFICnfF+IezrzqSP39viL w==; X-IronPort-AV: E=McAfee;i="6200,9189,10217"; a="242213096" X-IronPort-AV: E=Sophos;i="5.88,263,1635231600"; d="scan'208";a="242213096" Received: from fmsmga003.fm.intel.com ([10.253.24.29]) by orsmga102.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 05 Jan 2022 02:36:48 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.88,263,1635231600"; d="scan'208";a="611417066" Received: from fmsmsx605.amr.corp.intel.com ([10.18.126.85]) by FMSMGA003.fm.intel.com with ESMTP; 05 Jan 2022 02:36:48 -0800 Received: from fmsmsx610.amr.corp.intel.com (10.18.126.90) by fmsmsx605.amr.corp.intel.com (10.18.126.85) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2308.20; Wed, 5 Jan 2022 02:36:48 -0800 Received: from fmsmsx603.amr.corp.intel.com (10.18.126.83) by fmsmsx610.amr.corp.intel.com (10.18.126.90) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2308.20; Wed, 5 Jan 2022 02:36:47 -0800 Received: from fmsedg601.ED.cps.intel.com (10.1.192.135) by fmsmsx603.amr.corp.intel.com (10.18.126.83) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2308.20 via Frontend Transport; Wed, 5 Jan 2022 02:36:47 -0800 Received: from NAM10-BN7-obe.outbound.protection.outlook.com (104.47.70.107) by edgegateway.intel.com (192.55.55.70) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2308.20; Wed, 5 Jan 2022 02:36:47 -0800 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=JlD1Q6Czsw2m5vkDbQG6mItkTr3UGVt50wNNaltm/Hhy4hYRDcZNe1qxceWiLuD+JyI+xQyHsg8DaPIy9njJOT7Ov4/fwgZj0diqrsnjLajpjh9LiHme8QY3zHtLEVGwhPc2jw53HnYJQmnankDgH8E24S4oxwDckNPMwUdwHQfap5AN4fFeYbubtUi0bsQ4pCVzRL2eReaxPDhI0oVirc+1QD9WiNAbV1xHvrrFOGkSFLLd4qbI6aVg+gBe/J5+J5DSZIEnXdo9oe7/Nll/JYtmmodETV8BzrTcLzwiktKgyIdpb0iArFrsFai/r3qPncGiN7ZQSYpVhP3aaQEIvQ== 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=K7Ul43pkNKv9RX6LJBO6wgft8yPvkeordNN+nO97QCA=; b=SzNZVi4PJMMQSLxZmufiD80GD09BvAHymfoOPLeecFX6cVryGt+7NR4XZFWw21MZz5VAsyeWvOMRSjwbQt+op6q8ob7zfCsSKEzwZy91ku9MaDQImxASWpRc91062DORKOfK5RVihMc5F1U8DRKCZaiUZs3C0TGjuawRXDuujlr5kIVYIG+IEGpZaLBX+T73emYEJpN5cz7i5mwDmUA+mkLS9fBYty1MRExy2tgqcaG8IByxyuejUhDn5nrdD0tpFGOT/zbIQcWEZUQO+O9L5B9tIcE/rD3kXOgmHT/7oa6iPmTCkjFebyz1FwaSCe2CxQcxDSjo7UcHwt9CeqPKeg== 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 DM6PR11MB3770.namprd11.prod.outlook.com (2603:10b6:5:13c::24) by DM5PR11MB1385.namprd11.prod.outlook.com (2603:10b6:3:9::21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4844.15; Wed, 5 Jan 2022 10:36:45 +0000 Received: from DM6PR11MB3770.namprd11.prod.outlook.com ([fe80::9572:79db:81c3:3ea5]) by DM6PR11MB3770.namprd11.prod.outlook.com ([fe80::9572:79db:81c3:3ea5%3]) with mapi id 15.20.4844.016; Wed, 5 Jan 2022 10:36:45 +0000 From: "Maggie Chu" To: "devel@edk2.groups.io" , "Chu, Maggie" CC: "Gao, Liming" , "Kinney, Michael D" , "Liu, Zhiguang" Subject: Re: [edk2-devel] [PATCH v3] MdePkg: Add registers of boot partition feature Thread-Topic: [edk2-devel] [PATCH v3] MdePkg: Add registers of boot partition feature Thread-Index: AQHYAh/6o6KO/SSY+EW2I0E0EESrOqxUO8tg Date: Wed, 5 Jan 2022 10:36:45 +0000 Message-ID: References: <16C7596FAB5B38CF.28870@groups.io> In-Reply-To: <16C7596FAB5B38CF.28870@groups.io> Accept-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: dlp-reaction: no-action dlp-version: 11.6.200.16 dlp-product: dlpe-windows 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: d7076045-1640-47b9-913a-08d9d037455b x-ms-traffictypediagnostic: DM5PR11MB1385:EE_ x-ld-processed: 46c98d88-e344-4ed4-8496-4ed7712e255d,ExtAddr 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: UJe0WCscR7hNGOSC6qsbW28zY4AxCBNFcGBRUU0tvoZzzjuhXlcOuuD2VKAIzWPHwk9U73ZsjRk8bgYBd7PN5mISbFCotT8ONYaQlDbmZ7pDpwiRN3Qnum1ks+6rMWpAQKDpA5nc71cOXvtw+EPucGu+6f/kSKDVNdrG/WEOVHPVUsT8jTLS7PtodERK3lNIqqNd0MQXX0v6PCDJT83KWiCIGjWOQILqZwgzkxLS8qfEbhubFjQRiTMrvkENl1fE1QFl5f3vK5rSM5ba34ssiVGszq1NQmGVBUAenNClZ9Gq+flGsHW8IIRp2oB6ZX5H0x+cr78i0o3OpDLQnY5OStPbYpftl/oit7C7zsSk+6Q01T59aoi1DF6dE4w6zDK2c4TlJKmTWQ6qLNvRYzOm8b/7AFI1wwDacXRw7XMqH4Sk4U7PAyqW3lhE0oI02XkrteA+7NW7TvcXJwi8qqoyXBt0ZbNP9te3bw3iasVxaITcigSrQF0oAaKGSM2B4lvuGiHB4//Arl4wRGf0hzfTKf4iRiRfXbWpJv39qEgtfTYfny0n9n38BgHqiQu9FcHih8tNKDXn7N2+pNchb+iMmPDAN4LjwJj4wYBLgQnLuor30xBuVHVGA3HzQ/6LGAgSpCNJEISwqjJ8iFSPoqi4uM3VzggvUlMmfbBYiSjJY6faHEyz5BlE7BtOM58y3l6MKYONIfqmKJZ0dEPnB9NKlXTPTIfPEp4PZkpzj1dPaE3Rh3BmldiXUgYZS+oACNNrkdsq/+HNNrZBns50QrlZ00+81v0+FTcJQ3drYKXGbxP/62YAgvRxSkEcPeTGbEJ4Y+8txBtcurdeQZ83bXxHMg== x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DM6PR11MB3770.namprd11.prod.outlook.com;PTR:;CAT:NONE;SFS:(366004)(64756008)(5660300002)(66476007)(76116006)(66446008)(66556008)(66946007)(9686003)(38070700005)(38100700002)(110136005)(82960400001)(7696005)(122000001)(83380400001)(6506007)(54906003)(8936002)(86362001)(55016003)(53546011)(8676002)(508600001)(966005)(71200400001)(2906002)(4326008)(316002)(26005)(52536014)(186003)(107886003)(33656002);DIR:OUT;SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?us-ascii?Q?1JTvV3UKPrEeaAKAk4lhEu2kxkHBz0iGROJ07hAp32r6HCq1IQNbu3Y0JHAy?= =?us-ascii?Q?OPqolL1pz6rO47lwa3FUfu9EOIytlmy6oXF42Y7lLBz1xV7xPROeVf20qewD?= =?us-ascii?Q?LzDYmyXY93AzaJ7hV58JKkImt573hucdE12rpLraevy3cHAFCnaNSXHkuaQw?= =?us-ascii?Q?PvyCDprJ21Qnx7sxuDoTCJ85JfUtSrzfDJsp5WeeJ++UU/PS0eF9WtwoBz9v?= =?us-ascii?Q?qMUm9eulxWeyfeL0btpCMObQwewxblqdmBWnTPnxbIEgdJO2X89Otz7ZoQys?= =?us-ascii?Q?P4GAFt2e8P0gT5F3tzpN0MT0r8AX7iT8ZmvUzDFIeks0yZ0mJkGHXO5+iSUD?= =?us-ascii?Q?T/+dldY5aIeTXmu02elR170W7L+ciQyRptp1/KozJ90TvxuSD4BTELXoezC6?= =?us-ascii?Q?tKpJ+AcsLGojPsFvzSJPSyyHxLC1pzWwDG4TBUjolVzkV559g2t2aGyBaCaI?= =?us-ascii?Q?Lh4KFma21jAfd+94JRTszRR26cA77dDHSxuoSZI3ad5DzMRjJV5e86nnInqh?= =?us-ascii?Q?7gt0HnmGZs1zAPbtnTws1cl0GIkxn8G/Q+LOO3RE3G4Q3Hehk2TpxuNT6vDo?= =?us-ascii?Q?b3FayjhRYjiVcLn/ZBKUzHbrprd5/rT6GPbW4swAMmAt/xCHZ+pcubUmgZiX?= =?us-ascii?Q?EOOdq6F0ArMaTWvAPa7xGqOqT6jHp3kmKPkRd3VuwB8qPBubkq8BXve9a9b/?= =?us-ascii?Q?2zc88b9jljorJhqWc5z5+QJS13ypKO208NXC0GVw2AltgqqKM+0KmZ61QsDy?= =?us-ascii?Q?2Gk4+ei02F163UvhuC7/e6WyxuraLOHpxNavzJ1WfzwAhQDt3QH91/KYnBGm?= =?us-ascii?Q?R0WaxUMTKtW+HCSq1eVFVjbJt3OWN+5cCFTds+KPE/iFu8kLA/tyUXQX6yfb?= =?us-ascii?Q?GfbhN8ZkdJf5+G2pUdeLyTB1qy/ZpEVxE7vaxVPFvl9CIRO9h1JE2jRKj9bw?= =?us-ascii?Q?UZXPXU3l5e2Rki0R5iYjPBn8YNiABtTQ6cXlMTDrCIK0XW+RS22uOgEjx6V4?= =?us-ascii?Q?e1hI3wvvYEMv7bk2aiOM760TessRH+gKEXs+eAvy0h/pi7jZhlq+EKv5un/E?= =?us-ascii?Q?oHtDTzKD/8NjLeEFNnwO9uzRSTD5W7uX1mgkwmVj/TAhaig7VOlGSTU8wyXP?= =?us-ascii?Q?qC9+vDcyMjY7pdCKe2pklxiv0A7USgB44ulxzKqI6gLimwqA7WI1lMCbhwlP?= =?us-ascii?Q?gPHWdCoxcw/L96b2AFV6NV9R3XWbsmw3zyDoozOf/1sIDMHIFauexusJRchN?= =?us-ascii?Q?HFENYxY2QOXd5m0aBD3t+Sc/2sXlWdnABv8YqMry8l1RUwOvvkY/eM/D+RFA?= =?us-ascii?Q?BoDPp8JuIwv27+1id7yiW4KU3P5EMPvJ1JXx8yAjOy3fO/dBriPlqPPwF9hl?= =?us-ascii?Q?Q35uYXCX106G+GTEUd8x1z3jo02roNUJl0aqKfVZN0uj0a+4ZVbquROdi7Bz?= =?us-ascii?Q?simO/f8BHtASU10rU7Oi885fczT1sCdFRiw2Zqz7pEieG1Ce5MpghuBsw/sC?= =?us-ascii?Q?RRRNeXgcQQQhg9yMwZV6UhRQe1sFiEapT70VC9XSR63bqxXH2ZMOkl306Em1?= =?us-ascii?Q?jce+AAsXDkTtHhpKM0DA4Zdp+DMsp4gzBT7H6D6eCwNMxlHgfEQvW63E8YPZ?= =?us-ascii?Q?vA=3D=3D?= MIME-Version: 1.0 X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: DM6PR11MB3770.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: d7076045-1640-47b9-913a-08d9d037455b X-MS-Exchange-CrossTenant-originalarrivaltime: 05 Jan 2022 10:36:45.3481 (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: fC4hOMdFrr2IWohoUUakr50DM6RPBgMicM7GV8kueG1+hj4WZ8PB+Kbpsz8pVUrS+iYiOlFjo0hELF3QxY/vmQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM5PR11MB1385 Return-Path: maggie.chu@intel.com X-OriginatorOrg: intel.com Content-Language: en-US Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable Created PR for the patch : https://github.com/tianocore/edk2/pull/2361 -----Original Message----- From: devel@edk2.groups.io On Behalf Of Maggie Chu Sent: Wednesday, January 5, 2022 6:35 PM To: devel@edk2.groups.io Cc: Gao, Liming ; Kinney, Michael D ; Liu, Zhiguang Subject: [edk2-devel] [PATCH v3] MdePkg: Add registers of boot partition fe= ature REF: https://bugzilla.tianocore.org/show_bug.cgi?id=3D3757 Add registers of boot partition feature which defined in NVM Express 1.4 Sp= ec Cc: Liming Gao Cc: Michael D Kinney Cc: Zhiguang Liu Signed-off-by: Maggie Chu --- MdePkg/Include/IndustryStandard/Nvme.h | 108 ++++++++++++++++++++----- 1 file changed, 89 insertions(+), 19 deletions(-) diff --git a/MdePkg/Include/IndustryStandard/Nvme.h b/MdePkg/Include/Indust= ryStandard/Nvme.h index 7d4aee9dc8..4a1d92c45d 100644 --- a/MdePkg/Include/IndustryStandard/Nvme.h +++ b/MdePkg/Include/IndustryStandard/Nvme.h @@ -2,11 +2,12 @@ Definitions based on NVMe spec. version 1.1. (C) Copyright 2016 Hewle= tt Packard Enterprise Development LP
- Copyright (c) 2017, Intel Corpor= ation. All rights reserved.
+ Copyright (c) 2017 - 2021, Intel Corporat= ion. All rights reserved.
SPDX-License-Identifier: BSD-2-Clause-Paten= t @par Specification Reference: NVMe Specification 1.1+ NVMe Specific= ation 1.4 **/ @@ -18,18 +19,21 @@ // // controller register offsets //-#define NVME_CAP_OFFSET 0x0000 = // Controller Capabilities-#define NVME_VER_OFFSET 0x0008 // = Version-#define NVME_INTMS_OFFSET 0x000c // Interrupt Mask Set-#def= ine NVME_INTMC_OFFSET 0x0010 // Interrupt Mask Clear-#define NVME_C= C_OFFSET 0x0014 // Controller Configuration-#define NVME_CSTS_OF= FSET 0x001c // Controller Status-#define NVME_NSSR_OFFSET 0x0020= // NVM Subsystem Reset-#define NVME_AQA_OFFSET 0x0024 // = Admin Queue Attributes-#define NVME_ASQ_OFFSET 0x0028 // Admin Su= bmission Queue Base Address-#define NVME_ACQ_OFFSET 0x0030 // Adm= in Completion Queue Base Address-#define NVME_SQ0_OFFSET 0x1000 /= / Submission Queue 0 (admin) Tail Doorbell-#define NVME_CQ0_OFFSET 0x100= 4 // Completion Queue 0 (admin) Head Doorbell+#define NVME_CAP_OFFSE= T 0x0000 // Controller Capabilities+#define NVME_VER_OFFSET = 0x0008 // Version+#define NVME_INTMS_OFFSET 0x000c // Inter= rupt Mask Set+#define NVME_INTMC_OFFSET 0x0010 // Interrupt Mask C= lear+#define NVME_CC_OFFSET 0x0014 // Controller Configuration+= #define NVME_CSTS_OFFSET 0x001c // Controller Status+#define NVME= _NSSR_OFFSET 0x0020 // NVM Subsystem Reset+#define NVME_AQA_OFFSE= T 0x0024 // Admin Queue Attributes+#define NVME_ASQ_OFFSET 0= x0028 // Admin Submission Queue Base Address+#define NVME_ACQ_OFFSET= 0x0030 // Admin Completion Queue Base Address+#define NVME_BPIN= FO_OFFSET 0x0040 // Boot Partition Information+#define NVME_BPRSEL_= OFFSET 0x0044 // Boot Partition Read Select+#define NVME_BPMBL_OFFS= ET 0x0048 // Boot Partition Memory Buffer Location+#define NVME_SQ= 0_OFFSET 0x1000 // Submission Queue 0 (admin) Tail Doorbell+#def= ine NVME_CQ0_OFFSET 0x1004 // Completion Queue 0 (admin) Head Do= orbell // // These register offsets are defined as 0x1000 + (N * (4 << CAP= .DSTRD))@@ -51,11 +55,14 @@ typedef struct { UINT8 To; // Timeout UINT16 Dstrd : 4; UINT16 Nssrs = : 1; // NVM Subsystem Reset Supported NSSRS- UINT16 Css : 4; // Comm= and Sets Supported - Bit 37- UINT16 Rsvd3 : 7;+ UINT16 Css : 8;= // Command Sets Supported - Bit 37+ UINT16 Bps : 1; // Boot Partiti= on Support - Bit 45 in NVMe1.4+ UINT16 Rsvd3 : 2; UINT8 Mpsmin := 4; UINT8 Mpsmax : 4;- UINT8 Rsvd4;+ UINT8 Pmrs : 1;+ UI= NT8 Cmbs : 1;+ UINT8 Rsvd4 : 6; } NVME_CAP; //@@ -115,7 +122,3= 6 @@ typedef struct { #define NVME_ACQ UINT64 //-// 3.1.11 Offset (1000h + ((2y) * (4 << CAP.D= STRD))): SQyTDBL - Submission Queue y Tail Doorbell+// 3.1.13 Offset 40h: B= PINFO - Boot Partition Information+//+typedef struct {+ UINT32 Bpsz : = 15; // Boot Partition Size+ UINT32 Rsvd1 : 9;+ UINT32 Brs : 2; /= / Boot Read Status+ UINT32 Rsvd2 : 5;+ UINT32 Abpid : 1; // Active= Boot Partition ID+} NVME_BPINFO;++//+// 3.1.14 Offset 44h: BPRSEL - Boot P= artition Read Select+//+typedef struct {+ UINT32 Bprsz : 10; // Boot Pa= rtition Read Size+ UINT32 Bprof : 20; // Boot Partition Read Offset+ U= INT32 Rsvd1 : 1;+ UINT32 Bpid : 1; // Boot Partition Identifier+} = NVME_BPRSEL;++//+// 3.1.15 Offset 48h: BPMBL - Boot Partition Memory Buffer= Location (Optional)+//+typedef struct {+ UINT64 Rsvd1 : 12;+ UINT64 = Bmbba : 52; // Boot Partition Memory Buffer Base Address+} NVME_BPMBL;++/= /+// 3.1.25 Offset (1000h + ((2y) * (4 << CAP.DSTRD))): SQyTDBL - Submissio= n Queue y Tail Doorbell // typedef struct { UINT16 Sqt;@@ -353,7 +389,= 7 @@ typedef struct { UINT8 Avscc; /* Admin Vendor Specific Command Configurati= on */ UINT8 Apsta; /* Autonomous Power State Transition At= tributes */ //- // Below fields before Rsvd2 are defined in NVM Express = 1.3 Spec+ // Below fields before Rsvd2 are defined in NVM Express 1.4 Spec= // UINT16 Wctemp; /* Warning Composite Temperature = Threshold */ UINT16 Cctemp; /* Critical Composite Temp= erature Threshold */@@ -361,7 +397,12 @@ typedef struct { UINT32 Hmpre; /* Host Memory Buffer Preferred Size *= / UINT32 Hmmin; /* Host Memory Buffer Minimum Size */= UINT8 Tnvmcap[16]; /* Total NVM Capacity */- UINT8 = Rsvd2[216]; /* Reserved as of NVM Express */+ UINT8 = Unvmcap[16]; /* Unallocated NVM Capacity */+ UINT32 Rpmb= s; /* Replay Protected Memory Block Support */+ UINT16 = Edstt; /* Extended Device Self-test Time */+ UINT8 D= sto; /* Device Self-test Options */+ UINT8 Fwug; = /* Firmware Update Granularity */+ UINT8 Rsvd2[192]; = /* Reserved as of Nvm Express 1.4 Spec */ // // NVM Command Set Attribu= tes //@@ -433,6 +474,34 @@ typedef struct { UINT8 VendorData[3712]; /* Vendor specific data */ } NVME_AD= MIN_NAMESPACE_DATA; +//+// RPMB Device Configuration Block Data Structure a= s of Nvm Express 1.4 Spec+//+typedef struct {+ UINT8 Bppe; /* Boo= t Partition Protection Enable */+ UINT8 Bpl; /* Boot Partition L= ock */+ UINT8 Nwpac; /* Namespace Write Protection Authentication = Control */+ UINT8 Rsvd1[509]; /* Reserved as of Nvm Express 1.4 Spec */= +} NVME_RPMB_CONFIGURATION_DATA;++#define RPMB_FRAME_STUFF_BYTES 223++//+/= / RPMB Data Frame as of Nvm Express 1.4 Spec+//+typedef struct {+ UINT8 = Sbakamc[RPMB_FRAME_STUFF_BYTES]; /* [222-N:00] Stuff Bytes */+ = /* [222:222-(N-1)] Authentication Key or = Message Authentication Code (MAC) */+ UINT8 Rpmbt; = /* RPMB Target */+ UINT64 Nonce[2];+ UINT32 Wcounter; = /* Write Counter */+ UINT32 Address; = /* Starting address of data to be programmed to or read from the RPM= B. */+ UINT32 Scount; /* Sector Count */+ UIN= T16 Result;+ UINT16 Rpmessage; /* Request/Resp= onse Message */+ // UINT8 *Data; /* Data to be = written or read by signed access where M =3D 512 * Sector Count. */+} NVME_= RPMB_DATA_FRAME;+ // // NvmExpress Admin Identify Cmd //@@ -564,6 +633,7 @@= typedef struct { #define LID_ERROR_INFO 0x1 #define LID_SMART_INFO 0x2 #define = LID_FW_SLOT_INFO 0x3+ #define LID_BP_INFO 0x15 UINT32 Rsvd1 : = 8; UINT32 Numd : 12; /* Number of Dwords */ UINT32 Rsvd2 := 4; /* Reserved as of Nvm Express 1.1 Spec */--=20 2.26.2.windows.1 -=3D-=3D-=3D-=3D-=3D-=3D Groups.io Links: You receive all messages sent to this group. View/Reply Online (#85283): https://edk2.groups.io/g/devel/message/85283 Mute This Topic: https://groups.io/mt/88211217/1807365 Group Owner: devel+owner@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [maggie.chu@intel.com] -= =3D-=3D-=3D-=3D-=3D-=3D