diff options
| author | cinap_lenrek <cinap_lenrek@gmx.de> | 2013-06-13 20:08:17 +0200 |
|---|---|---|
| committer | cinap_lenrek <cinap_lenrek@gmx.de> | 2013-06-13 20:08:17 +0200 |
| commit | 12853d3ba896f5d1190be7ab5f6928aeb4af8be2 (patch) | |
| tree | 3203e10e852c26c68859220a12bb2caa7121587a | |
| parent | 38d18342a910a83d04af68a9f51903f15eddf6e8 (diff) | |
| parent | 166da952f400b7368d371cc23a90a9bc8343ee98 (diff) | |
| download | plan9front-12853d3ba896f5d1190be7ab5f6928aeb4af8be2.tar.xz | |
merge
| -rw-r--r-- | sys/src/9/kw/fpiarm.c | 6 | ||||
| -rw-r--r-- | sys/src/9/omap/fpiarm.c | 6 |
2 files changed, 8 insertions, 4 deletions
diff --git a/sys/src/9/kw/fpiarm.c b/sys/src/9/kw/fpiarm.c index 7adfd1354..8d5a20e52 100644 --- a/sys/src/9/kw/fpiarm.c +++ b/sys/src/9/kw/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); 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); |
