Skip to content

Commit ec0ed62

Browse files
aeglrafaeljw
authored andcommitted
ACPICA: actbl2.h: MRRM: Add typedef and other definitions
ACPICA commit 04fd53b2647b9f6f98cfca551383689cb3b59362 The MRRM table describes association between physical address ranges and "region numbers". Structure defined in the Intel Resource Director Technology (RDT) Architecture specification downloadable from www.intel.com/sdm Link: acpica/acpica@04fd53b2 Signed-off-by: Tony Luck <[email protected]> Signed-off-by: Rafael J. Wysocki <[email protected]> Link: https://patch.msgid.link/[email protected]
1 parent 67f9d69 commit ec0ed62

File tree

1 file changed

+40
-0
lines changed

1 file changed

+40
-0
lines changed

include/acpi/actbl2.h

Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,7 @@
3737
#define ACPI_SIG_MCHI "MCHI" /* Management Controller Host Interface table */
3838
#define ACPI_SIG_MPAM "MPAM" /* Memory System Resource Partitioning and Monitoring Table */
3939
#define ACPI_SIG_MPST "MPST" /* Memory Power State Table */
40+
#define ACPI_SIG_MRRM "MRRM" /* Memory Range and Region Mapping table */
4041
#define ACPI_SIG_MSDM "MSDM" /* Microsoft Data Management Table */
4142
#define ACPI_SIG_NFIT "NFIT" /* NVDIMM Firmware Interface Table */
4243
#define ACPI_SIG_NHLT "NHLT" /* Non HD Audio Link Table */
@@ -1736,6 +1737,45 @@ struct acpi_msct_proximity {
17361737
u64 memory_capacity; /* In bytes */
17371738
};
17381739

1740+
/*******************************************************************************
1741+
*
1742+
* MRRM - Memory Range and Region Mapping (MRRM) table
1743+
*
1744+
******************************************************************************/
1745+
1746+
struct acpi_table_mrrm {
1747+
struct acpi_table_header header; /* Common ACPI table header */
1748+
u8 max_mem_region; /* Max Memory Regions supported */
1749+
u8 flags; /* Region assignment type */
1750+
u8 reserved[26];
1751+
u8 memory_range_entry[];
1752+
};
1753+
1754+
/* Flags */
1755+
#define ACPI_MRRM_FLAGS_REGION_ASSIGNMENT_OS (1<<0)
1756+
1757+
/*******************************************************************************
1758+
*
1759+
* Memory Range entry - Memory Range entry in MRRM table
1760+
*
1761+
******************************************************************************/
1762+
1763+
struct acpi_table_mrrm_mem_range_entry {
1764+
ACPI_SUBTABLE_HEADER_16 header;
1765+
u32 reserved0; /* Reserved */
1766+
u64 addr_base; /* Base addr of the mem range */
1767+
u64 addr_len; /* Length of the mem range */
1768+
u16 region_id_flags; /* Valid local or remote Region-ID */
1769+
u8 local_region_id; /* Platform-assigned static local Region-ID */
1770+
u8 remote_region_id; /* Platform-assigned static remote Region-ID */
1771+
u32 reserved1; /* Reserved */
1772+
/* Region-ID Programming Registers[] */
1773+
};
1774+
1775+
/* Values for region_id_flags above */
1776+
#define ACPI_MRRM_VALID_REGION_ID_FLAGS_LOCAL (1<<0)
1777+
#define ACPI_MRRM_VALID_REGION_ID_FLAGS_REMOTE (1<<1)
1778+
17391779
/*******************************************************************************
17401780
*
17411781
* MSDM - Microsoft Data Management table

0 commit comments

Comments
 (0)