From 1d93f0f03d4d911fdf1dc4ef529d8b2a0c0765f2 Mon Sep 17 00:00:00 2001 From: Jan Kiszka Date: Fri, 25 Jun 2010 16:56:49 +0200 Subject: Introduce proper compiler barrier Define barrier() as optimization barrier and replace (potentially unreliable) asm("") fences. Signed-off-by: Jan Kiszka Acked-by: Paolo Bonzini Reviewed-by: Marcelo Tosatti Signed-off-by: Aurelien Jarno --- cpu-exec.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) (limited to 'cpu-exec.c') diff --git a/cpu-exec.c b/cpu-exec.c index 026980a552..525b3b45ee 100644 --- a/cpu-exec.c +++ b/cpu-exec.c @@ -21,6 +21,7 @@ #include "disas.h" #include "tcg.h" #include "kvm.h" +#include "qemu-barrier.h" #if !defined(CONFIG_SOFTMMU) #undef EAX @@ -233,7 +234,7 @@ int cpu_exec(CPUState *env1) use it. */ QEMU_BUILD_BUG_ON (sizeof (saved_env_reg) != sizeof (env)); saved_env_reg = (host_reg_t) env; - asm(""); + barrier(); env = env1; if (exit_request) { @@ -669,7 +670,7 @@ int cpu_exec(CPUState *env1) #endif /* restore global registers */ - asm(""); + barrier(); env = (void *) saved_env_reg; /* fail safe : never use cpu_single_env outside cpu_exec() */ -- cgit v1.2.3