diff options
author | Andrew Waterman <waterman@s144.Millennium.Berkeley.EDU> | 2010-10-15 17:51:37 -0700 |
---|---|---|
committer | Andrew Waterman <waterman@s144.Millennium.Berkeley.EDU> | 2010-10-15 17:51:37 -0700 |
commit | b4fd490d689415205cf315c02f673b9386ece337 (patch) | |
tree | 73f93d81b6241b1d1204d7add68af065f9638ea9 /pk/riscv-pk.c | |
parent | 2b7fd5fa6ac24f3d6d6cb8f0d6c1c32b85c39f02 (diff) | |
download | pk-b4fd490d689415205cf315c02f673b9386ece337.zip pk-b4fd490d689415205cf315c02f673b9386ece337.tar.gz pk-b4fd490d689415205cf315c02f673b9386ece337.tar.bz2 |
[pk, sim] added FPU emulation support to proxy kernel
Diffstat (limited to 'pk/riscv-pk.c')
-rw-r--r-- | pk/riscv-pk.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/pk/riscv-pk.c b/pk/riscv-pk.c index 3e4c76f..771982c 100644 --- a/pk/riscv-pk.c +++ b/pk/riscv-pk.c @@ -1,4 +1,5 @@ #include "pcr.h" +#include "pk.h" void __attribute__((section(".boottext"))) __start() { @@ -19,7 +20,10 @@ void __attribute__((section(".boottext"))) __start() sr0 |= SR_UX; #endif #endif - mtpcr(sr0,PCR_SR); + + mtpcr(sr0 | SR_EF, PCR_SR); + have_fp = mfpcr(PCR_SR) & SR_EF; + mtpcr(sr0, PCR_SR); extern void boot(); register void (*boot_p)() = &boot; |