diff options
author | Paul Brook <paul@codesourcery.com> | 2009-11-22 21:35:13 +0000 |
---|---|---|
committer | Paul Brook <paul@codesourcery.com> | 2009-11-22 21:35:13 +0000 |
commit | 426f5abcaa15d0e59475fdb33b2a4a5fdf492d05 (patch) | |
tree | ef9eb63ac19b7ba19fe533d514d3571f21de2b3d /target-arm/cpu.h | |
parent | ARM RealView I2C (diff) | |
download | qemu-kvm-426f5abcaa15d0e59475fdb33b2a4a5fdf492d05.tar.gz qemu-kvm-426f5abcaa15d0e59475fdb33b2a4a5fdf492d05.tar.bz2 qemu-kvm-426f5abcaa15d0e59475fdb33b2a4a5fdf492d05.zip |
ARM atomic ops rewrite
Implement ARMv6 atomic ops (ldrex/strex) using the same trick as PPC.
Signed-off-by: Paul Brook <paul@codesourcery.com>
Diffstat (limited to 'target-arm/cpu.h')
-rw-r--r-- | target-arm/cpu.h | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/target-arm/cpu.h b/target-arm/cpu.h index a83ce48c4..4a1c53f24 100644 --- a/target-arm/cpu.h +++ b/target-arm/cpu.h @@ -40,6 +40,7 @@ #define EXCP_BKPT 7 #define EXCP_EXCEPTION_EXIT 8 /* Return from v7M exception. */ #define EXCP_KERNEL_TRAP 9 /* Jumped to kernel code page. */ +#define EXCP_STREX 10 #define ARMV7M_EXCP_RESET 1 #define ARMV7M_EXCP_NMI 2 @@ -180,10 +181,12 @@ typedef struct CPUARMState { float_status fp_status; } vfp; + uint32_t exclusive_addr; + uint32_t exclusive_val; + uint32_t exclusive_high; #if defined(CONFIG_USER_ONLY) - struct mmon_state *mmon_entry; -#else - uint32_t mmon_addr; + uint32_t exclusive_test; + uint32_t exclusive_info; #endif /* iwMMXt coprocessor state. */ |