aboutsummaryrefslogtreecommitdiff
path: root/exec-arm.h
diff options
context:
space:
mode:
authorbellard <bellard@c046a42c-6fe2-441c-8c8c-71466251a162>2003-07-09 17:10:32 +0000
committerbellard <bellard@c046a42c-6fe2-441c-8c8c-71466251a162>2003-07-09 17:10:32 +0000
commit6e295807acbaf7eb3200a685376fb968ebdb8571 (patch)
treee5292b167e9550bf6997fd4372108393d0e9454b /exec-arm.h
parentf2674e31e0b79a8e30335438f274b846d084a383 (diff)
ARM fixes
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@314 c046a42c-6fe2-441c-8c8c-71466251a162
Diffstat (limited to 'exec-arm.h')
-rw-r--r--exec-arm.h8
1 files changed, 8 insertions, 0 deletions
diff --git a/exec-arm.h b/exec-arm.h
index 8da263672b..e838e88239 100644
--- a/exec-arm.h
+++ b/exec-arm.h
@@ -30,3 +30,11 @@ register uint32_t T2 asm(AREG3);
void cpu_lock(void);
void cpu_unlock(void);
void cpu_loop_exit(void);
+
+static inline int compute_cpsr(void)
+{
+ int ZF;
+ ZF = (env->NZF == 0);
+ return env->cpsr | (env->NZF & 0x80000000) | (ZF << 30) |
+ (env->CF << 29) | ((env->VF & 0x80000000) >> 3);
+}