diff options
author | jpathy <jpathy@mail.nanosouffle.net> | 2013-06-10 18:07:16 +0530 |
---|---|---|
committer | jpathy <jpathy@mail.nanosouffle.net> | 2013-06-10 18:07:16 +0530 |
commit | de463408482b3d1e5c361866ac7500c07c5f4e96 (patch) | |
tree | 9c549e05c063bc3b3ad86a8089db2993feadcca9 /sys/src/libmach | |
parent | 686f9fa1db8c6f12d86f186cd141485eadaae15e (diff) |
ARM: kernel changes make teg2 procfork() call fpuprocfork() and acid fixes for vfp instruction
Diffstat (limited to 'sys/src/libmach')
-rw-r--r-- | sys/src/libmach/5db.c | 13 |
1 files changed, 12 insertions, 1 deletions
diff --git a/sys/src/libmach/5db.c b/sys/src/libmach/5db.c index 21b788d55..c477ec44c 100644 --- a/sys/src/libmach/5db.c +++ b/sys/src/libmach/5db.c @@ -247,13 +247,14 @@ armclass(long w) op = 108; break; case 7: - if(((w >> 19) & 0x1) == 0) + if(((w >> 19) & 0x1) == 0){ if(((w >> 17) & 0x1) == 0) op = 109 + ((w >> 16) & 0x4) + ((w >> 15) & 0x2) + ((w >> 7) & 0x1); else if(((w >> 16) & 0x7) == 0x7) op = 117; + } else switch((w >> 16) & 0x7){ case 0: @@ -405,6 +406,16 @@ armdps(Opcode *o, Instr *i) return; } } + if(i->rd == 15) { + if(i->op == 120) { + format("MOVW", i, "PSR, %x"); + return; + } else + if(i->op == 121) { + format("MOVW", i, "%x, PSR"); + return; + } + } format(o->o, i, o->a); } |