|
37 | 37 | #define ACPI_SIG_MCHI "MCHI" /* Management Controller Host Interface table */
|
38 | 38 | #define ACPI_SIG_MPAM "MPAM" /* Memory System Resource Partitioning and Monitoring Table */
|
39 | 39 | #define ACPI_SIG_MPST "MPST" /* Memory Power State Table */
|
| 40 | +#define ACPI_SIG_MRRM "MRRM" /* Memory Range and Region Mapping table */ |
40 | 41 | #define ACPI_SIG_MSDM "MSDM" /* Microsoft Data Management Table */
|
41 | 42 | #define ACPI_SIG_NFIT "NFIT" /* NVDIMM Firmware Interface Table */
|
42 | 43 | #define ACPI_SIG_NHLT "NHLT" /* Non HD Audio Link Table */
|
@@ -1736,6 +1737,45 @@ struct acpi_msct_proximity {
|
1736 | 1737 | u64 memory_capacity; /* In bytes */
|
1737 | 1738 | };
|
1738 | 1739 |
|
| 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 | + |
1739 | 1779 | /*******************************************************************************
|
1740 | 1780 | *
|
1741 | 1781 | * MSDM - Microsoft Data Management table
|
|
0 commit comments