diff options
author | jpathy <jpathy@mail.nanosouffle.net> | 2013-06-14 23:42:30 +0530 |
---|---|---|
committer | jpathy <jpathy@mail.nanosouffle.net> | 2013-06-14 23:42:30 +0530 |
commit | 166da952f400b7368d371cc23a90a9bc8343ee98 (patch) | |
tree | 71abd0ac0ce97f45a3e9727acaea0bdd8a816fb3 /sys/src/9/omap/fpiarm.c | |
parent | 4b79c8f86fffdc5e6339c6c730c37282c734cd95 (diff) |
fpiarm: condok() verfiy before specialop() omap/kw
Diffstat (limited to 'sys/src/9/omap/fpiarm.c')
-rw-r--r-- | sys/src/9/omap/fpiarm.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/sys/src/9/omap/fpiarm.c b/sys/src/9/omap/fpiarm.c index 7adfd1354..8d5a20e52 100644 --- a/sys/src/9/omap/fpiarm.c +++ b/sys/src/9/omap/fpiarm.c @@ -749,8 +749,10 @@ fpiarm(Ureg *ur) for(i = 0; specialopc[i].f; i++) if((op & specialopc[i].mask) == specialopc[i].opc) break; - if(specialopc[i].f) - specialopc[i].f(ur->pc, op, ur); + if(specialopc[i].f){ + if(condok(ur->psr, op>>28)) + specialopc[i].f(ur->pc, op, ur); + } else if(ISVFPOP(cp, o)){ if(condok(ur->psr, op>>28)) vfpemu(ur->pc, op, ur, ufp); |