From 7c50d245b17c7fcf1a553bc3f13c92b9a061b997 Mon Sep 17 00:00:00 2001 From: Jan Kiszka Date: Tue, 27 May 2008 00:09:41 +0200 Subject: [PATCH] Cleanup and improve kvm_load/save_registers usage Remove redundant checkes for kvm_enabled() on register updates between userspace and kvm kernel driver. Ensure register update across all CPUs on "info cpus" monitor command. Signed-off-by: Jan Kiszka Signed-off-by: Avi Kivity --- gdbstub.c | 12 ++++-------- monitor.c | 6 ++---- 2 files changed, 6 insertions(+), 12 deletions(-) diff --git a/gdbstub.c b/gdbstub.c index 3965c75edc..7eac6be32d 100644 --- a/gdbstub.c +++ b/gdbstub.c @@ -904,8 +904,7 @@ static int gdb_handle_packet(GDBState *s, CPUState *env, const char *line_buf) addr = strtoull(p, (char **)&p, 16); #if defined(TARGET_I386) env->eip = addr; - if (kvm_enabled()) - kvm_load_registers(env); + kvm_load_registers(env); #elif defined (TARGET_PPC) env->nip = addr; #elif defined (TARGET_SPARC) @@ -928,8 +927,7 @@ static int gdb_handle_packet(GDBState *s, CPUState *env, const char *line_buf) addr = strtoull(p, (char **)&p, 16); #if defined(TARGET_I386) env->eip = addr; - if (kvm_enabled()) - kvm_load_registers(env); + kvm_load_registers(env); #elif defined (TARGET_PPC) env->nip = addr; #elif defined (TARGET_SPARC) @@ -973,8 +971,7 @@ static int gdb_handle_packet(GDBState *s, CPUState *env, const char *line_buf) } break; case 'g': - if (kvm_enabled()) - kvm_save_registers(env); + kvm_save_registers(env); reg_size = cpu_gdb_read_registers(env, mem_buf); memtohex(buf, mem_buf, reg_size); put_packet(s, buf); @@ -984,8 +981,7 @@ static int gdb_handle_packet(GDBState *s, CPUState *env, const char *line_buf) len = strlen(p) / 2; hextomem((uint8_t *)registers, p, len); cpu_gdb_write_registers(env, mem_buf, len); - if (kvm_enabled()) - kvm_load_registers(env); + kvm_load_registers(env); put_packet(s, "OK"); break; case 'm': diff --git a/monitor.c b/monitor.c index df7202fead..5361a24099 100644 --- a/monitor.c +++ b/monitor.c @@ -286,8 +286,7 @@ static CPUState *mon_get_cpu(void) mon_set_cpu(0); } - if (kvm_enabled()) - kvm_save_registers(mon_cpu); + kvm_save_registers(mon_cpu); return mon_cpu; } @@ -315,8 +314,7 @@ static void do_info_cpus(void) mon_get_cpu(); for(env = first_cpu; env != NULL; env = env->next_cpu) { - if (kvm_enabled()) - kvm_save_registers(env); + kvm_save_registers(env); term_printf("%c CPU #%d:", (env == mon_cpu) ? '*' : ' ', env->cpu_index); -- 2.11.4.GIT