[edk2-devel] [PATCH v1 1/1] MdePkg: Fix ACPI memory aggregator/device type mismatch

Samer El-Haj-Mahmoud samer.el-haj-mahmoud at arm.com
Fri Oct 8 01:45:29 UTC 2021


We did investigate this in the BZ, and the conclusion was it is safer to update the code to match the spec. The only OS implementation we have seen so far is in Linux, and it uses the spec defined values (although for limited usage). See https://bugzilla.tianocore.org/show_bug.cgi?id=3579




> -----Original Message-----
> From: devel at edk2.groups.io <devel at edk2.groups.io> On Behalf Of
> gaoliming via groups.io
> Sent: Thursday, October 7, 2021 9:26 PM
> To: devel at edk2.groups.io; Christopher Jones
> <Christopher.Jones at arm.com>
> Cc: michael.d.kinney at intel.com; zhiguang.liu at intel.com; Sami Mujawar
> <Sami.Mujawar at arm.com>; Ben Adderson <Ben.Adderson at arm.com>;
> Akanksha Jain <Akanksha.Jain2 at arm.com>; Matteo Carlini
> <Matteo.Carlini at arm.com>; nd <nd at arm.com>
> Subject: 回复: [edk2-devel] [PATCH v1 1/1] MdePkg: Fix ACPI memory
> aggregator/device type mismatch
> 
> Jones:
>   Do you know what impact will be introduced by this change?
> 
> Thanks
> Liming
> > -----邮件原件-----
> > 发件人: devel at edk2.groups.io <devel at edk2.groups.io> 代表 Chris Jones
> > 发送时间: 2021年10月6日 18:12
> > 收件人: devel at edk2.groups.io
> > 抄送: michael.d.kinney at intel.com; gaoliming at byosoft.com.cn;
> > zhiguang.liu at intel.com; Sami.Mujawar at arm.com;
> Ben.Adderson at arm.com;
> > Akanksha.Jain2 at arm.com; Matteo.Carlini at arm.com; nd at arm.com
> > 主题: [edk2-devel] [PATCH v1 1/1] MdePkg: Fix ACPI memory
> > aggregator/device type mismatch
> >
> > Bugzilla: 3578 (https://bugzilla.tianocore.org/show_bug.cgi?id=3579)
> >
> > Since the Common Memory Device (formerly Memory Aggregator Device)
> > was
> > introduced in ACPI 5.0, the edk2 type values have not matched the
> > values defined in the ACPI specification.
> >
> > Fix this discrepancy by aligning the code to match the specification.
> >
> > Signed-off-by: Chris Jones <christopher.jones at arm.com>
> > ---
> >  MdePkg/Include/IndustryStandard/Acpi50.h | 6 +++---
> >  MdePkg/Include/IndustryStandard/Acpi51.h | 6 +++---
> >  MdePkg/Include/IndustryStandard/Acpi60.h | 6 +++---
> >  MdePkg/Include/IndustryStandard/Acpi61.h | 6 +++---
> >  MdePkg/Include/IndustryStandard/Acpi62.h | 6 +++---
> >  MdePkg/Include/IndustryStandard/Acpi63.h | 6 +++---
> >  MdePkg/Include/IndustryStandard/Acpi64.h | 6 +++---
> >  7 files changed, 21 insertions(+), 21 deletions(-)
> >
> > diff --git a/MdePkg/Include/IndustryStandard/Acpi50.h
> > b/MdePkg/Include/IndustryStandard/Acpi50.h
> > index
> > 31a47e6a2c4276d5b1ad7b834af84844090b64c5..83d787c7650cf649fe3d2e1
> > 2e7983bae86a2a114 100644
> > --- a/MdePkg/Include/IndustryStandard/Acpi50.h
> > +++ b/MdePkg/Include/IndustryStandard/Acpi50.h
> > @@ -996,9 +996,9 @@ typedef struct {
> >  ///
> >  /// Memory Aggregator Device Type
> >  ///
> > -#define
> > EFI_ACPI_5_0_PMMT_MEMORY_AGGREGATOR_DEVICE_TYPE_SOCKET
> > 0x1
> > -#define
> >
> EFI_ACPI_5_0_PMMT_MEMORY_AGGREGATOR_DEVICE_TYPE_MEMORY_C
> > ONTROLLER 0x2
> > -#define
> > EFI_ACPI_5_0_PMMT_MEMORY_AGGREGATOR_DEVICE_TYPE_DIMM
> > 0x3
> > +#define
> > EFI_ACPI_5_0_PMMT_MEMORY_AGGREGATOR_DEVICE_TYPE_SOCKET
> > 0x0
> > +#define
> >
> EFI_ACPI_5_0_PMMT_MEMORY_AGGREGATOR_DEVICE_TYPE_MEMORY_C
> > ONTROLLER 0x1
> > +#define
> > EFI_ACPI_5_0_PMMT_MEMORY_AGGREGATOR_DEVICE_TYPE_DIMM
> > 0x2
> >
> >  ///
> >  /// Socket Memory Aggregator Device Structure.
> > diff --git a/MdePkg/Include/IndustryStandard/Acpi51.h
> > b/MdePkg/Include/IndustryStandard/Acpi51.h
> > index
> > fc28ffa18fc6a22e52fda88fade6ad80b2817cc3..5fbf7c99f1f7d6ca9109f198bd
> > 3f25f12bd47961 100644
> > --- a/MdePkg/Include/IndustryStandard/Acpi51.h
> > +++ b/MdePkg/Include/IndustryStandard/Acpi51.h
> > @@ -951,9 +951,9 @@ typedef struct {
> >  ///
> >  /// Memory Aggregator Device Type
> >  ///
> > -#define
> > EFI_ACPI_5_1_PMMT_MEMORY_AGGREGATOR_DEVICE_TYPE_SOCKET
> > 0x1
> > -#define
> >
> EFI_ACPI_5_1_PMMT_MEMORY_AGGREGATOR_DEVICE_TYPE_MEMORY_C
> > ONTROLLER 0x2
> > -#define
> > EFI_ACPI_5_1_PMMT_MEMORY_AGGREGATOR_DEVICE_TYPE_DIMM
> > 0x3
> > +#define
> > EFI_ACPI_5_1_PMMT_MEMORY_AGGREGATOR_DEVICE_TYPE_SOCKET
> > 0x0
> > +#define
> >
> EFI_ACPI_5_1_PMMT_MEMORY_AGGREGATOR_DEVICE_TYPE_MEMORY_C
> > ONTROLLER 0x1
> > +#define
> > EFI_ACPI_5_1_PMMT_MEMORY_AGGREGATOR_DEVICE_TYPE_DIMM
> > 0x2
> >
> >  ///
> >  /// Socket Memory Aggregator Device Structure.
> > diff --git a/MdePkg/Include/IndustryStandard/Acpi60.h
> > b/MdePkg/Include/IndustryStandard/Acpi60.h
> > index
> > 5dcd73b6f1ec4bccc7fdae7d56c2963ab58764f9..eba4248e1d5733d21973f0d
> > ac2286e02238a0aae 100644
> > --- a/MdePkg/Include/IndustryStandard/Acpi60.h
> > +++ b/MdePkg/Include/IndustryStandard/Acpi60.h
> > @@ -966,9 +966,9 @@ typedef struct {
> >  ///
> >  /// Memory Aggregator Device Type
> >  ///
> > -#define
> > EFI_ACPI_6_0_PMMT_MEMORY_AGGREGATOR_DEVICE_TYPE_SOCKET
> > 0x1
> > -#define
> >
> EFI_ACPI_6_0_PMMT_MEMORY_AGGREGATOR_DEVICE_TYPE_MEMORY_C
> > ONTROLLER 0x2
> > -#define
> > EFI_ACPI_6_0_PMMT_MEMORY_AGGREGATOR_DEVICE_TYPE_DIMM
> > 0x3
> > +#define
> > EFI_ACPI_6_0_PMMT_MEMORY_AGGREGATOR_DEVICE_TYPE_SOCKET
> > 0x0
> > +#define
> >
> EFI_ACPI_6_0_PMMT_MEMORY_AGGREGATOR_DEVICE_TYPE_MEMORY_C
> > ONTROLLER 0x1
> > +#define
> > EFI_ACPI_6_0_PMMT_MEMORY_AGGREGATOR_DEVICE_TYPE_DIMM
> > 0x2
> >
> >  ///
> >  /// Socket Memory Aggregator Device Structure.
> > diff --git a/MdePkg/Include/IndustryStandard/Acpi61.h
> > b/MdePkg/Include/IndustryStandard/Acpi61.h
> > index
> > 8626833a794dfb4a6f19d459d5214c6caefdbbee..7a776020baa8f3ee7b6f05fe
> > e336225ab6589ce0 100644
> > --- a/MdePkg/Include/IndustryStandard/Acpi61.h
> > +++ b/MdePkg/Include/IndustryStandard/Acpi61.h
> > @@ -966,9 +966,9 @@ typedef struct {
> >  ///
> >  /// Memory Aggregator Device Type
> >  ///
> > -#define
> > EFI_ACPI_6_1_PMMT_MEMORY_AGGREGATOR_DEVICE_TYPE_SOCKET
> > 0x1
> > -#define
> >
> EFI_ACPI_6_1_PMMT_MEMORY_AGGREGATOR_DEVICE_TYPE_MEMORY_C
> > ONTROLLER 0x2
> > -#define
> > EFI_ACPI_6_1_PMMT_MEMORY_AGGREGATOR_DEVICE_TYPE_DIMM
> > 0x3
> > +#define
> > EFI_ACPI_6_1_PMMT_MEMORY_AGGREGATOR_DEVICE_TYPE_SOCKET
> > 0x0
> > +#define
> >
> EFI_ACPI_6_1_PMMT_MEMORY_AGGREGATOR_DEVICE_TYPE_MEMORY_C
> > ONTROLLER 0x1
> > +#define
> > EFI_ACPI_6_1_PMMT_MEMORY_AGGREGATOR_DEVICE_TYPE_DIMM
> > 0x2
> >
> >  ///
> >  /// Socket Memory Aggregator Device Structure.
> > diff --git a/MdePkg/Include/IndustryStandard/Acpi62.h
> > b/MdePkg/Include/IndustryStandard/Acpi62.h
> > index
> > 1b2704e98e3703a4405075247432ec842e45021b..33a0a0f21959df8b64803e
> > 972ab19f0c0ab1619e 100644
> > --- a/MdePkg/Include/IndustryStandard/Acpi62.h
> > +++ b/MdePkg/Include/IndustryStandard/Acpi62.h
> > @@ -1078,9 +1078,9 @@ typedef struct {
> >  ///
> >  /// Memory Aggregator Device Type
> >  ///
> > -#define
> > EFI_ACPI_6_2_PMMT_MEMORY_AGGREGATOR_DEVICE_TYPE_SOCKET
> > 0x1
> > -#define
> >
> EFI_ACPI_6_2_PMMT_MEMORY_AGGREGATOR_DEVICE_TYPE_MEMORY_C
> > ONTROLLER 0x2
> > -#define
> > EFI_ACPI_6_2_PMMT_MEMORY_AGGREGATOR_DEVICE_TYPE_DIMM
> > 0x3
> > +#define
> > EFI_ACPI_6_2_PMMT_MEMORY_AGGREGATOR_DEVICE_TYPE_SOCKET
> > 0x0
> > +#define
> >
> EFI_ACPI_6_2_PMMT_MEMORY_AGGREGATOR_DEVICE_TYPE_MEMORY_C
> > ONTROLLER 0x1
> > +#define
> > EFI_ACPI_6_2_PMMT_MEMORY_AGGREGATOR_DEVICE_TYPE_DIMM
> > 0x2
> >
> >  ///
> >  /// Socket Memory Aggregator Device Structure.
> > diff --git a/MdePkg/Include/IndustryStandard/Acpi63.h
> > b/MdePkg/Include/IndustryStandard/Acpi63.h
> > index
> > b281b30155e90eba5169dc39bde9a3379e3b7005..3b1426af27ea4ebada1a1
> > 2e99ce958bb288ad931 100644
> > --- a/MdePkg/Include/IndustryStandard/Acpi63.h
> > +++ b/MdePkg/Include/IndustryStandard/Acpi63.h
> > @@ -1040,9 +1040,9 @@ typedef struct {
> >  ///
> >  /// Memory Aggregator Device Type
> >  ///
> > -#define
> > EFI_ACPI_6_3_PMMT_MEMORY_AGGREGATOR_DEVICE_TYPE_SOCKET
> > 0x1
> > -#define
> >
> EFI_ACPI_6_3_PMMT_MEMORY_AGGREGATOR_DEVICE_TYPE_MEMORY_C
> > ONTROLLER 0x2
> > -#define
> > EFI_ACPI_6_3_PMMT_MEMORY_AGGREGATOR_DEVICE_TYPE_DIMM
> > 0x3
> > +#define
> > EFI_ACPI_6_3_PMMT_MEMORY_AGGREGATOR_DEVICE_TYPE_SOCKET
> > 0x0
> > +#define
> >
> EFI_ACPI_6_3_PMMT_MEMORY_AGGREGATOR_DEVICE_TYPE_MEMORY_C
> > ONTROLLER 0x1
> > +#define
> > EFI_ACPI_6_3_PMMT_MEMORY_AGGREGATOR_DEVICE_TYPE_DIMM
> > 0x2
> >
> >  ///
> >  /// Socket Memory Aggregator Device Structure.
> > diff --git a/MdePkg/Include/IndustryStandard/Acpi64.h
> > b/MdePkg/Include/IndustryStandard/Acpi64.h
> > index
> > 3a91302f8c0e71d4951d27aac35322073219c836..8346d83f1249045497b602
> > 907b94fbb2b495cd56 100644
> > --- a/MdePkg/Include/IndustryStandard/Acpi64.h
> > +++ b/MdePkg/Include/IndustryStandard/Acpi64.h
> > @@ -1075,9 +1075,9 @@ typedef struct {
> >  ///
> >  /// Memory Device Type.
> >  ///
> > -#define EFI_ACPI_6_4_PMTT_MEMORY_DEVICE_TYPE_SOCKET
> > 0x1
> > -#define
> > EFI_ACPI_6_4_PMTT_MEMORY_DEVICE_TYPE_MEMORY_CONTROLLER
> > 0x2
> > -#define EFI_ACPI_6_4_PMTT_MEMORY_DEVICE_TYPE_DIMM
> > 0x3
> > +#define EFI_ACPI_6_4_PMTT_MEMORY_DEVICE_TYPE_SOCKET
> > 0x0
> > +#define
> > EFI_ACPI_6_4_PMTT_MEMORY_DEVICE_TYPE_MEMORY_CONTROLLER
> > 0x1
> > +#define EFI_ACPI_6_4_PMTT_MEMORY_DEVICE_TYPE_DIMM
> > 0x2
> >  #define
> > EFI_ACPI_6_4_PMTT_MEMORY_DEVICE_TYPE_VENDOR_SPECIFIC_TYPE
> > 0xFF
> >
> >  ///
> > --
> > Guid("CE165669-3EF3-493F-B85D-6190EE5B9759")
> >
> >
> >
> >
> >
> 
> 
> 
> 
> 
> 
> 



-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#81620): https://edk2.groups.io/g/devel/message/81620
Mute This Topic: https://groups.io/mt/86161011/1813853
Group Owner: devel+owner at edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub [edk2-devel-archive at redhat.com]
-=-=-=-=-=-=-=-=-=-=-=-






More information about the edk2-devel-archive mailing list