Parcourir la source

cpus: Move CPU code from exec.c to cpus-common.c

This code was introduced with SMP support in commit 6a00d60127,
later commit 267f685b8b moved CPU list management to common code
but forgot this code. Move now and simplify ifdef'ry.

Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Reviewed-by: Alex Bennée <alex.bennee@linaro.org>
Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com>
Message-Id: <20200702104017.14057-1-philmd@redhat.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Philippe Mathieu-Daudé il y a 5 ans
Parent
commit
421a75e283
2 fichiers modifiés avec 18 ajouts et 22 suppressions
  1. 18 0
      cpus-common.c
  2. 0 22
      exec.c

+ 18 - 0
cpus-common.c

@@ -72,6 +72,8 @@ static int cpu_get_free_index(void)
     return max_cpu_index;
     return max_cpu_index;
 }
 }
 
 
+CPUTailQ cpus = QTAILQ_HEAD_INITIALIZER(cpus);
+
 void cpu_list_add(CPUState *cpu)
 void cpu_list_add(CPUState *cpu)
 {
 {
     QEMU_LOCK_GUARD(&qemu_cpu_list_lock);
     QEMU_LOCK_GUARD(&qemu_cpu_list_lock);
@@ -96,6 +98,22 @@ void cpu_list_remove(CPUState *cpu)
     cpu->cpu_index = UNASSIGNED_CPU_INDEX;
     cpu->cpu_index = UNASSIGNED_CPU_INDEX;
 }
 }
 
 
+CPUState *qemu_get_cpu(int index)
+{
+    CPUState *cpu;
+
+    CPU_FOREACH(cpu) {
+        if (cpu->cpu_index == index) {
+            return cpu;
+        }
+    }
+
+    return NULL;
+}
+
+/* current CPU in the current thread. It is only valid inside cpu_exec() */
+__thread CPUState *current_cpu;
+
 struct qemu_work_item {
 struct qemu_work_item {
     QSIMPLEQ_ENTRY(qemu_work_item) node;
     QSIMPLEQ_ENTRY(qemu_work_item) node;
     run_on_cpu_func func;
     run_on_cpu_func func;

+ 0 - 22
exec.c

@@ -98,12 +98,6 @@ AddressSpace address_space_memory;
 static MemoryRegion io_mem_unassigned;
 static MemoryRegion io_mem_unassigned;
 #endif
 #endif
 
 
-CPUTailQ cpus = QTAILQ_HEAD_INITIALIZER(cpus);
-
-/* current CPU in the current thread. It is only valid inside
-   cpu_exec() */
-__thread CPUState *current_cpu;
-
 uintptr_t qemu_host_page_size;
 uintptr_t qemu_host_page_size;
 intptr_t qemu_host_page_mask;
 intptr_t qemu_host_page_mask;
 
 
@@ -832,22 +826,6 @@ const VMStateDescription vmstate_cpu_common = {
     }
     }
 };
 };
 
 
-#endif
-
-CPUState *qemu_get_cpu(int index)
-{
-    CPUState *cpu;
-
-    CPU_FOREACH(cpu) {
-        if (cpu->cpu_index == index) {
-            return cpu;
-        }
-    }
-
-    return NULL;
-}
-
-#if !defined(CONFIG_USER_ONLY)
 void cpu_address_space_init(CPUState *cpu, int asidx,
 void cpu_address_space_init(CPUState *cpu, int asidx,
                             const char *prefix, MemoryRegion *mr)
                             const char *prefix, MemoryRegion *mr)
 {
 {