[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH 22/32] add next_cpu_index
From: |
Glauber Costa |
Subject: |
[Qemu-devel] [PATCH 22/32] add next_cpu_index |
Date: |
Thu, 23 Oct 2008 12:19:06 -0200 |
From: Glauber Costa <address@hidden>
separate the logic for calculating the next cpu index
from cpu creation. It will allow others to query what's
the next cpu index to be created before cpu creation.
Signed-off-by: Glauber Costa <address@hidden>
---
exec.c | 22 ++++++++++++++--------
1 files changed, 14 insertions(+), 8 deletions(-)
diff --git a/exec.c b/exec.c
index 80b8a78..7fe7eeb 100644
--- a/exec.c
+++ b/exec.c
@@ -526,25 +526,31 @@ static int cpu_common_load(QEMUFile *f, void *opaque, int
version_id)
}
#endif
-void cpu_exec_init(CPUState *env)
+int next_cpu_index(void)
{
CPUState **penv;
- int cpu_index;
+ int cpu_index = 0;
- env->next_cpu = NULL;
penv = &first_cpu;
- cpu_index = 0;
+
while (*penv != NULL) {
penv = (CPUState **)&(*penv)->next_cpu;
cpu_index++;
}
- env->cpu_index = cpu_index;
+ return cpu_index;
+}
+
+void cpu_exec_init(CPUState *env)
+{
+ env->next_cpu = NULL;
+ env->cpu_index = next_cpu_index();
env->nb_watchpoints = 0;
- *penv = env;
+ if (env->cpu_index == 0)
+ first_cpu = env;
#if defined(CPU_SAVE_VERSION) && !defined(CONFIG_USER_ONLY)
- register_savevm("cpu_common", cpu_index, CPU_COMMON_SAVE_VERSION,
+ register_savevm("cpu_common", env->cpu_index, CPU_COMMON_SAVE_VERSION,
cpu_common_save, cpu_common_load, env);
- register_savevm("cpu", cpu_index, CPU_SAVE_VERSION,
+ register_savevm("cpu", env->cpu_index, CPU_SAVE_VERSION,
cpu_save, cpu_load, env);
#endif
}
--
1.5.5.1
- [Qemu-devel] [PATCH 16/32] remove kqemu reference from hw/pc.c, (continued)
- [Qemu-devel] [PATCH 16/32] remove kqemu reference from hw/pc.c, Glauber Costa, 2008/10/23
- [Qemu-devel] [PATCH 12/32] move kqemu externs to kqemu.h, Glauber Costa, 2008/10/23
- [Qemu-devel] [PATCH 11/32] separate accelerator part of info profiler, Glauber Costa, 2008/10/23
- [Qemu-devel] [PATCH 21/32] get_env accel wrapper, Glauber Costa, 2008/10/23
- [Qemu-devel] [PATCH 17/32] build list of available accelerators, Glauber Costa, 2008/10/23
- [Qemu-devel] [PATCH 14/32] set_notdirty goes through accel wrapper, Glauber Costa, 2008/10/23
- [Qemu-devel] [PATCH 22/32] add next_cpu_index,
Glauber Costa <=
[Qemu-devel] [PATCH 23/32] move cpu_get_time_fast to kqemu.c, Glauber Costa, 2008/10/23
[Qemu-devel] [PATCH 26/32] provide two accelerators for kqemu, Glauber Costa, 2008/10/23
[Qemu-devel] [PATCH 24/32] check wether kqemu is enabled in open code, Glauber Costa, 2008/10/23