From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from foss.arm.com (foss.arm.com [217.140.110.172]) by mx.groups.io with SMTP id smtpd.web08.21248.1657714996068072463 for ; Wed, 13 Jul 2022 05:23:16 -0700 Authentication-Results: mx.groups.io; dkim=missing; spf=pass (domain: arm.com, ip: 217.140.110.172, mailfrom: pierre.gondois@arm.com) Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14]) by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id 276A21424; Wed, 13 Jul 2022 05:23:16 -0700 (PDT) Received: from [192.168.1.11] (unknown [172.31.20.19]) by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id 384043F73D; Wed, 13 Jul 2022 05:23:13 -0700 (PDT) Message-ID: <857c480b-95ed-cb76-69f1-de4b0d7ec9a8@arm.com> Date: Wed, 13 Jul 2022 14:22:40 +0200 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101 Thunderbird/91.9.1 Subject: Re: [PATCH v5 6/8] ShellPkg: Acpiview: IORT parser update for IORT Rev E.d spec To: Sami Mujawar , devel@edk2.groups.io Cc: Alexei.Fedorov@arm.com, steven.price@arm.com, Lorenzo.Pieralisi@arm.com, Matteo.Carlini@arm.com, Akanksha.Jain2@arm.com, Ben.Adderson@arm.com, ray.ni@intel.com, zhichao.gao@intel.com, nd@arm.com References: <20220712143141.18516-1-sami.mujawar@arm.com> <20220712143141.18516-7-sami.mujawar@arm.com> From: "PierreGondois" In-Reply-To: <20220712143141.18516-7-sami.mujawar@arm.com> Content-Language: en-US Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit Hi Sami, > + > /** > Helper Macro for populating the IORT Node header in the ACPI_PARSER array. > > @@ -108,15 +160,15 @@ ValidateItsIdArrayReference ( > @param [out] ValidateIdArrayReference Optional pointer to a function for > validating the ID Array reference. > **/ > -#define PARSE_IORT_NODE_HEADER(ValidateIdMappingCount, \ > - ValidateIdArrayReference) \ > - { L"Type", 1, 0, L"%d", NULL, (VOID**)&IortNodeType, NULL, NULL }, \ > - { L"Length", 2, 1, L"%d", NULL, (VOID**)&IortNodeLength, NULL, NULL }, \ > - { L"Revision", 1, 3, L"%d", NULL, NULL, NULL, NULL }, \ > - { L"Reserved", 4, 4, L"0x%x", NULL, NULL, NULL, NULL }, \ > - { L"Number of ID mappings", 4, 8, L"%d", NULL, \ > - (VOID**)&IortIdMappingCount, ValidateIdMappingCount, NULL }, \ > - { L"Reference to ID Array", 4, 12, L"0x%x", NULL, \ > +#define PARSE_IORT_NODE_HEADER(ValidateIdMappingCount, \ > + ValidateIdArrayReference) \ > + { L"Type", 1, 0, L"%d", NULL, (VOID**)&IortNodeType, NULL, NULL }, \ > + { L"Length", 2, 1, L"%d", NULL, (VOID**)&IortNodeLength, NULL, NULL }, \ > + { L"Revision", 1, 3, L"%d", NULL, (VOID**)&IortNodeRevision, NULL, NULL }, \ > + { L"Identifier", 4, 4, L"0x%x", NULL, NULL, NULL, NULL }, \ > + { L"Number of ID mappings", 4, 8, L"%d", NULL, \ > + (VOID**)&IortIdMappingCount, ValidateIdMappingCount, NULL }, \ > + { L"Reference to ID Array", 4, 12, L"0x%x", NULL, \ > (VOID**)&IortIdMappingOffset, ValidateIdArrayReference, NULL } Sorry to come back on this patch, but it seems the identifier field was 16 bits long in rev E (=1) and increased to 32 bits in rev E.a (=2), so unfortunately, an extra case should be created for this I believe. Regards, Pierre