KVM: Move and rename regs_modified
Touching the user space representation of KVM's VCPU state is - naturally - a per-VCPU thing. So move the dirty flag into KVM_CPU_COMMON and rename it at this chance to reflect its true meaning. Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>
This commit is contained in:
parent
03c63b9452
commit
9ded274466
@ -197,6 +197,7 @@ typedef struct CPUWatchpoint {
|
|||||||
const char *cpu_model_str; \
|
const char *cpu_model_str; \
|
||||||
struct KVMState *kvm_state; \
|
struct KVMState *kvm_state; \
|
||||||
struct kvm_run *kvm_run; \
|
struct kvm_run *kvm_run; \
|
||||||
int kvm_fd;
|
int kvm_fd; \
|
||||||
|
int kvm_vcpu_dirty;
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
13
kvm-all.c
13
kvm-all.c
@ -57,7 +57,6 @@ struct KVMState
|
|||||||
KVMSlot slots[32];
|
KVMSlot slots[32];
|
||||||
int fd;
|
int fd;
|
||||||
int vmfd;
|
int vmfd;
|
||||||
int regs_modified;
|
|
||||||
int coalesced_mmio;
|
int coalesced_mmio;
|
||||||
#ifdef KVM_CAP_COALESCED_MMIO
|
#ifdef KVM_CAP_COALESCED_MMIO
|
||||||
struct kvm_coalesced_mmio_ring *coalesced_mmio_ring;
|
struct kvm_coalesced_mmio_ring *coalesced_mmio_ring;
|
||||||
@ -574,9 +573,9 @@ void kvm_flush_coalesced_mmio_buffer(void)
|
|||||||
|
|
||||||
void kvm_cpu_synchronize_state(CPUState *env)
|
void kvm_cpu_synchronize_state(CPUState *env)
|
||||||
{
|
{
|
||||||
if (!env->kvm_state->regs_modified) {
|
if (!env->kvm_vcpu_dirty) {
|
||||||
kvm_arch_get_registers(env);
|
kvm_arch_get_registers(env);
|
||||||
env->kvm_state->regs_modified = 1;
|
env->kvm_vcpu_dirty = 1;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -594,9 +593,9 @@ int kvm_cpu_exec(CPUState *env)
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (env->kvm_state->regs_modified) {
|
if (env->kvm_vcpu_dirty) {
|
||||||
kvm_arch_put_registers(env);
|
kvm_arch_put_registers(env);
|
||||||
env->kvm_state->regs_modified = 0;
|
env->kvm_vcpu_dirty = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
kvm_arch_pre_run(env, run);
|
kvm_arch_pre_run(env, run);
|
||||||
@ -946,9 +945,9 @@ static void kvm_invoke_set_guest_debug(void *data)
|
|||||||
struct kvm_set_guest_debug_data *dbg_data = data;
|
struct kvm_set_guest_debug_data *dbg_data = data;
|
||||||
CPUState *env = dbg_data->env;
|
CPUState *env = dbg_data->env;
|
||||||
|
|
||||||
if (env->kvm_state->regs_modified) {
|
if (env->kvm_vcpu_dirty) {
|
||||||
kvm_arch_put_registers(env);
|
kvm_arch_put_registers(env);
|
||||||
env->kvm_state->regs_modified = 0;
|
env->kvm_vcpu_dirty = 0;
|
||||||
}
|
}
|
||||||
dbg_data->err = kvm_vcpu_ioctl(env, KVM_SET_GUEST_DEBUG, &dbg_data->dbg);
|
dbg_data->err = kvm_vcpu_ioctl(env, KVM_SET_GUEST_DEBUG, &dbg_data->dbg);
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user