[PATCH] powerpc: Reroute interrupts from 0 + offset to PHYSICAL_START + offset
Regardless of where the kernel's linked we always get interrupts at low addresses. This patch creates a trampoline in the first 3 pages of memory, where interrupts land, and patches those addresses to jump into the real kernel code at PHYSICAL_START. We also need to reserve the trampoline code and a bit more in prom.c Signed-off-by: Michael Ellerman <michael@ellerman.id.au> Signed-off-by: Paul Mackerras <paulus@samba.org>
This commit is contained in:
committed by
Paul Mackerras
parent
8c4f1f2958
commit
0cc4746cad
@ -37,6 +37,7 @@
|
||||
#include <asm/processor.h>
|
||||
#include <asm/irq.h>
|
||||
#include <asm/io.h>
|
||||
#include <asm/kdump.h>
|
||||
#include <asm/smp.h>
|
||||
#include <asm/system.h>
|
||||
#include <asm/mmu.h>
|
||||
@ -1335,11 +1336,14 @@ void __init early_init_devtree(void *params)
|
||||
of_scan_flat_dt(early_init_dt_scan_memory, NULL);
|
||||
lmb_enforce_memory_limit(memory_limit);
|
||||
lmb_analyze();
|
||||
lmb_reserve(0, __pa(klimit));
|
||||
|
||||
DBG("Phys. mem: %lx\n", lmb_phys_mem_size());
|
||||
|
||||
/* Reserve LMB regions used by kernel, initrd, dt, etc... */
|
||||
lmb_reserve(PHYSICAL_START, __pa(klimit) - PHYSICAL_START);
|
||||
#ifdef CONFIG_CRASH_DUMP
|
||||
lmb_reserve(0, KDUMP_RESERVE_LIMIT);
|
||||
#endif
|
||||
early_reserve_mem();
|
||||
|
||||
DBG("Scanning CPUs ...\n");
|
||||
|
Reference in New Issue
Block a user