Skip to content

Commit

Permalink
x86: reserve SLIT
Browse files Browse the repository at this point in the history
save the SLIT, in case we are using fixmap to read it, and that fixmap
could be cleared by others.

Signed-off-by: Yinghai Lu <yhlu.kernel@gmail.com>
Cc: Suresh Siddha <suresh.b.siddha@intel.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
  • Loading branch information
Yinghai Lu authored and Ingo Molnar committed Jul 11, 2008
1 parent 69a7704 commit f302a5b
Showing 1 changed file with 13 additions and 1 deletion.
14 changes: 13 additions & 1 deletion arch/x86/mm/srat_64.c
Original file line number Diff line number Diff line change
Expand Up @@ -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 */
Expand Down

0 comments on commit f302a5b

Please sign in to comment.