qemu-devel
[Top][All Lists]
Advanced

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

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


From: Glauber Costa
Subject: [Qemu-devel] [PATCH 03/20] init env made accel driver
Date: Fri, 27 Jun 2008 17:38:06 -0300

---
 accel.h              |    8 ++++++++
 kqemu.c              |    1 +
 target-i386/helper.c |    6 +++---
 3 files changed, 12 insertions(+), 3 deletions(-)

diff --git a/accel.h b/accel.h
index e16ca69..da66cd5 100644
--- a/accel.h
+++ b/accel.h
@@ -1,5 +1,6 @@
 typedef struct QEMUAccel {
     void (*cpu_interrupt)(CPUState *env);
+    void (*init_env)(CPUState *env);
 } QEMUAccel;
 
 extern QEMUAccel *current_accel;
@@ -14,3 +15,10 @@ static inline void accel_cpu_interrupt(CPUState *env)
     if (current_accel && current_accel->cpu_interrupt)
         current_accel->cpu_interrupt(env);
 }
+
+static inline void accel_init_env(CPUState *env)
+{
+    if (current_accel && current_accel->init_env)
+        current_accel->init_env(env);
+}
+
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 2834171..4febc45 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]