qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Qemu-devel] [PATCH 08/32] init env made accel driver


From: Glauber Costa
Subject: [Qemu-devel] [PATCH 08/32] init env made accel driver
Date: Thu, 23 Oct 2008 12:18:52 -0200

From: Glauber Costa <address@hidden>

Yet another accel field: init_env
Signed-off-by: Glauber Costa <address@hidden>
---
 accel.c              |    1 +
 accel.h              |    7 +++++++
 kqemu.c              |    3 ++-
 target-i386/helper.c |    6 +++---
 4 files changed, 13 insertions(+), 4 deletions(-)

diff --git a/accel.c b/accel.c
index d30460d..3a17dc5 100644
--- a/accel.c
+++ b/accel.c
@@ -13,5 +13,6 @@ int _accel_nop(void)
 /* Accelerator wrapper for the no-accel (raw qemu) case */
 QEMUAccel noaccel = {
     .cpu_interrupt = accel_nop,
+    .init_env = accel_nop,
 };
 
diff --git a/accel.h b/accel.h
index 8e5ddc6..0d916dc 100644
--- a/accel.h
+++ b/accel.h
@@ -3,6 +3,7 @@
 
 typedef struct QEMUAccel {
     void (*cpu_interrupt)(CPUState *env);
+    void (*init_env)(CPUState *env);
 } QEMUAccel;
 
 extern QEMUAccel *current_accel;
@@ -17,4 +18,10 @@ static inline void accel_cpu_interrupt(CPUState *env)
 {
     current_accel->cpu_interrupt(env);
 }
+
+static inline void accel_init_env(CPUState *env)
+{
+    current_accel->init_env(env);
+}
+
 #endif
diff --git a/kqemu.c b/kqemu.c
index dc989a3..8c228f4 100644
--- a/kqemu.c
+++ b/kqemu.c
@@ -242,7 +242,7 @@ int kqemu_start(void)
     return 0;
 }
 
-void kqemu_init_env(CPUState *env)
+static void kqemu_init_env(CPUState *env)
 {
     kqemu_update_cpuid(env);
     env->kqemu_enabled = kqemu_allowed;
@@ -1049,6 +1049,7 @@ static void qpi_init(void)
 
 QEMUAccel kqemu_accel = {
     .cpu_interrupt = kqemu_cpu_interrupt,
+    .init_env = kqemu_init_env,
 };
 
 #endif
diff --git a/target-i386/helper.c b/target-i386/helper.c
index b36e391..b981b92 100644
--- a/target-i386/helper.c
+++ b/target-i386/helper.c
@@ -30,6 +30,8 @@
 #include "svm.h"
 #include "qemu-common.h"
 
+#include "accel.h"
+
 //#define DEBUG_MMU
 
 static int cpu_x86_register (CPUX86State *env, const char *cpu_model);
@@ -112,9 +114,7 @@ CPUX86State *cpu_x86_init(const char *cpu_model)
         return NULL;
     }
     cpu_reset(env);
-#ifdef USE_KQEMU
-    kqemu_init_env(env);
-#endif
+    accel_init_env(env);
     return env;
 }
 
-- 
1.5.5.1





reply via email to

[Prev in Thread] Current Thread [Next in Thread]