Acked-by: Michael D Kinney <[email protected]> > -----Original Message----- > From: Wu, Hao A <[email protected]> > Sent: Sunday, February 5, 2023 9:18 PM > To: Zhu, Weipu <[email protected]>; [email protected] > Cc: Kinney, Michael D <[email protected]>; Gao, Liming > <[email protected]>; Liu, Zhiguang <[email protected]> > Subject: RE: [PATCH v2 1/2] MdePkg: Add RPMB related commands and DCB > definition for NVMe > > Reviewed-by: Hao A Wu <[email protected]> > > Best Regards, > Hao Wu > > > -----Original Message----- > > From: Zhu, Weipu <[email protected]> > > Sent: Thursday, February 2, 2023 2:42 PM > > To: [email protected] > > Cc: Zhu, Weipu <[email protected]>; Wu, Hao A <[email protected]>; > > Kinney, Michael D <[email protected]>; Gao, Liming > > <[email protected]>; Liu, Zhiguang <[email protected]> > > Subject: [PATCH v2 1/2] MdePkg: Add RPMB related commands and DCB > > definition for NVMe > > > > REF: https://bugzilla.tianocore.org/show_bug.cgi?id=4303 > > > > > > > > Add RPMB(Replay Protected Memory Block) access commands, > > > > result and DCB(Device Configuration Block) definition for > > > > NVMe according to the NVMe spec 2.0. > > > > > > > > Signed-off-by: Weipu Zhu <[email protected]> > > > > Cc: Hao Wu <[email protected]> > > > > Cc: Michael D Kinney <[email protected]> > > > > Cc: Liming Gao <[email protected]> > > > > Cc: Zhiguang Liu <[email protected]> > > > > --- > > > > MdePkg/Include/IndustryStandard/Nvme.h | 46 > > +++++++++++++++++++++++++- > > > > 1 file changed, 45 insertions(+), 1 deletion(-) > > > > > > > > diff --git a/MdePkg/Include/IndustryStandard/Nvme.h > > b/MdePkg/Include/IndustryStandard/Nvme.h > > > > index 4a1d92c45d..3b4e9fe67c 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. > > > > > > > > (C) Copyright 2016 Hewlett Packard Enterprise Development LP<BR> > > > > - Copyright (c) 2017 - 2021, Intel Corporation. All rights reserved.<BR> > > > > + Copyright (c) 2017 - 2023, Intel Corporation. All rights reserved.<BR> > > > > SPDX-License-Identifier: BSD-2-Clause-Patent > > > > > > > > @par Specification Reference: > > > > NVMe Specification 1.1 > > > > NVMe Specification 1.4 > > > > + NVMe Specification 2.0 > > > > > > > > **/ > > > > > > > > @@ -502,6 +503,49 @@ typedef struct { > > > > // UINT8 *Data; /* Data to be written or read > > by signed > > access where M = 512 * Sector Count. */ > > > > } NVME_RPMB_DATA_FRAME; > > > > > > > > +// > > > > +// 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 */ > > > > +} NVME_RPMB_DCB; > > > > + > > > > +// > > > > +// RPMB Request and Response Message Types. > > > > +// (ref. NVMe Base spec. v2.0 Figure 461). > > > > +// > > > > +#define NVME_RPMB_AUTHKEY_PROGRAM 0x0001 > > > > +#define NVME_RPMB_COUNTER_READ 0x0002 > > > > +#define NVME_RPMB_AUTHDATA_WRITE 0x0003 > > > > +#define NVME_RPMB_AUTHDATA_READ 0x0004 > > > > +#define NVME_RPMB_RESULT_READ 0x0005 > > > > +#define NVME_RPMB_DCB_WRITE 0x0006 > > > > +#define NVME_RPMB_DCB_READ 0x0007 > > > > +#define NVME_RPMB_AUTHKEY_PROGRAM_RESPONSE 0x0100 > > > > +#define NVME_RPMB_COUNTER_READ_RESPONSE 0x0200 > > > > +#define NVME_RPMB_AUTHDATA_WRITE_RESPONSE 0x0300 > > > > +#define NVME_RPMB_AUTHDATA_READ_RESPONSE 0x0400 > > > > +#define NVME_RPMB_DCB_WRITE_RESPONSE 0x0600 > > > > +#define NVME_RPMB_DCB_READ_RESPONSE 0x0700 > > > > + > > > > +// > > > > +// RPMB Operation Result. > > > > +// (ref. NVMe Base spec. v2.0 Figure 462). > > > > +// > > > > +#define NVME_RPMB_RESULT_SUCCESS 0x00 > > > > +#define NVME_RPMB_RESULT_GENERAL_FAILURE 0x01 > > > > +#define NVME_RPMB_RESULT_AHTHENTICATION_FAILURE 0x02 > > > > +#define NVME_RPMB_RESULT_COUNTER_FAILURE 0x03 > > > > +#define NVME_RPMB_RESULT_ADDRESS_FAILURE 0x04 > > > > +#define NVME_RPMB_RESULT_WRITE_FAILURE 0x05 > > > > +#define NVME_RPMB_RESULT_READ_FAILURE 0x06 > > > > +#define NVME_RPMB_RESULT_AUTHKEY_NOT_PROGRAMMED 0x07 > > > > +#define NVME_RPMB_RESULT_INVALID_DCB 0x08 > > > > + > > > > // > > > > // NvmExpress Admin Identify Cmd > > > > // > > > > -- > > > > 2.37.1.windows.1 > > > >
-=-=-=-=-=-=-=-=-=-=-=- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#99934): https://edk2.groups.io/g/devel/message/99934 Mute This Topic: https://groups.io/mt/96695512/21656 Group Owner: [email protected] Unsubscribe: https://edk2.groups.io/g/devel/leave/9847357/21656/1706620634/xyzzy [[email protected]] -=-=-=-=-=-=-=-=-=-=-=-
