} EFI_ACPI_6_4_MPST_MEMORY_POWER_STATE_CHARACTERISTICS_TABLE;\r
\r
///\r
-/// Memory Topology Table definition.\r
+/// Platform Memory Topology Table definition.\r
///\r
typedef struct {\r
- EFI_ACPI_DESCRIPTION_HEADER Header;\r
- UINT32 Reserved;\r
-} EFI_ACPI_6_4_MEMORY_TOPOLOGY_TABLE;\r
+ EFI_ACPI_DESCRIPTION_HEADER Header;\r
+ UINT32 NumberOfMemoryDevices;\r
+//EFI_ACPI_6_4_PMTT_COMMON_MEMORY_DEVICE MemoryDeviceStructure[NumberOfMemoryDevices];\r
+} EFI_ACPI_6_4_PLATFORM_MEMORY_TOPOLOGY_TABLE;\r
\r
///\r
/// PMTT Version (as defined in ACPI 6.4 spec.)\r
///\r
-#define EFI_ACPI_6_4_MEMORY_TOPOLOGY_TABLE_REVISION 0x01\r
+#define EFI_ACPI_6_4_MEMORY_TOPOLOGY_TABLE_REVISION 0x02\r
\r
///\r
-/// Common Memory Aggregator Device Structure.\r
+/// Common Memory Device.\r
///\r
typedef struct {\r
- UINT8 Type;\r
- UINT8 Reserved;\r
- UINT16 Length;\r
- UINT16 Flags;\r
- UINT16 Reserved1;\r
-} EFI_ACPI_6_4_PMTT_COMMON_MEMORY_AGGREGATOR_DEVICE_STRUCTURE;\r
+ UINT8 Type;\r
+ UINT8 Reserved;\r
+ UINT16 Length;\r
+ UINT16 Flags;\r
+ UINT16 Reserved1;\r
+ UINT32 NumberOfMemoryDevices;\r
+//UINT8 TypeSpecificData[];\r
+//EFI_ACPI_6_4_PMTT_COMMON_MEMORY_DEVICE MemoryDeviceStructure[NumberOfMemoryDevices];\r
+} EFI_ACPI_6_4_PMTT_COMMON_MEMORY_DEVICE;\r
\r
///\r
-/// Memory Aggregator Device Type\r
+/// Memory Device Type.\r
///\r
-#define EFI_ACPI_6_4_PMTT_MEMORY_AGGREGATOR_DEVICE_TYPE_SOCKET 0x1\r
-#define EFI_ACPI_6_4_PMTT_MEMORY_AGGREGATOR_DEVICE_TYPE_MEMORY_CONTROLLER 0x2\r
-#define EFI_ACPI_6_4_PMTT_MEMORY_AGGREGATOR_DEVICE_TYPE_DIMM 0x3\r
+#define EFI_ACPI_6_4_PMTT_MEMORY_DEVICE_TYPE_SOCKET 0x1\r
+#define EFI_ACPI_6_4_PMTT_MEMORY_DEVICE_TYPE_MEMORY_CONTROLLER 0x2\r
+#define EFI_ACPI_6_4_PMTT_MEMORY_DEVICE_TYPE_DIMM 0x3\r
+#define EFI_ACPI_6_4_PMTT_MEMORY_DEVICE_TYPE_VENDOR_SPECIFIC_TYPE 0xFF\r
+\r
+///\r
+/// Socket Type Data.\r
+///\r
+typedef struct {\r
+ EFI_ACPI_6_4_PMTT_COMMON_MEMORY_DEVICE CommonMemoryDeviceHeader;\r
+ UINT16 SocketIdentifier;\r
+ UINT16 Reserved;\r
+//EFI_ACPI_6_4_PMTT_COMMON_MEMORY_DEVICE MemoryDeviceStructure[];\r
+} EFI_ACPI_6_4_PMTT_SOCKET_TYPE_DATA;\r
\r
///\r
-/// Socket Memory Aggregator Device Structure.\r
+/// Memory Controller Type Data.\r
///\r
typedef struct {\r
- EFI_ACPI_6_4_PMTT_COMMON_MEMORY_AGGREGATOR_DEVICE_STRUCTURE Header;\r
- UINT16 SocketIdentifier;\r
- UINT16 Reserved;\r
-//EFI_ACPI_6_4_PMTT_MEMORY_CONTROLLER_MEMORY_AGGREGATOR_DEVICE_STRUCTURE MemoryController[];\r
-} EFI_ACPI_6_4_PMTT_SOCKET_MEMORY_AGGREGATOR_DEVICE_STRUCTURE;\r
+ EFI_ACPI_6_4_PMTT_COMMON_MEMORY_DEVICE CommonMemoryDeviceHeader;\r
+ UINT16 MemoryControllerIdentifier;\r
+ UINT16 Reserved;\r
+//EFI_ACPI_6_4_PMTT_COMMON_MEMORY_DEVICE MemoryDeviceStructure[];\r
+} EFI_ACPI_6_4_PMTT_MEMORY_CONTROLLER_TYPE_DATA;\r
\r
///\r
-/// MemoryController Memory Aggregator Device Structure.\r
+/// DIMM Type Specific Data.\r
///\r
typedef struct {\r
- EFI_ACPI_6_4_PMTT_COMMON_MEMORY_AGGREGATOR_DEVICE_STRUCTURE Header;\r
- UINT32 ReadLatency;\r
- UINT32 WriteLatency;\r
- UINT32 ReadBandwidth;\r
- UINT32 WriteBandwidth;\r
- UINT16 OptimalAccessUnit;\r
- UINT16 OptimalAccessAlignment;\r
- UINT16 Reserved;\r
- UINT16 NumberOfProximityDomains;\r
-//UINT32 ProximityDomain[NumberOfProximityDomains];\r
-//EFI_ACPI_6_4_PMTT_DIMM_MEMORY_AGGREGATOR_DEVICE_STRUCTURE PhysicalComponent[];\r
-} EFI_ACPI_6_4_PMTT_MEMORY_CONTROLLER_MEMORY_AGGREGATOR_DEVICE_STRUCTURE;\r
+ EFI_ACPI_6_4_PMTT_COMMON_MEMORY_DEVICE CommonMemoryDeviceHeader;\r
+ UINT32 SmbiosHandle;\r
+} EFI_ACPI_6_4_PMTT_DIMM_TYPE_SPECIFIC_DATA;\r
\r
///\r
-/// DIMM Memory Aggregator Device Structure.\r
+/// Vendor Specific Type Data.\r
///\r
typedef struct {\r
- EFI_ACPI_6_4_PMTT_COMMON_MEMORY_AGGREGATOR_DEVICE_STRUCTURE Header;\r
- UINT16 PhysicalComponentIdentifier;\r
- UINT16 Reserved;\r
- UINT32 SizeOfDimm;\r
- UINT32 SmbiosHandle;\r
-} EFI_ACPI_6_4_PMTT_DIMM_MEMORY_AGGREGATOR_DEVICE_STRUCTURE;\r
+ EFI_ACPI_6_4_PMTT_COMMON_MEMORY_DEVICE CommonMemoryDeviceHeader;\r
+ UINT8 TypeUuid[16];\r
+//EFI_ACPI_6_4_PMTT_VENDOR_SPECIFIC_TYPE_DATA VendorSpecificData[];\r
+//EFI_ACPI_6_4_PMTT_COMMON_MEMORY_DEVICE MemoryDeviceStructure[];\r
+} EFI_ACPI_6_4_PMTT_VENDOR_SPECIFIC_TYPE_DATA;\r
\r
///\r
/// Boot Graphics Resource Table definition.\r