Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit f302a5bb authored by Yinghai Lu's avatar Yinghai Lu Committed by Ingo Molnar
Browse files

x86: reserve SLIT



save the SLIT, in case we are using fixmap to read it, and that fixmap
could be cleared by others.

Signed-off-by: default avatarYinghai Lu <yhlu.kernel@gmail.com>
Cc: Suresh Siddha <suresh.b.siddha@intel.com>
Signed-off-by: default avatarIngo Molnar <mingo@elte.hu>
parent 69a7704d
Loading
Loading
Loading
Loading
+13 −1
Original line number Diff line number Diff line
@@ -100,7 +100,19 @@ static __init inline int srat_disabled(void)
/* Callback for SLIT parsing */
void __init acpi_numa_slit_init(struct acpi_table_slit *slit)
{
	acpi_slit = slit;
	unsigned length;
	unsigned long phys;

	length = slit->header.length;
	phys = find_e820_area(0, max_pfn_mapped<<PAGE_SHIFT, length,
		 PAGE_SIZE);

	if (phys == -1L)
		panic(" Can not save slit!\n");

	acpi_slit = __va(phys);
	memcpy(acpi_slit, slit, length);
	reserve_early(phys, phys + length, "ACPI SLIT");
}

/* Callback for Proximity Domain -> LAPIC mapping */