[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PULL 02/43] Revert "gdbstub: Simplify find_cpu()"
From: |
Andreas Färber |
Subject: |
[Qemu-devel] [PULL 02/43] Revert "gdbstub: Simplify find_cpu()" |
Date: |
Wed, 10 Jul 2013 16:33:39 +0200 |
This reverts commit c52a6b67c1d7c6fc9fb2e3ba988d7b978e1487d3, which
replaced cpu_index() with cpu_index field, leading to deviation from
thread ID for NTPL and off-by-one otherwise.
Reported-by: Max Filippov <address@hidden>
Signed-off-by: Andreas Färber <address@hidden>
---
gdbstub.c | 12 ++++++++----
1 file changed, 8 insertions(+), 4 deletions(-)
diff --git a/gdbstub.c b/gdbstub.c
index 3101a43..9ae6576 100644
--- a/gdbstub.c
+++ b/gdbstub.c
@@ -2071,13 +2071,17 @@ static void gdb_set_cpu_pc(GDBState *s, target_ulong pc)
static CPUArchState *find_cpu(uint32_t thread_id)
{
+ CPUArchState *env;
CPUState *cpu;
- cpu = qemu_get_cpu(thread_id);
- if (cpu == NULL) {
- return NULL;
+ for (env = first_cpu; env != NULL; env = env->next_cpu) {
+ cpu = ENV_GET_CPU(env);
+ if (cpu_index(cpu) == thread_id) {
+ return env;
+ }
}
- return cpu->env_ptr;
+
+ return NULL;
}
static int gdb_handle_packet(GDBState *s, const char *line_buf)
--
1.8.1.4
- [Qemu-devel] [PULL 00/43] QOM CPUState patch queue 2013-07-10, Andreas Färber, 2013/07/10
- [Qemu-devel] [PULL 01/43] target-openrisc: Fix typename in openrisc_cpu_class_by_name(), Andreas Färber, 2013/07/10
- [Qemu-devel] [PULL 02/43] Revert "gdbstub: Simplify find_cpu()",
Andreas Färber <=
- [Qemu-devel] [PULL 05/43] kvm: Free current_cpu identifier, Andreas Färber, 2013/07/10
- [Qemu-devel] [PULL 07/43] kvm: Change kvm_remove_all_breakpoints() argument to CPUState, Andreas Färber, 2013/07/10
- [Qemu-devel] [PULL 04/43] cpu: Drop unnecessary dynamic casts in *_env_get_cpu(), Andreas Färber, 2013/07/10
- [Qemu-devel] [PULL 08/43] linux-user: Clean up do_syscall() Coding Style for TARGET_NR_exit, Andreas Färber, 2013/07/10
- [Qemu-devel] [PULL 11/43] bsd-user: Change thread_env to CPUState, Andreas Färber, 2013/07/10
- [Qemu-devel] [PULL 15/43] target-ppc: Don't overuse ENV_GET_CPU(), Andreas Färber, 2013/07/10
- [Qemu-devel] [PULL 16/43] target-s390x: Don't overuse ENV_GET_CPU(), Andreas Färber, 2013/07/10
- [Qemu-devel] [PULL 12/43] intc/arm_gic: Build arm_gic only once, Andreas Färber, 2013/07/10
- [Qemu-devel] [PULL 14/43] timer/arm_mptimer: Build arm_mptimer only once, Andreas Färber, 2013/07/10
- [Qemu-devel] [PULL 18/43] target-i386: Don't overuse CPUArchState, Andreas Färber, 2013/07/10