* [PATCH 0/8] Small cpu loop cleanups
@ 2009-06-15 13:23 Gleb Natapov
2009-06-15 13:23 ` [PATCH 1/8] env->kvm_cpu_state.init is always zero here Gleb Natapov
` (8 more replies)
0 siblings, 9 replies; 10+ messages in thread
From: Gleb Natapov @ 2009-06-15 13:23 UTC (permalink / raw)
To: avi; +Cc: kvm
Also fix "info cpus" to show correct halt status with in kernel irq chip.
I removed patch that uses on_vcpu() for init/sipi handling for now.
Gleb Natapov (8):
env->kvm_cpu_state.init is always zero here.
Do not use env->halted to decide where halted state should be
handled.
Call kvm_arch_load_regs() instead of kvm_load_registers()
Rename kvm_(load|save)_mpstate to kvm_arch_(load|save)_mpstate
Retrieve mp state info in cpu_synchronize_state()
env->exception_index is not used by kvm code.
s->cpu_env cannot be zero here.
env->exit_request is not used by kvm.
hw/apic.c | 6 ++----
qemu-kvm-ia64.c | 6 ++----
qemu-kvm-x86.c | 9 +++------
qemu-kvm.c | 39 +++++++++++++++++++++++++++++++--------
qemu-kvm.h | 4 ++++
target-i386/machine.c | 6 +++---
target-ia64/machine.c | 4 ++--
vl.c | 1 -
8 files changed, 47 insertions(+), 28 deletions(-)
^ permalink raw reply [flat|nested] 10+ messages in thread
* [PATCH 1/8] env->kvm_cpu_state.init is always zero here.
2009-06-15 13:23 [PATCH 0/8] Small cpu loop cleanups Gleb Natapov
@ 2009-06-15 13:23 ` Gleb Natapov
2009-06-15 13:23 ` [PATCH 2/8] Do not use env->halted to decide where halted state should be handled Gleb Natapov
` (7 subsequent siblings)
8 siblings, 0 replies; 10+ messages in thread
From: Gleb Natapov @ 2009-06-15 13:23 UTC (permalink / raw)
To: avi; +Cc: kvm
Signed-off-by: Gleb Natapov <gleb@redhat.com>
---
qemu-kvm.c | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/qemu-kvm.c b/qemu-kvm.c
index 2aeb17c..ec911ef 100644
--- a/qemu-kvm.c
+++ b/qemu-kvm.c
@@ -412,7 +412,7 @@ static int kvm_main_loop_cpu(CPUState *env)
if (env->kvm_cpu_state.sipi_needed)
update_regs_for_sipi(env);
}
- if (!env->halted && !env->kvm_cpu_state.init)
+ if (!env->halted)
kvm_cpu_exec(env);
env->exit_request = 0;
env->exception_index = EXCP_INTERRUPT;
--
1.6.2.1
^ permalink raw reply related [flat|nested] 10+ messages in thread
* [PATCH 2/8] Do not use env->halted to decide where halted state should be handled.
2009-06-15 13:23 [PATCH 0/8] Small cpu loop cleanups Gleb Natapov
2009-06-15 13:23 ` [PATCH 1/8] env->kvm_cpu_state.init is always zero here Gleb Natapov
@ 2009-06-15 13:23 ` Gleb Natapov
2009-06-15 13:23 ` [PATCH 3/8] Call kvm_arch_load_regs() instead of kvm_load_registers() Gleb Natapov
` (6 subsequent siblings)
8 siblings, 0 replies; 10+ messages in thread
From: Gleb Natapov @ 2009-06-15 13:23 UTC (permalink / raw)
To: avi; +Cc: kvm
Use kvm_irqchip_in_kernel() for that. If irq chip is not handled by
userspace kernel should be entered even when CPU is halted.
Signed-off-by: Gleb Natapov <gleb@redhat.com>
---
hw/apic.c | 3 +--
qemu-kvm.c | 6 +++---
2 files changed, 4 insertions(+), 5 deletions(-)
diff --git a/hw/apic.c b/hw/apic.c
index c5d97b2..f186202 100644
--- a/hw/apic.c
+++ b/hw/apic.c
@@ -467,8 +467,7 @@ static void apic_init_ipi(APICState *s)
cpu_reset(s->cpu_env);
- if (!(s->apicbase & MSR_IA32_APICBASE_BSP) &&
- (!kvm_enabled() || !qemu_kvm_irqchip_in_kernel()))
+ if (!(s->apicbase & MSR_IA32_APICBASE_BSP))
s->cpu_env->halted = 1;
if (kvm_enabled() && !qemu_kvm_irqchip_in_kernel())
diff --git a/qemu-kvm.c b/qemu-kvm.c
index ec911ef..7676e02 100644
--- a/qemu-kvm.c
+++ b/qemu-kvm.c
@@ -217,6 +217,8 @@ static int has_work(CPUState *env)
{
if (!vm_running || (env && env->kvm_cpu_state.stopped))
return 0;
+ if (kvm_irqchip_in_kernel(kvm_context))
+ return 1;
if (!env->halted)
return 1;
return kvm_arch_has_work(env);
@@ -390,8 +392,6 @@ static int kvm_main_loop_cpu(CPUState *env)
setup_kernel_sigmask(env);
pthread_mutex_lock(&qemu_mutex);
- if (kvm_irqchip_in_kernel(kvm_context))
- env->halted = 0;
kvm_qemu_init_env(env);
#ifdef TARGET_I386
@@ -412,7 +412,7 @@ static int kvm_main_loop_cpu(CPUState *env)
if (env->kvm_cpu_state.sipi_needed)
update_regs_for_sipi(env);
}
- if (!env->halted)
+ if (!env->halted || kvm_irqchip_in_kernel(kvm_context))
kvm_cpu_exec(env);
env->exit_request = 0;
env->exception_index = EXCP_INTERRUPT;
--
1.6.2.1
^ permalink raw reply related [flat|nested] 10+ messages in thread
* [PATCH 3/8] Call kvm_arch_load_regs() instead of kvm_load_registers()
2009-06-15 13:23 [PATCH 0/8] Small cpu loop cleanups Gleb Natapov
2009-06-15 13:23 ` [PATCH 1/8] env->kvm_cpu_state.init is always zero here Gleb Natapov
2009-06-15 13:23 ` [PATCH 2/8] Do not use env->halted to decide where halted state should be handled Gleb Natapov
@ 2009-06-15 13:23 ` Gleb Natapov
2009-06-15 13:23 ` [PATCH 4/8] Rename kvm_(load|save)_mpstate to kvm_arch_(load|save)_mpstate Gleb Natapov
` (5 subsequent siblings)
8 siblings, 0 replies; 10+ messages in thread
From: Gleb Natapov @ 2009-06-15 13:23 UTC (permalink / raw)
To: avi; +Cc: kvm
The call is done from vcpu thread.
Signed-off-by: Gleb Natapov <gleb@redhat.com>
---
qemu-kvm.c | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/qemu-kvm.c b/qemu-kvm.c
index 7676e02..5fa7154 100644
--- a/qemu-kvm.c
+++ b/qemu-kvm.c
@@ -399,7 +399,7 @@ static int kvm_main_loop_cpu(CPUState *env)
#endif
cpu_single_env = env;
- kvm_load_registers(env);
+ kvm_arch_load_regs(env);
while (1) {
while (!has_work(env))
--
1.6.2.1
^ permalink raw reply related [flat|nested] 10+ messages in thread
* [PATCH 4/8] Rename kvm_(load|save)_mpstate to kvm_arch_(load|save)_mpstate
2009-06-15 13:23 [PATCH 0/8] Small cpu loop cleanups Gleb Natapov
` (2 preceding siblings ...)
2009-06-15 13:23 ` [PATCH 3/8] Call kvm_arch_load_regs() instead of kvm_load_registers() Gleb Natapov
@ 2009-06-15 13:23 ` Gleb Natapov
2009-06-15 13:23 ` [PATCH 5/8] Retrieve mp state info in cpu_synchronize_state() Gleb Natapov
` (4 subsequent siblings)
8 siblings, 0 replies; 10+ messages in thread
From: Gleb Natapov @ 2009-06-15 13:23 UTC (permalink / raw)
To: avi; +Cc: kvm
To be consistent with other function naming.
Signed-off-by: Gleb Natapov <gleb@redhat.com>
---
qemu-kvm-ia64.c | 4 ++--
qemu-kvm-x86.c | 4 ++--
qemu-kvm.h | 2 ++
target-i386/machine.c | 6 +++---
target-ia64/machine.c | 4 ++--
5 files changed, 11 insertions(+), 9 deletions(-)
diff --git a/qemu-kvm-ia64.c b/qemu-kvm-ia64.c
index d33c1c3..234602c 100644
--- a/qemu-kvm-ia64.c
+++ b/qemu-kvm-ia64.c
@@ -98,7 +98,7 @@ void kvm_arch_update_guest_debug(CPUState *env, struct kvm_guest_debug *dbg)
{
}
-void kvm_save_mpstate(CPUState *env)
+void kvm_arch_save_mpstate(CPUState *env)
{
#ifdef KVM_CAP_MP_STATE
int r;
@@ -112,7 +112,7 @@ void kvm_save_mpstate(CPUState *env)
#endif
}
-void kvm_load_mpstate(CPUState *env)
+void kvm_arch_load_mpstate(CPUState *env)
{
#ifdef KVM_CAP_MP_STATE
struct kvm_mp_state mp_state = { .mp_state = env->mp_state };
diff --git a/qemu-kvm-x86.c b/qemu-kvm-x86.c
index 729d600..8e6fb75 100644
--- a/qemu-kvm-x86.c
+++ b/qemu-kvm-x86.c
@@ -295,7 +295,7 @@ void kvm_load_tsc(CPUState *env)
perror("kvm_set_tsc FAILED.\n");
}
-void kvm_save_mpstate(CPUState *env)
+void kvm_arch_save_mpstate(CPUState *env)
{
#ifdef KVM_CAP_MP_STATE
int r;
@@ -309,7 +309,7 @@ void kvm_save_mpstate(CPUState *env)
#endif
}
-void kvm_load_mpstate(CPUState *env)
+void kvm_arch_load_mpstate(CPUState *env)
{
#ifdef KVM_CAP_MP_STATE
struct kvm_mp_state mp_state = { .mp_state = env->mp_state };
diff --git a/qemu-kvm.h b/qemu-kvm.h
index fa40542..3b73fe9 100644
--- a/qemu-kvm.h
+++ b/qemu-kvm.h
@@ -69,6 +69,8 @@ int kvm_arch_qemu_create_context(void);
void kvm_arch_save_regs(CPUState *env);
void kvm_arch_load_regs(CPUState *env);
+void kvm_arch_load_mpstate(CPUState *env);
+void kvm_arch_save_mpstate(CPUState *env);
int kvm_arch_qemu_init_env(CPUState *cenv);
void kvm_arch_pre_kvm_run(void *opaque, CPUState *env);
void kvm_arch_post_kvm_run(void *opaque, CPUState *env);
diff --git a/target-i386/machine.c b/target-i386/machine.c
index 07df1e1..14942c0 100644
--- a/target-i386/machine.c
+++ b/target-i386/machine.c
@@ -34,7 +34,7 @@ void cpu_save(QEMUFile *f, void *opaque)
if (kvm_enabled()) {
kvm_save_registers(env);
- kvm_save_mpstate(env);
+ kvm_arch_save_mpstate(env);
}
for(i = 0; i < CPU_NB_REGS; i++)
@@ -369,12 +369,12 @@ int cpu_load(QEMUFile *f, void *opaque, int version_id)
kvm_load_tsc(env);
if (version_id >= 5) {
qemu_get_be32s(f, &env->mp_state);
- kvm_load_mpstate(env);
+ kvm_arch_load_mpstate(env);
}
} else {
kvm_load_registers(env);
kvm_load_tsc(env);
- kvm_load_mpstate(env);
+ kvm_arch_load_mpstate(env);
}
}
return 0;
diff --git a/target-ia64/machine.c b/target-ia64/machine.c
index dd205c5..70ef379 100644
--- a/target-ia64/machine.c
+++ b/target-ia64/machine.c
@@ -10,7 +10,7 @@ void cpu_save(QEMUFile *f, void *opaque)
if (kvm_enabled()) {
kvm_save_registers(env);
- kvm_save_mpstate(env);
+ kvm_arch_save_mpstate(env);
}
}
@@ -20,7 +20,7 @@ int cpu_load(QEMUFile *f, void *opaque, int version_id)
if (kvm_enabled()) {
kvm_load_registers(env);
- kvm_load_mpstate(env);
+ kvm_arch_load_mpstate(env);
}
return 0;
}
--
1.6.2.1
^ permalink raw reply related [flat|nested] 10+ messages in thread
* [PATCH 5/8] Retrieve mp state info in cpu_synchronize_state()
2009-06-15 13:23 [PATCH 0/8] Small cpu loop cleanups Gleb Natapov
` (3 preceding siblings ...)
2009-06-15 13:23 ` [PATCH 4/8] Rename kvm_(load|save)_mpstate to kvm_arch_(load|save)_mpstate Gleb Natapov
@ 2009-06-15 13:23 ` Gleb Natapov
2009-06-15 13:23 ` [PATCH 6/8] env->exception_index is not used by kvm code Gleb Natapov
` (3 subsequent siblings)
8 siblings, 0 replies; 10+ messages in thread
From: Gleb Natapov @ 2009-06-15 13:23 UTC (permalink / raw)
To: avi; +Cc: kvm
And set env->halted based on the value to show accurate vcpu state in
QEMU monitor.
Signed-off-by: Gleb Natapov <gleb@redhat.com>
---
qemu-kvm.c | 27 +++++++++++++++++++++++++++
qemu-kvm.h | 2 ++
2 files changed, 29 insertions(+), 0 deletions(-)
diff --git a/qemu-kvm.c b/qemu-kvm.c
index 5fa7154..3ae4b45 100644
--- a/qemu-kvm.c
+++ b/qemu-kvm.c
@@ -200,6 +200,33 @@ void kvm_save_registers(CPUState *env)
on_vcpu(env, kvm_do_save_registers, env);
}
+static void kvm_do_load_mpstate(void *_env)
+{
+ CPUState *env = _env;
+
+ kvm_arch_load_mpstate(env);
+}
+
+void kvm_load_mpstate(CPUState *env)
+{
+ if (kvm_enabled() && qemu_system_ready)
+ on_vcpu(env, kvm_do_load_mpstate, env);
+}
+
+static void kvm_do_save_mpstate(void *_env)
+{
+ CPUState *env = _env;
+
+ kvm_arch_save_mpstate(env);
+ env->halted = (env->mp_state == KVM_MP_STATE_HALTED);
+}
+
+void kvm_save_mpstate(CPUState *env)
+{
+ if (kvm_enabled())
+ on_vcpu(env, kvm_do_save_mpstate, env);
+}
+
int kvm_cpu_exec(CPUState *env)
{
int r;
diff --git a/qemu-kvm.h b/qemu-kvm.h
index 3b73fe9..22452e9 100644
--- a/qemu-kvm.h
+++ b/qemu-kvm.h
@@ -221,11 +221,13 @@ static inline int kvm_sync_vcpus(void) { return 0; }
static inline void kvm_arch_get_registers(CPUState *env)
{
kvm_save_registers(env);
+ kvm_save_mpstate(env);
}
static inline void kvm_arch_put_registers(CPUState *env)
{
kvm_load_registers(env);
+ kvm_load_mpstate(env);
}
static inline void cpu_synchronize_state(CPUState *env, int modified)
--
1.6.2.1
^ permalink raw reply related [flat|nested] 10+ messages in thread
* [PATCH 6/8] env->exception_index is not used by kvm code.
2009-06-15 13:23 [PATCH 0/8] Small cpu loop cleanups Gleb Natapov
` (4 preceding siblings ...)
2009-06-15 13:23 ` [PATCH 5/8] Retrieve mp state info in cpu_synchronize_state() Gleb Natapov
@ 2009-06-15 13:23 ` Gleb Natapov
2009-06-15 13:23 ` [PATCH 7/8] s->cpu_env cannot be zero here Gleb Natapov
` (2 subsequent siblings)
8 siblings, 0 replies; 10+ messages in thread
From: Gleb Natapov @ 2009-06-15 13:23 UTC (permalink / raw)
To: avi; +Cc: kvm
Signed-off-by: Gleb Natapov <gleb@redhat.com>
---
qemu-kvm-ia64.c | 2 --
qemu-kvm-x86.c | 2 --
qemu-kvm.c | 1 -
3 files changed, 0 insertions(+), 5 deletions(-)
diff --git a/qemu-kvm-ia64.c b/qemu-kvm-ia64.c
index 234602c..477d24c 100644
--- a/qemu-kvm-ia64.c
+++ b/qemu-kvm-ia64.c
@@ -35,7 +35,6 @@ int kvm_arch_halt(void *opaque, kvm_vcpu_context_t vcpu)
{
CPUState *env = cpu_single_env;
env->hflags |= HF_HALTED_MASK;
- env->exception_index = EXCP_HLT;
return 1;
}
@@ -135,7 +134,6 @@ void kvm_arch_cpu_reset(CPUState *env)
} else {
env->interrupt_request &= ~CPU_INTERRUPT_HARD;
env->halted = 1;
- env->exception_index = EXCP_HLT;
}
}
diff --git a/qemu-kvm-x86.c b/qemu-kvm-x86.c
index 8e6fb75..6865385 100644
--- a/qemu-kvm-x86.c
+++ b/qemu-kvm-x86.c
@@ -611,7 +611,6 @@ int kvm_arch_halt(void *opaque, kvm_vcpu_context_t vcpu)
(env->eflags & IF_MASK)) &&
!(env->interrupt_request & CPU_INTERRUPT_NMI)) {
env->halted = 1;
- env->exception_index = EXCP_HLT;
}
return 1;
}
@@ -707,7 +706,6 @@ void kvm_arch_cpu_reset(CPUState *env)
} else {
env->interrupt_request &= ~CPU_INTERRUPT_HARD;
env->halted = 1;
- env->exception_index = EXCP_HLT;
}
}
}
diff --git a/qemu-kvm.c b/qemu-kvm.c
index 3ae4b45..2930a1d 100644
--- a/qemu-kvm.c
+++ b/qemu-kvm.c
@@ -442,7 +442,6 @@ static int kvm_main_loop_cpu(CPUState *env)
if (!env->halted || kvm_irqchip_in_kernel(kvm_context))
kvm_cpu_exec(env);
env->exit_request = 0;
- env->exception_index = EXCP_INTERRUPT;
kvm_main_loop_wait(env, 0);
}
pthread_mutex_unlock(&qemu_mutex);
--
1.6.2.1
^ permalink raw reply related [flat|nested] 10+ messages in thread
* [PATCH 7/8] s->cpu_env cannot be zero here.
2009-06-15 13:23 [PATCH 0/8] Small cpu loop cleanups Gleb Natapov
` (5 preceding siblings ...)
2009-06-15 13:23 ` [PATCH 6/8] env->exception_index is not used by kvm code Gleb Natapov
@ 2009-06-15 13:23 ` Gleb Natapov
2009-06-15 13:23 ` [PATCH 8/8] env->exit_request is not used by kvm Gleb Natapov
2009-06-15 13:51 ` [PATCH 0/8] Small cpu loop cleanups Avi Kivity
8 siblings, 0 replies; 10+ messages in thread
From: Gleb Natapov @ 2009-06-15 13:23 UTC (permalink / raw)
To: avi; +Cc: kvm
Remove redundant check.
Signed-off-by: Gleb Natapov <gleb@redhat.com>
---
hw/apic.c | 3 +--
1 files changed, 1 insertions(+), 2 deletions(-)
diff --git a/hw/apic.c b/hw/apic.c
index f186202..eac54fd 100644
--- a/hw/apic.c
+++ b/hw/apic.c
@@ -471,8 +471,7 @@ static void apic_init_ipi(APICState *s)
s->cpu_env->halted = 1;
if (kvm_enabled() && !qemu_kvm_irqchip_in_kernel())
- if (s->cpu_env)
- kvm_apic_init(s->cpu_env);
+ kvm_apic_init(s->cpu_env);
}
/* send a SIPI message to the CPU to start it */
--
1.6.2.1
^ permalink raw reply related [flat|nested] 10+ messages in thread
* [PATCH 8/8] env->exit_request is not used by kvm.
2009-06-15 13:23 [PATCH 0/8] Small cpu loop cleanups Gleb Natapov
` (6 preceding siblings ...)
2009-06-15 13:23 ` [PATCH 7/8] s->cpu_env cannot be zero here Gleb Natapov
@ 2009-06-15 13:23 ` Gleb Natapov
2009-06-15 13:51 ` [PATCH 0/8] Small cpu loop cleanups Avi Kivity
8 siblings, 0 replies; 10+ messages in thread
From: Gleb Natapov @ 2009-06-15 13:23 UTC (permalink / raw)
To: avi; +Cc: kvm
Remove its use from kvm code.
Signed-off-by: Gleb Natapov <gleb@redhat.com>
---
qemu-kvm-x86.c | 3 +--
qemu-kvm.c | 3 ---
vl.c | 1 -
3 files changed, 1 insertions(+), 6 deletions(-)
diff --git a/qemu-kvm-x86.c b/qemu-kvm-x86.c
index 6865385..5460136 100644
--- a/qemu-kvm-x86.c
+++ b/qemu-kvm-x86.c
@@ -634,8 +634,7 @@ void kvm_arch_post_kvm_run(void *opaque, CPUState *env)
int kvm_arch_has_work(CPUState *env)
{
- if (env->exit_request ||
- ((env->interrupt_request & CPU_INTERRUPT_HARD) &&
+ if (((env->interrupt_request & CPU_INTERRUPT_HARD) &&
(env->eflags & IF_MASK)) ||
(env->interrupt_request & CPU_INTERRUPT_NMI))
return 1;
diff --git a/qemu-kvm.c b/qemu-kvm.c
index 2930a1d..bbdb03a 100644
--- a/qemu-kvm.c
+++ b/qemu-kvm.c
@@ -168,8 +168,6 @@ static int kvm_pre_run(void *opaque, void *data)
kvm_arch_pre_kvm_run(opaque, env);
- if (env->exit_request)
- return 1;
pthread_mutex_unlock(&qemu_mutex);
return 0;
}
@@ -441,7 +439,6 @@ static int kvm_main_loop_cpu(CPUState *env)
}
if (!env->halted || kvm_irqchip_in_kernel(kvm_context))
kvm_cpu_exec(env);
- env->exit_request = 0;
kvm_main_loop_wait(env, 0);
}
pthread_mutex_unlock(&qemu_mutex);
diff --git a/vl.c b/vl.c
index 845ed54..c08299c 100644
--- a/vl.c
+++ b/vl.c
@@ -3724,7 +3724,6 @@ void qemu_system_reset_request(void)
}
if (cpu_single_env) {
qemu_kvm_cpu_stop(cpu_single_env);
- cpu_exit(cpu_single_env);
}
qemu_notify_event();
}
--
1.6.2.1
^ permalink raw reply related [flat|nested] 10+ messages in thread
* Re: [PATCH 0/8] Small cpu loop cleanups
2009-06-15 13:23 [PATCH 0/8] Small cpu loop cleanups Gleb Natapov
` (7 preceding siblings ...)
2009-06-15 13:23 ` [PATCH 8/8] env->exit_request is not used by kvm Gleb Natapov
@ 2009-06-15 13:51 ` Avi Kivity
8 siblings, 0 replies; 10+ messages in thread
From: Avi Kivity @ 2009-06-15 13:51 UTC (permalink / raw)
To: Gleb Natapov; +Cc: kvm
On 06/15/2009 04:23 PM, Gleb Natapov wrote:
> Also fix "info cpus" to show correct halt status with in kernel irq chip.
>
Applied all, thanks.
--
error compiling committee.c: too many arguments to function
^ permalink raw reply [flat|nested] 10+ messages in thread
end of thread, other threads:[~2009-06-15 13:51 UTC | newest]
Thread overview: 10+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2009-06-15 13:23 [PATCH 0/8] Small cpu loop cleanups Gleb Natapov
2009-06-15 13:23 ` [PATCH 1/8] env->kvm_cpu_state.init is always zero here Gleb Natapov
2009-06-15 13:23 ` [PATCH 2/8] Do not use env->halted to decide where halted state should be handled Gleb Natapov
2009-06-15 13:23 ` [PATCH 3/8] Call kvm_arch_load_regs() instead of kvm_load_registers() Gleb Natapov
2009-06-15 13:23 ` [PATCH 4/8] Rename kvm_(load|save)_mpstate to kvm_arch_(load|save)_mpstate Gleb Natapov
2009-06-15 13:23 ` [PATCH 5/8] Retrieve mp state info in cpu_synchronize_state() Gleb Natapov
2009-06-15 13:23 ` [PATCH 6/8] env->exception_index is not used by kvm code Gleb Natapov
2009-06-15 13:23 ` [PATCH 7/8] s->cpu_env cannot be zero here Gleb Natapov
2009-06-15 13:23 ` [PATCH 8/8] env->exit_request is not used by kvm Gleb Natapov
2009-06-15 13:51 ` [PATCH 0/8] Small cpu loop cleanups Avi Kivity
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox