ARC: mm: move MMU specific bits out of entry code ...
... to avoid polluting shared entry code (across three ISA variants) with ISA/MMU specific code. Cc: Jose Abreu <joabreu@synopsys.com> Signed-off-by: Vineet Gupta <vgupta@kernel.org>
This commit is contained in:
parent
89d0d42412
commit
a79a9c765f
|
@ -84,6 +84,14 @@ static inline int is_pae40_enabled(void)
|
|||
|
||||
extern int pae40_exist_but_not_enab(void);
|
||||
|
||||
#else
|
||||
|
||||
.macro ARC_MMU_REENABLE reg
|
||||
lr \reg, [ARC_REG_PID]
|
||||
or \reg, \reg, MMU_ENABLE
|
||||
sr \reg, [ARC_REG_PID]
|
||||
.endm
|
||||
|
||||
#endif /* !__ASSEMBLY__ */
|
||||
|
||||
#endif
|
||||
|
|
|
@ -10,6 +10,7 @@
|
|||
#include <asm/errno.h>
|
||||
#include <asm/arcregs.h>
|
||||
#include <asm/irqflags.h>
|
||||
#include <asm/mmu.h>
|
||||
|
||||
; A maximum number of supported interrupts in the core interrupt controller.
|
||||
; This number is not equal to the maximum interrupt number (256) because
|
||||
|
|
|
@ -101,11 +101,8 @@ ENTRY(EV_MachineCheck)
|
|||
lr r0, [efa]
|
||||
mov r1, sp
|
||||
|
||||
; hardware auto-disables MMU, re-enable it to allow kernel vaddr
|
||||
; access for say stack unwinding of modules for crash dumps
|
||||
lr r3, [ARC_REG_PID]
|
||||
or r3, r3, MMU_ENABLE
|
||||
sr r3, [ARC_REG_PID]
|
||||
; MC excpetions disable MMU
|
||||
ARC_MMU_REENABLE r3
|
||||
|
||||
lsr r3, r2, 8
|
||||
bmsk r3, r3, 7
|
||||
|
|
Loading…
Reference in New Issue