diff options
Diffstat (limited to 'pk')
-rw-r--r-- | pk/entry.S | 1 | ||||
-rw-r--r-- | pk/pcr.h | 12 | ||||
-rw-r--r-- | pk/pk.c | 2 | ||||
-rw-r--r-- | pk/riscv-pk.c | 2 |
4 files changed, 8 insertions, 9 deletions
@@ -131,7 +131,6 @@ trap_entry: move $a0,$x2 ei jal handle_trap - unimp .end trap_entry .bss @@ -5,12 +5,12 @@ #define SR_ET 0x0000000000000001 #define SR_EF 0x0000000000000002 -#define SR_PS 0x0000000000000004 -#define SR_S 0x0000000000000008 -#define SR_UX 0x0000000000000010 -#define SR_SX 0x0000000000000020 -#define SR_UC 0x0000000000000040 -#define SR_SC 0x0000000000000080 +#define SR_EV 0x0000000000000004 +#define SR_EC 0x0000000000000008 +#define SR_PS 0x0000000000000010 +#define SR_S 0x0000000000000020 +#define SR_UX 0x0000000000000040 +#define SR_SX 0x0000000000000080 #define SR_IM 0x000000000000FF00 #define PCR_SR 0 @@ -127,7 +127,7 @@ void init_tf(trapframe_t* tf, long pc, long sp, int user64) memset(tf,0,sizeof(*tf)); if(sizeof(void*) != 8) kassert(!user64); - tf->sr = (mfpcr(PCR_SR) & (SR_IM | SR_SX)) | SR_S | SR_UC | SR_UC; + tf->sr = (mfpcr(PCR_SR) & (SR_IM | SR_SX)) | SR_S | SR_EC; if(user64) tf->sr |= SR_UX; tf->gpr[30] = sp; diff --git a/pk/riscv-pk.c b/pk/riscv-pk.c index 5392100..490a271 100644 --- a/pk/riscv-pk.c +++ b/pk/riscv-pk.c @@ -13,7 +13,7 @@ void __attribute__((section(".boottext"))) __start() mtpcr(0,PCR_COUNT); mtpcr(0,PCR_COMPARE); - register long sr0 = SR_S | SR_PS | SR_ET | SR_IM | SR_SC; + register long sr0 = SR_S | SR_PS | SR_ET | SR_IM | SR_EC; if(sizeof(void*) == 8) sr0 |= SR_SX; |