qemu-devel
[Top][All Lists]
Advanced

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

[Qemu-devel] [PATCH 03/21] init env made accel driver


From: Glauber Costa
Subject: [Qemu-devel] [PATCH 03/21] init env made accel driver
Date: Wed, 15 Oct 2008 19:55:00 -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              |    1 +
 target-i386/helper.c |    6 +++---
 4 files changed, 12 insertions(+), 3 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 87c06cd..4759bf3 100644
--- a/kqemu.c
+++ b/kqemu.c
@@ -249,6 +249,7 @@ void kqemu_init_env(CPUState *env)
 
 QEMUAccel kqemu_accel = {
     .cpu_interrupt = kqemu_cpu_interrupt,
+    .init_env = kqemu_init_env,
 };
 
 
diff --git a/target-i386/helper.c b/target-i386/helper.c
index ee8cc86..d15e3f9 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]