|
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