From dd84f5743dd5527f08df7cebb1423149926eacdc Mon Sep 17 00:00:00 2001 From: Andrew Waterman Date: Tue, 24 Aug 2010 02:22:20 -0700 Subject: [pk] proxy kernel support for mixed 32b/64b operation --- pk/riscv-pk.c | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) (limited to 'pk/riscv-pk.c') diff --git a/pk/riscv-pk.c b/pk/riscv-pk.c index dfcc71d..8168b33 100644 --- a/pk/riscv-pk.c +++ b/pk/riscv-pk.c @@ -5,7 +5,13 @@ void __attribute__((section(".boottext"))) __start() extern char stack_top; asm("move $sp,%0" : : "r"(&stack_top-64)); - register long sr0 = SR_S | SR_PS | SR_ET | SR_UX | SR_KX; + register long sr0 = SR_S | SR_PS | SR_ET; + #ifdef PK_ENABLE_KERNEL_64BIT + sr0 |= SR_KX; + #ifdef PK_ENABLE_USER_64BIT + sr0 |= SR_UX; + #endif + #endif mtpcr(sr0,PCR_SR); extern char trap_table; -- cgit v1.1