aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorbellard <bellard@c046a42c-6fe2-441c-8c8c-71466251a162>2005-02-02 20:42:01 +0000
committerbellard <bellard@c046a42c-6fe2-441c-8c8c-71466251a162>2005-02-02 20:42:01 +0000
commit9f0777ed8812ac98b32ab55bbf87056ba913f8b6 (patch)
tree0908fe5bdcf55434cb40ff322f0b50446c4e8849
parent6bae70713cb2f87be60ef4f83105c2c928d8612e (diff)
ARM SMC workaround
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@1263 c046a42c-6fe2-441c-8c8c-71466251a162
-rw-r--r--cpu-exec.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/cpu-exec.c b/cpu-exec.c
index fe4bd906ec..bbd0c2d7bf 100644
--- a/cpu-exec.c
+++ b/cpu-exec.c
@@ -731,7 +731,10 @@ static inline int handle_cpu_signal(unsigned long pc, unsigned long address,
int is_write, sigset_t *old_set,
void *puc)
{
- /* XXX: do more */
+ /* XXX: locking issue */
+ if (is_write && page_unprotect(address, pc, puc)) {
+ return 1;
+ }
return 0;
}
#elif defined(TARGET_SPARC)