* [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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.