qemu-devel
[Top][All Lists]
Advanced

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

[Qemu-devel] [PATCH qom-cpu 36/59] linux-user/elfload: Abstract fill_not


From: Andreas Färber
Subject: [Qemu-devel] [PATCH qom-cpu 36/59] linux-user/elfload: Abstract fill_note_info() with qemu_for_each_cpu()
Date: Sun, 9 Jun 2013 21:13:03 +0200

Eliminates a confusing CPUArchState *cpu variable.

Signed-off-by: Andreas Färber <address@hidden>
---
 linux-user/elfload.c | 18 ++++++++++++------
 1 file changed, 12 insertions(+), 6 deletions(-)

diff --git a/linux-user/elfload.c b/linux-user/elfload.c
index ddef23e..cb21487 100644
--- a/linux-user/elfload.c
+++ b/linux-user/elfload.c
@@ -2624,11 +2624,21 @@ static void fill_thread_info(struct elf_note_info 
*info, const CPUArchState *env
     info->notes_size += note_size(&ets->notes[0]);
 }
 
+static void fill_note_info_for_thread(CPUState *cpu, void *data)
+{
+    struct elf_note_info *info = data;
+    CPUArchState *env = cpu->env_ptr;
+
+    if (env == thread_env) {
+        return;
+    }
+    fill_thread_info(info, env);
+}
+
 static int fill_note_info(struct elf_note_info *info,
                           long signr, const CPUArchState *env)
 {
 #define NUMNOTES 3
-    CPUArchState *cpu = NULL;
     TaskState *ts = (TaskState *)env->opaque;
     int i;
 
@@ -2666,11 +2676,7 @@ static int fill_note_info(struct elf_note_info *info,
 
     /* read and fill status of all threads */
     cpu_list_lock();
-    for (cpu = first_cpu; cpu != NULL; cpu = cpu->next_cpu) {
-        if (cpu == thread_env)
-            continue;
-        fill_thread_info(info, cpu);
-    }
+    qemu_for_each_cpu(fill_note_info_for_thread, info);
     cpu_list_unlock();
 
     return (0);
-- 
1.8.1.4




reply via email to

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