From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga14.intel.com (mga14.intel.com [192.55.52.115]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ml01.01.org (Postfix) with ESMTPS id F1F7A21E945EF for ; Sun, 17 Sep 2017 17:39:49 -0700 (PDT) Received: from fmsmga005.fm.intel.com ([10.253.24.32]) by fmsmga103.fm.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 17 Sep 2017 17:42:43 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.42,410,1500966000"; d="scan'208";a="152381797" Received: from fmsmsx104.amr.corp.intel.com ([10.18.124.202]) by fmsmga005.fm.intel.com with ESMTP; 17 Sep 2017 17:42:43 -0700 Received: from shsmsx104.ccr.corp.intel.com (10.239.4.70) by fmsmsx104.amr.corp.intel.com (10.18.124.202) with Microsoft SMTP Server (TLS) id 14.3.319.2; Sun, 17 Sep 2017 17:42:43 -0700 Received: from shsmsx151.ccr.corp.intel.com ([169.254.3.98]) by SHSMSX104.ccr.corp.intel.com ([169.254.5.4]) with mapi id 14.03.0319.002; Mon, 18 Sep 2017 08:42:41 +0800 From: "Ni, Ruiyu" To: "Ni, Ruiyu" , Paulo Alcantara , "edk2-devel@lists.01.org" CC: "Kinney, Michael D" , Laszlo Ersek , "Gao, Liming" Thread-Topic: [PATCH v2 1/3] MdePkg: Add UDF volume structure definitions Thread-Index: AQHTL7bVJ2MQuz9N006GUJ2eq5KI5KK5yLWwgAAElzA= Date: Mon, 18 Sep 2017 00:42:40 +0000 Message-ID: <734D49CCEBEEF84792F5B80ED585239D5BA441BB@SHSMSX151.ccr.corp.intel.com> References: <37b896c68ff32f81de986b0997f309325bd6ca67.1505653040.git.pcacjr@zytor.com> <734D49CCEBEEF84792F5B80ED585239D5BA4413A@SHSMSX151.ccr.corp.intel.com> In-Reply-To: <734D49CCEBEEF84792F5B80ED585239D5BA4413A@SHSMSX151.ccr.corp.intel.com> Accept-Language: en-US, zh-CN X-MS-Has-Attach: X-MS-TNEF-Correlator: x-originating-ip: [10.239.127.40] MIME-Version: 1.0 Subject: Re: [PATCH v2 1/3] MdePkg: Add UDF volume structure definitions X-BeenThere: edk2-devel@lists.01.org X-Mailman-Version: 2.1.22 Precedence: list List-Id: EDK II Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 18 Sep 2017 00:39:50 -0000 Content-Language: en-US Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable Continue reading the patch #2, I think we can change IS_PD to: #define IS_UDF_PD(Tag) ((Tag)->TagIdentifier =3D=3D 5) Using the above way, we can avoid caller to supply an invalid buffer. Thanks/Ray > -----Original Message----- > From: edk2-devel [mailto:edk2-devel-bounces@lists.01.org] On Behalf Of Ni= , > Ruiyu > Sent: Monday, September 18, 2017 8:29 AM > To: Paulo Alcantara ; edk2-devel@lists.01.org > Cc: Kinney, Michael D ; Laszlo Ersek > ; Gao, Liming > Subject: Re: [edk2] [PATCH v2 1/3] MdePkg: Add UDF volume structure > definitions >=20 > #define _GET_TAG_ID(_Pointer) \ > (((UDF_DESCRIPTOR_TAG *)(_Pointer))->TagIdentifier) >=20 > #define IS_PD(_Pointer) \ > ((BOOLEAN)(_GET_TAG_ID (_Pointer) =3D=3D 5)) > #define IS_LVD(_Pointer) \ > ((BOOLEAN)(_GET_TAG_ID (_Pointer) =3D=3D 6)) > #define IS_TD(_Pointer) \ > ((BOOLEAN)(_GET_TAG_ID (_Pointer) =3D=3D 8)) >=20 > #define IS_AVDP(_Pointer) \ > ((BOOLEAN)(_GET_TAG_ID (_Pointer) =3D=3D 2)) >=20 > Paulo, > If you take a look at Pci22.h in the same directory, all macros are start= ed > as "IS_PCI_". > How about changing the above IS_xxx to IS_UDF_xxx? > Shall we change AVDP to AVD, following the same naming style as PD, LVD > and TD? > How about changing _Pointer to _Tag or DescriptorTag? >=20 >=20 > Thanks/Ray >=20 > > -----Original Message----- > > From: Paulo Alcantara [mailto:pcacjr@zytor.com] > > Sent: Sunday, September 17, 2017 9:13 PM > > To: edk2-devel@lists.01.org > > Cc: Paulo Alcantara ; Kinney, Michael D > > ; Gao, Liming ; > Laszlo > > Ersek ; Ni, Ruiyu > > Subject: [PATCH v2 1/3] MdePkg: Add UDF volume structure definitions > > > > This patch adds a fewe more UDF structures in order to detect Logical > > Volume and Partition descriptors during Main Volume Descriptor Sequence > > in Partition driver. > > > > Cc: Michael D Kinney > > Cc: Liming Gao > > Cc: Laszlo Ersek > > Cc: Ruiyu Ni > > Contributed-under: TianoCore Contribution Agreement 1.1 > > Signed-off-by: Paulo Alcantara > > --- > > MdePkg/Include/IndustryStandard/Udf.h | 63 ++++++++++++++++++++ > > 1 file changed, 63 insertions(+) > > > > diff --git a/MdePkg/Include/IndustryStandard/Udf.h > > b/MdePkg/Include/IndustryStandard/Udf.h > > index 0febb4bcda..6cc42f8543 100644 > > --- a/MdePkg/Include/IndustryStandard/Udf.h > > +++ b/MdePkg/Include/IndustryStandard/Udf.h > > @@ -27,9 +27,19 @@ > > #define _GET_TAG_ID(_Pointer) \ > > (((UDF_DESCRIPTOR_TAG *)(_Pointer))->TagIdentifier) > > > > +#define IS_PD(_Pointer) \ > > + ((BOOLEAN)(_GET_TAG_ID (_Pointer) =3D=3D 5)) #define IS_LVD(_Pointer= ) \ > > + ((BOOLEAN)(_GET_TAG_ID (_Pointer) =3D=3D 6)) #define IS_TD(_Pointer)= \ > > + ((BOOLEAN)(_GET_TAG_ID (_Pointer) =3D=3D 8)) > > + > > #define IS_AVDP(_Pointer) \ > > ((BOOLEAN)(_GET_TAG_ID (_Pointer) =3D=3D 2)) > > > > +#define LV_UDF_REVISION(_Lv) \ > > + *(UINT16 *)(UINTN)(_Lv)->DomainIdentifier.IdentifierSuffix > > + > > #pragma pack(1) > > > > typedef struct { > > @@ -55,6 +65,59 @@ typedef struct { > > UINT8 Reserved[480]; > > } UDF_ANCHOR_VOLUME_DESCRIPTOR_POINTER; > > > > +typedef struct { > > + UINT8 CharacterSetType; > > + UINT8 CharacterSetInfo[63]; > > +} UDF_CHAR_SPEC; > > + > > +typedef struct { > > + UINT8 Flags; > > + UINT8 Identifier[23]; > > + UINT8 IdentifierSuffix[8]; > > +} UDF_ENTITY_ID; > > + > > +typedef struct { > > + UINT32 LogicalBlockNumber; > > + UINT16 PartitionReferenceNumber; > > +} UDF_LB_ADDR; > > + > > +typedef struct { > > + UINT32 ExtentLength; > > + UDF_LB_ADDR ExtentLocation; > > + UINT8 ImplementationUse[6]; > > +} UDF_LONG_ALLOCATION_DESCRIPTOR; > > + > > +typedef struct { > > + UDF_DESCRIPTOR_TAG DescriptorTag; > > + UINT32 VolumeDescriptorSequenceNumber; > > + UDF_CHAR_SPEC DescriptorCharacterSet; > > + UINT8 LogicalVolumeIdentifier[128]; > > + UINT32 LogicalBlockSize; > > + UDF_ENTITY_ID DomainIdentifier; > > + UDF_LONG_ALLOCATION_DESCRIPTOR LogicalVolumeContentsUse; > > + UINT32 MapTableLength; > > + UINT32 NumberOfPartitionMaps; > > + UDF_ENTITY_ID ImplementationIdentifier; > > + UINT8 ImplementationUse[128]; > > + UDF_EXTENT_AD IntegritySequenceExtent; > > + UINT8 PartitionMaps[6]; > > +} UDF_LOGICAL_VOLUME_DESCRIPTOR; > > + > > +typedef struct { > > + UDF_DESCRIPTOR_TAG DescriptorTag; > > + UINT32 VolumeDescriptorSequenceNumber; > > + UINT16 PartitionFlags; > > + UINT16 PartitionNumber; > > + UDF_ENTITY_ID PartitionContents; > > + UINT8 PartitionContentsUse[128]; > > + UINT32 AccessType; > > + UINT32 PartitionStartingLocation; > > + UINT32 PartitionLength; > > + UDF_ENTITY_ID ImplementationIdentifier; > > + UINT8 ImplementationUse[128]; > > + UINT8 Reserved[156]; > > +} UDF_PARTITION_DESCRIPTOR; > > + > > #pragma pack() > > > > #endif > > -- > > 2.11.0 >=20 > _______________________________________________ > edk2-devel mailing list > edk2-devel@lists.01.org > https://lists.01.org/mailman/listinfo/edk2-devel