diff options
author | Yunsup Lee <yunsup@cs.berkeley.edu> | 2011-04-09 20:13:36 -0700 |
---|---|---|
committer | Yunsup Lee <yunsup@cs.berkeley.edu> | 2011-04-09 20:18:35 -0700 |
commit | 033e1e62bddb71851221ca2076945a22e5c98ca3 (patch) | |
tree | 87fa087db093ece5f90d0530f154af18b7fde8bf /pk/riscv-pk.c | |
parent | e23cce64e28b8af2130f1ade3b3bbdec35a19eed (diff) | |
download | pk-033e1e62bddb71851221ca2076945a22e5c98ca3.zip pk-033e1e62bddb71851221ca2076945a22e5c98ca3.tar.gz pk-033e1e62bddb71851221ca2076945a22e5c98ca3.tar.bz2 |
[pk] add vector_disabled trap handler
Diffstat (limited to 'pk/riscv-pk.c')
-rw-r--r-- | pk/riscv-pk.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/pk/riscv-pk.c b/pk/riscv-pk.c index 490a271..0af487d 100644 --- a/pk/riscv-pk.c +++ b/pk/riscv-pk.c @@ -21,6 +21,10 @@ void __attribute__((section(".boottext"))) __start() have_fp = mfpcr(PCR_SR) & SR_EF; mtpcr(sr0, PCR_SR); + mtpcr(sr0 | SR_EV, PCR_SR); + have_vector = mfpcr(PCR_SR) & SR_EV; + mtpcr(sr0, PCR_SR); + extern void boot(); register void (*boot_p)() = &boot; asm("" : "=r"(boot_p) : "0"(boot_p)); |