Hi Hesham, The idea for keeping it as separate type was to abstract locator field to have a view similar to that of its definition in the spec (MPAM ACPI 1.0, section 2.2, table 7 - Resource node.)
Something of the lines – typedef struct { UINT32 Identifier; UINT8 RisIndex; UINT16 Reserved1; UINT8 LocatorType; MPAM_LOCATOR Locator; UINT32 NumDependencies; } MPAM_MSC_RESOURCE; Locator field could very well be a struct of UINT64 and UINT32 with just descriptor 1 and descriptor 2 as the field names (Table 10, 2.3.2)– As you said, having hardcoded field names won’t work as the descriptors change with locator type. /// /// MPAM MSC Locator field /// typedef struct { UINT64 Descriptor1; UINT32 Descriptor2; } MPAM_LOCATOR; Let me know your thoughts on the approach. Regards, Rohit From: devel@edk2.groups.io <devel@edk2.groups.io> On Behalf Of hesham.almatary via groups.io Sent: 24 August 2022 15:39 To: Andrew Fish <af...@apple.com>; devel@edk2.groups.io Subject: Re: [edk2-devel] [PATCH 1/2] Mde Pkg: Support for MPAM ACPI Table Hello Rohit and Swatisri, On Tue, Aug 23, 2022 at 09:11 PM, Andrew Fish wrote: [Rohit ] Shouldn't " Locator " field be 12 bytes in size, possibly a separate type? (MPAM ACPI 1.0, section 2.2, table 7 - Resource node and section 2.3.2 table 10 - locator descriptor) I'd just go for UINT64 locator1 and UINT32 locator2 and not necessarily a separate type. The interpretation of each depends on the the locator type (e.g., MPAM ACPI Tables 11-15). -=-=-=-=-=-=-=-=-=-=-=- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#92764): https://edk2.groups.io/g/devel/message/92764 Mute This Topic: https://groups.io/mt/93069490/21656 Group Owner: devel+ow...@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-