Merge commit '45a50b1668822c23afc2a89f724654e176518bc4'
[qemu-kvm/markmc.git] / qemu-kvm-helper.c
blob9420eb17634f690948fc75c60e8e384ed2041135
2 #include "config.h"
3 #include "config-host.h"
5 #include "exec.h"
7 #include "qemu-kvm.h"
9 void qemu_kvm_call_with_env(void (*func)(void *), void *data, CPUState *newenv)
11 CPUState *oldenv;
12 #define DECLARE_HOST_REGS
13 #include "hostregs_helper.h"
15 oldenv = newenv;
17 #define SAVE_HOST_REGS
18 #include "hostregs_helper.h"
20 env = newenv;
22 env_to_regs();
23 func(data);
24 regs_to_env();
26 env = oldenv;
28 #include "hostregs_helper.h"
31 static void call_helper_cpuid(void *junk)
33 helper_cpuid();
36 void qemu_kvm_cpuid_on_env(CPUState *env)
38 qemu_kvm_call_with_env(call_helper_cpuid, NULL, env);