summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorcinap_lenrek <cinap_lenrek@gmx.de>2013-06-13 20:08:17 +0200
committercinap_lenrek <cinap_lenrek@gmx.de>2013-06-13 20:08:17 +0200
commit12853d3ba896f5d1190be7ab5f6928aeb4af8be2 (patch)
tree3203e10e852c26c68859220a12bb2caa7121587a
parent38d18342a910a83d04af68a9f51903f15eddf6e8 (diff)
parent166da952f400b7368d371cc23a90a9bc8343ee98 (diff)
downloadplan9front-12853d3ba896f5d1190be7ab5f6928aeb4af8be2.tar.xz
merge
-rw-r--r--sys/src/9/kw/fpiarm.c6
-rw-r--r--sys/src/9/omap/fpiarm.c6
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);