aboutsummaryrefslogtreecommitdiff
path: root/pk/riscv-pk.c
diff options
context:
space:
mode:
authorAndrew Waterman <waterman@s144.Millennium.Berkeley.EDU>2010-10-15 17:51:37 -0700
committerAndrew Waterman <waterman@s144.Millennium.Berkeley.EDU>2010-10-15 17:51:37 -0700
commitb4fd490d689415205cf315c02f673b9386ece337 (patch)
tree73f93d81b6241b1d1204d7add68af065f9638ea9 /pk/riscv-pk.c
parent2b7fd5fa6ac24f3d6d6cb8f0d6c1c32b85c39f02 (diff)
downloadpk-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.c6
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;