diff options
author | cinap_lenrek <cinap_lenrek@felloff.net> | 2015-07-08 02:13:16 +0200 |
---|---|---|
committer | cinap_lenrek <cinap_lenrek@felloff.net> | 2015-07-08 02:13:16 +0200 |
commit | fcb9abccbbc73a4f449d55c2c7fb369db2ad139d (patch) | |
tree | 397902659c399e97c14e5d5dd68c3cb761236649 /sys/src/cmd/5e | |
parent | 63879193e7e0d271daa215b02d6c4f64c98dc6ae (diff) |
5e: enable VFP emulation by default, doubles only need to be 4 byte aligned
this adds -F flag to 5e (same as 5l) to disable VFP emulation
and makes VFP emulation the default.
Diffstat (limited to 'sys/src/cmd/5e')
-rw-r--r-- | sys/src/cmd/5e/5e.c | 4 | ||||
-rw-r--r-- | sys/src/cmd/5e/vfp.c | 2 |
2 files changed, 4 insertions, 2 deletions
diff --git a/sys/src/cmd/5e/5e.c b/sys/src/cmd/5e/5e.c index 238bcadaa..85367c3ee 100644 --- a/sys/src/cmd/5e/5e.c +++ b/sys/src/cmd/5e/5e.c @@ -4,6 +4,7 @@ #include "dat.h" #include "fns.h" +int vfp = 1; int nflag, pflag, bflag; Ref nproc; @@ -49,7 +50,7 @@ cleanup(void) static void usage(void) { - fprint(2, "usage: 5e [-npbf] text [...]\n"); + fprint(2, "usage: 5e [-npbF] text [...]\n"); exits(nil); } @@ -105,6 +106,7 @@ main(int argc, char **argv) case 'p': pflag++; break; case 'b': bflag++; break; case 'f': vfp = 1; break; + case 'F': vfp = 0; break; default: usage(); } ARGEND; if(argc < 1) diff --git a/sys/src/cmd/5e/vfp.c b/sys/src/cmd/5e/vfp.c index 2ab755a09..0f4e7eeb6 100644 --- a/sys/src/cmd/5e/vfp.c +++ b/sys/src/cmd/5e/vfp.c @@ -55,7 +55,7 @@ vfprmtransfer(u32int instr) sz = instr & (1<<8); if((instr & (1<<23)) == 0) off = -off; - ea = vaddr(evenaddr(P->R[n] + off, sz ? 7 : 3), 8, &seg); + ea = vaddr(evenaddr(P->R[n] + off, 3), sz ? 8 : 4, &seg); switch((instr>>20)&0x3){ case 0: if(sz) |