mirror of
https://github.com/Motorhead1991/qemu.git
synced 2025-08-02 23:33:54 -06:00
Initialize IA32_FEATURE_CONTROL MSR in reset and migration
The recent KVM patch adds IA32_FEATURE_CONTROL support. QEMU needs to clear this MSR when reset vCPU and keep the value of it when migration. This patch add this feature. Signed-off-by: Arthur Chunqi Li <yzt356@gmail.com> Signed-off-by: Gleb Natapov <gleb@redhat.com>
This commit is contained in:
parent
f03d07d468
commit
0779caeb1a
3 changed files with 28 additions and 0 deletions
|
@ -435,6 +435,14 @@ static bool misc_enable_needed(void *opaque)
|
|||
return env->msr_ia32_misc_enable != MSR_IA32_MISC_ENABLE_DEFAULT;
|
||||
}
|
||||
|
||||
static bool feature_control_needed(void *opaque)
|
||||
{
|
||||
X86CPU *cpu = opaque;
|
||||
CPUX86State *env = &cpu->env;
|
||||
|
||||
return env->msr_ia32_feature_control != 0;
|
||||
}
|
||||
|
||||
static const VMStateDescription vmstate_msr_ia32_misc_enable = {
|
||||
.name = "cpu/msr_ia32_misc_enable",
|
||||
.version_id = 1,
|
||||
|
@ -446,6 +454,17 @@ static const VMStateDescription vmstate_msr_ia32_misc_enable = {
|
|||
}
|
||||
};
|
||||
|
||||
static const VMStateDescription vmstate_msr_ia32_feature_control = {
|
||||
.name = "cpu/msr_ia32_feature_control",
|
||||
.version_id = 1,
|
||||
.minimum_version_id = 1,
|
||||
.minimum_version_id_old = 1,
|
||||
.fields = (VMStateField []) {
|
||||
VMSTATE_UINT64(env.msr_ia32_feature_control, X86CPU),
|
||||
VMSTATE_END_OF_LIST()
|
||||
}
|
||||
};
|
||||
|
||||
const VMStateDescription vmstate_x86_cpu = {
|
||||
.name = "cpu",
|
||||
.version_id = 12,
|
||||
|
@ -571,6 +590,9 @@ const VMStateDescription vmstate_x86_cpu = {
|
|||
}, {
|
||||
.vmsd = &vmstate_msr_ia32_misc_enable,
|
||||
.needed = misc_enable_needed,
|
||||
}, {
|
||||
.vmsd = &vmstate_msr_ia32_feature_control,
|
||||
.needed = feature_control_needed,
|
||||
} , {
|
||||
/* empty */
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue