2014-07-11 18:51:43 +02:00
|
|
|
From b05fbdf009740d872cc925230c16f4feebc26a19 Mon Sep 17 00:00:00 2001
|
2012-05-30 20:19:53 +02:00
|
|
|
From: Alexander Graf <agraf@suse.de>
|
|
|
|
Date: Tue, 29 May 2012 15:30:01 +0200
|
2014-07-11 18:51:43 +02:00
|
|
|
Subject: [PATCH] target-arm: linux-user: no tb_flush on reset
|
2012-05-30 20:19:53 +02:00
|
|
|
|
|
|
|
When running automoc4 as linux-user guest program, it segfaults right after
|
|
|
|
it creates a thread. Bisecting pointed to commit a84fac1426 which introduces
|
|
|
|
tb_flush on reset.
|
|
|
|
|
|
|
|
So something in our thread creation is broken. But for now, let's revert the
|
|
|
|
change to at least get a working build again.
|
2014-07-11 18:51:43 +02:00
|
|
|
|
|
|
|
[AF: Rebased, fixed typo]
|
2012-05-30 20:19:53 +02:00
|
|
|
---
|
2014-01-17 23:04:30 +01:00
|
|
|
target-arm/cpu.c | 4 ++++
|
|
|
|
1 file changed, 4 insertions(+)
|
2012-05-30 20:19:53 +02:00
|
|
|
|
|
|
|
diff --git a/target-arm/cpu.c b/target-arm/cpu.c
|
2014-07-11 18:51:43 +02:00
|
|
|
index 05e52e0..96f8cca 100644
|
2012-05-30 20:19:53 +02:00
|
|
|
--- a/target-arm/cpu.c
|
|
|
|
+++ b/target-arm/cpu.c
|
2014-07-11 18:51:43 +02:00
|
|
|
@@ -165,7 +165,11 @@ static void arm_cpu_reset(CPUState *s)
|
2012-05-30 20:19:53 +02:00
|
|
|
* bake assumptions about into translated code, so we need to
|
|
|
|
* tb_flush().
|
|
|
|
*/
|
|
|
|
+#if !defined(CONFIG_USER_ONLY)
|
2014-07-11 18:51:43 +02:00
|
|
|
+ /* XXX hack alert! automoc4 segfaults after spawning a new thread with
|
|
|
|
+ * this flush enabled */
|
2012-05-30 20:19:53 +02:00
|
|
|
tb_flush(env);
|
|
|
|
+#endif
|
|
|
|
|
2013-12-08 06:19:09 +01:00
|
|
|
#ifndef CONFIG_USER_ONLY
|
2014-07-11 18:51:43 +02:00
|
|
|
if (kvm_enabled()) {
|