From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mga06.intel.com (mga06.intel.com [134.134.136.31]) by mx.groups.io with SMTP id smtpd.web11.6006.1675305648038629086 for ; Wed, 01 Feb 2023 18:40:48 -0800 Authentication-Results: mx.groups.io; dkim=fail reason="unable to parse pub key" header.i=@intel.com header.s=intel header.b=W1bukiNi; spf=pass (domain: intel.com, ip: 134.134.136.31, mailfrom: hao.a.wu@intel.com) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1675305648; x=1706841648; h=from:to:cc:subject:date:message-id:references: in-reply-to:content-transfer-encoding:mime-version; bh=WgqfQVETaAIqy39+R5DZY1QhxWGK9peKf6QHdDjFL/k=; b=W1bukiNiJJ04dOPx4OC6Ly1/2IQU8VMt6cfquYYGz/LGUzQ+49JIaXe7 10gymyKpjAjWP6mBYClIVA/eA90SO5O7xDDHBDMLHq/1Mux0XWsZBCXGU b5azkydPJ+mDmQX4Fx6xSjtxAHc1D+Z5SJWqVZ14jlWoNMSvflI7YcPRs GDawTYs0QN4kbIM+zVMeiMlgMvqvy2VXmYJQcfaAzyid6DGw3Z7/bY3xt 9w+P8RbKR+qsPwiQBVhBIEpcAOf1KLf41cScdgQ6AU7AyvUGguwfV+pxY 5VEE/35eP7g22i3kun0CzhNuT2pEZUkrPoPbK9ofiTRmc/WPFXkq0y4p6 w==; X-IronPort-AV: E=McAfee;i="6500,9779,10608"; a="390725243" X-IronPort-AV: E=Sophos;i="5.97,266,1669104000"; d="scan'208";a="390725243" Received: from fmsmga002.fm.intel.com ([10.253.24.26]) by orsmga104.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 01 Feb 2023 18:40:45 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6500,9779,10608"; a="773685235" X-IronPort-AV: E=Sophos;i="5.97,266,1669104000"; d="scan'208";a="773685235" Received: from fmsmsx603.amr.corp.intel.com ([10.18.126.83]) by fmsmga002.fm.intel.com with ESMTP; 01 Feb 2023 18:40:45 -0800 Received: from fmsmsx611.amr.corp.intel.com (10.18.126.91) 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.2507.16; Wed, 1 Feb 2023 18:40:45 -0800 Received: from fmsmsx610.amr.corp.intel.com (10.18.126.90) by fmsmsx611.amr.corp.intel.com (10.18.126.91) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.16; Wed, 1 Feb 2023 18:40:44 -0800 Received: from fmsedg602.ED.cps.intel.com (10.1.192.136) 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.2507.16 via Frontend Transport; Wed, 1 Feb 2023 18:40:44 -0800 Received: from NAM10-DM6-obe.outbound.protection.outlook.com (104.47.58.106) by edgegateway.intel.com (192.55.55.71) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2507.16; Wed, 1 Feb 2023 18:40:44 -0800 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=Y2QOXRa9FSSS3S36UXUWHmqBXAdEtT0iT1ikceZ3fSZGulXZV2IMQTBGyG/PEiDvTqkGK0Mi7bg83SVTT8jyw5KNCSN/JrOPZSknHmqpDoBvc+YErmbVz9UWNAyvVaeirG5SHQe9Zj5q1yLXZyD9Y3pvsOWdgYPgHQkLJbmab9QMH8HVcv2X68aKGEh0ZmCDlNLPwX1ROWWcWMP3/H7Ghyjh2g85iZphEa7DWtCnRP/mkM5Tj2Xb2fUKaRsyC7jy2byPAwfaQm0Bdk1mIGRSe215ZmBsl/BHABc5Q+tTt7ODJMpb+bunQHguVS7Y43j8uqObhGOWP5JFZubBswUj+A== 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=vrjt9wt3DTXFvjFj6wxHPt9V548pI6x64qZ1AjxrAdc=; b=fzUORcHnXoRPqsPA02hRDy7hgPXdtpbx2xIgZCrTrEVVBmsSc+0V7ZTc4rasXLX4w6NnANWS65ugKzTdnMOJpQocv+UFWquGdCdvihasPK75xK0RhLtqjMzSdGlLkBfpSDesen4oXsCA9WO2YPyNF0Lqa6rC4FaKMWL/QmosODiPowLeq96rBCi+1HmhSOAYQpzFe/SCczMv3qcTp1ag7qVf+z8iVVGux3aoiS1dnR9OnIelv++H0My92MZdENAV8pnGiq7lbxA7d3KL68at0CHFKF9UQ//flSFbqkks21EyzRWUU2nN43meSo35FE1tZg0OtL7mQZrvQ+3pGSu7Rw== 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 MN2PR11MB4031.namprd11.prod.outlook.com (2603:10b6:208:150::18) by PH7PR11MB7717.namprd11.prod.outlook.com (2603:10b6:510:2b8::8) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6043.36; Thu, 2 Feb 2023 02:40:42 +0000 Received: from MN2PR11MB4031.namprd11.prod.outlook.com ([fe80::e086:f4b4:bb08:af59]) by MN2PR11MB4031.namprd11.prod.outlook.com ([fe80::e086:f4b4:bb08:af59%7]) with mapi id 15.20.6064.025; Thu, 2 Feb 2023 02:40:42 +0000 From: "Wu, Hao A" To: "devel@edk2.groups.io" , "Zhu, Weipu" CC: "Kinney, Michael D" , "Gao, Liming" , "Liu, Zhiguang" Subject: Re: [edk2-devel] [PATCH 1/2] MdePkg: Add RPMB related commands and DCB definition for NVMe Thread-Topic: [edk2-devel] [PATCH 1/2] MdePkg: Add RPMB related commands and DCB definition for NVMe Thread-Index: AQHZNnI0PnOakr0Wq0CpoPnCMe/H4q666z4Q Date: Thu, 2 Feb 2023 02:40:42 +0000 Message-ID: References: <2e4c3646b03b7660b7e6430b202ea01ee3cee0be.1673939866.git.weipu.zhu@intel.com> In-Reply-To: <2e4c3646b03b7660b7e6430b202ea01ee3cee0be.1673939866.git.weipu.zhu@intel.com> Accept-Language: en-US, zh-CN 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: MN2PR11MB4031:EE_|PH7PR11MB7717:EE_ x-ms-office365-filtering-correlation-id: 91b8b137-cec7-4e79-bb3b-08db04c6e0c5 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: WdyldFTBF7zil1YIkLrAUqwyPC2lpI71vMyj44S/ivhpLqLXVKIptYzXDIKklPSL9iO/7Ku3v6XrVFvTaf3B5SZyhwFHXsNozGrIUaqb/qkAGc9nakUka3eGsZ+gfSwUAUmk6/khu2BJW1kgilfiTpzqgr3W6viJZ1uMAgVA4IaKGzwT0P6cIuR6Gchfdo5xmuvCx4whNJb7ku+s3iPp2h/iwYQFV57tKLd59Q7sPJZoRbt4ISC9yY0NqHeQttLLYkw3OYr5kFG7r7OrxMPlFt0Yi139t+Zbn2xkExkd6CmRWBJ1Hop4gAD+OkugBodnBvQG6l6jyp1hB+33eZPiBtl03VH8QpZjiwbL1oIf2FWzTpBBH1NlmqO6lplpyCmFh8HCHNehV4DnC3xh9taYMz7mgCo81TQZgUIBdE7+KsEit50PqbaanxIPHknurMakCaw2xwh7FpCqMPGq0zN21aN7SZ2DpqEpNbRL4vwoPZ4rEDNAuV38NJGcSalDQnLIshGAl81xct+693gA7AcoaDNalfA/MNNUVTfeNFakLtRwTDOVg48F/o/SgwQ7HmYdOoWe34f10B+OqI7POTH8C5AV+WduYqCURY7CVAh1nJa3W6/NKtV4i7b5lePKYoJ3bbz6oK1JEznJj4AEjuOb6Di73iouZYtWgQGk/IpTAnKYSL6da314KZLT9lphOsmqysXmtYSYjOJWOv3sjavdbHkE4CP8di07XJqrr149laYRosTb3Ov6/brWEeMPVEb554g0sGi1oD0U0G9BHEbgKA== x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:MN2PR11MB4031.namprd11.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(376002)(346002)(366004)(136003)(396003)(39860400002)(451199018)(54906003)(110136005)(6636002)(83380400001)(186003)(9686003)(316002)(2906002)(33656002)(26005)(82960400001)(66446008)(66899018)(38100700002)(66946007)(478600001)(8676002)(76116006)(66556008)(86362001)(8936002)(71200400001)(122000001)(6506007)(53546011)(55016003)(107886003)(7696005)(4326008)(41300700001)(966005)(64756008)(66476007)(38070700005)(52536014)(5660300002);DIR:OUT;SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?us-ascii?Q?76s27yBPT8eY0wx8+bCqHXgsR8HvcRILQBsyQ2Zzrs55FHVYJVpKrqV1Revz?= =?us-ascii?Q?jz0yn+U0ctC5MB5KREd3QUdVdxBZa43/1i134v8ys57ECOMTAQGdBO1+R4Fb?= =?us-ascii?Q?AmB7clIrYvyDXHN0n/SgR4HEze+SOv8JAsv3G5zYT0wpUlRVa/5+WBztlzSY?= =?us-ascii?Q?lYwZnvnoXd7kARpHbKMfVQFnaED63HZBnt3i9yfoT56UClMMI80roe2eEi/T?= =?us-ascii?Q?8si6z0jSnlgxhQztfF31Py9IkKMdGVianMtpPrwvXfEow6h3bCKEbP3QMG5E?= =?us-ascii?Q?ryUeVfVIf3FEXxuIK6sFXUQQnxMamDlcpNmjNZP+5r/nC04N2GvUtRIhdoSS?= =?us-ascii?Q?X1ahECcwsx3ewt1AoskdTZ0HrFcsX+vHmZy5bRNCK9vABMa6vxbtZteCKiY+?= =?us-ascii?Q?/t8oqEE7V6iE5U6WnCCQSTUXrxTCuKi/6XYIkl6mj0x8eqtUeVj2rDoryrzg?= =?us-ascii?Q?HiuoGwMmHaiQe+sKUlhjVrifsVW8zR7pBZbdCKYLRUqZvkcbAYSFWlwljEeV?= =?us-ascii?Q?zAcJ4LeJ00pwRUeXwjQrbfWHKLotE9ql94eAmrzb66QXihDTHTEQmWaIQesG?= =?us-ascii?Q?801jbLMFOMCaTG/pF56uCPrev2ATTK3y4lmx1gY++j8JTIHtWH5omkNY04zX?= =?us-ascii?Q?5H5h5B2heVxe9AchuiIrZ+h5qRBhua4HXi1H7rqFXN+4dCaoROWbywsQmgsO?= =?us-ascii?Q?VP1liKXdg2BYip2F/el70vs+CvUYk0g1Wli+NIjM+5k4nCjkL4jb8pU0MA+c?= =?us-ascii?Q?j3KprBZQ86eFl2moCeX5Ae1gc2xf0ErSMIQY/EJ4thjI1FX2s6tQjtD5MXsS?= =?us-ascii?Q?rSfdKn7hoDjGP3ggbeXwQuLm7sed8S04IFzxF5WQ1s8IIXhzk/I+Whg37Clw?= =?us-ascii?Q?OsKNHkdAg0Oe5GOVZIKaQPoaeF3lpAOjnlS3Xyn5zAINoG7Wf9XmbAJVqZZM?= =?us-ascii?Q?M4jlCOPIl+x7YChRrmiHBZNWZHAbHUIvxuI419Cf4Ttx7x48stxZLxOrp9p0?= =?us-ascii?Q?XaHnFcrKsiZgCpkQOhblotkjxvXn4BXXekKG44dLLE0WaZ4P3JOpYJDA+/5R?= =?us-ascii?Q?KxibPHuEwDRRHk1ug+4wO2IL+5sZ88cdDaNYtaHpGm5N9Ok57N8lP4UFIxQh?= =?us-ascii?Q?HuVLdqYo0ZliukpDisvCcU2jQ6a97VQWs8//rlKpMgqCjY42bhrDSrr4lHkz?= =?us-ascii?Q?73Wwl+fF93LPIzbQBIUWJv5gMZzDujNZM5iiwOquV1kQzDV4XPugd65lwQAa?= =?us-ascii?Q?Pkm8oyGkTUNgb7JTNqN6mcl/D2PxDU6svLkUB/ooDesZpayBlEiFtFVTucW3?= =?us-ascii?Q?bbjw1mZL8PhKhBi/ZqrsE4qeXxfcpeXizuFJeAC+7F7rdhSZoT/v/SJMtUkz?= =?us-ascii?Q?cs5ZopuHDy2e1e08qxDL87Lra6UAtC99fLBwryysrDi04vK5oAhS3Ut+GyYH?= =?us-ascii?Q?RxbwvFN6AmEmt5mFUcu3W2JljxdUZcpmwdWR/AKFRAJiP4eTybkzajvGeDfc?= =?us-ascii?Q?oyvYjWO0syLODoDlcQzoHhBQWFI4wmWuCItcooFX6wyTkqDpafj3fqY/O+aw?= =?us-ascii?Q?pNK8phZhKV4umtUnrZQlP7J1o6kgXNnc4lpx/Ehy?= MIME-Version: 1.0 X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: MN2PR11MB4031.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 91b8b137-cec7-4e79-bb3b-08db04c6e0c5 X-MS-Exchange-CrossTenant-originalarrivaltime: 02 Feb 2023 02:40:42.3522 (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: yNPqzTxj9yo+A8UPlCF+WVXk1Yk+JgbJXOnRbd2kHsu2snRKrXuXbup1rmSxE9PY/G1Z7+aSduIgILoGFhrmrw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH7PR11MB7717 Return-Path: hao.a.wu@intel.com X-OriginatorOrg: intel.com Content-Language: en-US Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable Add MdePkg maintainers & reviewers. One general level comment, could you help to add 'NVME_' prefix to the name= of all newly added structure and macro definitions (like most existing ones in Nvme.h)? Best Regards, Hao Wu > -----Original Message----- > From: devel@edk2.groups.io On Behalf Of Weipu > Zhu > Sent: Wednesday, February 1, 2023 2:27 PM > To: devel@edk2.groups.io > Cc: Zhu, Weipu > Subject: [edk2-devel] [PATCH 1/2] MdePkg: Add RPMB related commands > and DCB definition for NVMe >=20 > REF: https://bugzilla.tianocore.org/show_bug.cgi?id=3D4303 >=20 > Add RPMB(Replay Protected Memory Block) access commands, > result and DCB(Device Configuration Block) definition for > NVMe according to the NVMe spec 2.0. >=20 > Signed-off-by: Weipu Zhu > --- > MdePkg/Include/IndustryStandard/Nvme.h | 46 > +++++++++++++++++++++++++- > 1 file changed, 45 insertions(+), 1 deletion(-) >=20 > diff --git a/MdePkg/Include/IndustryStandard/Nvme.h > b/MdePkg/Include/IndustryStandard/Nvme.h > index 4a1d92c45d..c37cd762b9 100644 > --- a/MdePkg/Include/IndustryStandard/Nvme.h > +++ b/MdePkg/Include/IndustryStandard/Nvme.h > @@ -2,12 +2,13 @@ > Definitions based on NVMe spec. version 1.1. >=20 > (C) Copyright 2016 Hewlett Packard Enterprise Development LP
> - Copyright (c) 2017 - 2021, Intel Corporation. All rights reserved.
> + Copyright (c) 2017 - 2023, Intel Corporation. All rights reserved.
> SPDX-License-Identifier: BSD-2-Clause-Patent >=20 > @par Specification Reference: > NVMe Specification 1.1 > NVMe Specification 1.4 > + NVMe Specification 2.0 >=20 > **/ >=20 > @@ -502,6 +503,49 @@ typedef struct { > // UINT8 *Data; /* Data to be written or re= ad by signed > access where M =3D 512 * Sector Count. */ > } NVME_RPMB_DATA_FRAME; >=20 > +// > +// RPMB Device Configuration Block Data Structure. > +// (ref. NVMe Base spec. v2.0 Figure 460). > +// > +typedef struct { > + UINT8 BPPEnable; /* Boot Partition Protection Enabled */ > + UINT8 BPLock; /* Boot Partition Lock */ > + UINT8 NameSpaceWrP; /* Namespace Write Protection */ > + UINT8 Rsvd1[509]; /* Reserved as of Nvm Express 2.0 Spec */ > +} RPMB_DCB; > + > +// > +// RPMB Request and Response Message Types. > +// (ref. NVMe Base spec. v2.0 Figure 461). > +// > +#define RPMB_AUTHKEY_PROGRAM 0x0001 > +#define RPMB_COUNTER_READ 0x0002 > +#define RPMB_AUTHDATA_WRITE 0x0003 > +#define RPMB_AUTHDATA_READ 0x0004 > +#define RPMB_RESULT_READ 0x0005 > +#define RPMB_DCB_WRITE 0x0006 > +#define RPMB_DCB_READ 0x0007 > +#define RPMB_AUTHKEY_PROGRAM_RESPONSE 0x0100 > +#define RPMB_COUNTER_READ_RESPONSE 0x0200 > +#define RPMB_AUTHDATA_WRITE_RESPONSE 0x0300 > +#define RPMB_AUTHDATA_READ_RESPONSE 0x0400 > +#define RPMB_DCB_WRITE_RESPONSE 0x0600 > +#define RPMB_DCB_READ_RESPONSE 0x0700 > + > +// > +// RPMB Operation Result. > +// (ref. NVMe Base spec. v2.0 Figure 462). > +// > +#define RPMB_RESULT_SUCCESS 0x00 > +#define RPMB_RESULT_GENERAL_FAILURE 0x01 > +#define RPMB_RESULT_AHTHENTICATION_FAILURE 0x02 > +#define RPMB_RESULT_COUNTER_FAILURE 0x03 > +#define RPMB_RESULT_ADDRESS_FAILURE 0x04 > +#define RPMB_RESULT_WRITE_FAILURE 0x05 > +#define RPMB_RESULT_READ_FAILURE 0x06 > +#define RPMB_RESULT_AUTHKEY_NOT_PROGRAMMED 0x07 > +#define RPMB_RESULT_INVALID_DCB 0x08 > + > // > // NvmExpress Admin Identify Cmd > // > -- > 2.37.1.windows.1 >=20 >=20 >=20 >=20 >=20