mirror of
https://github.com/Motorhead1991/qemu.git
synced 2025-08-02 07:13:54 -06:00
target/i386: Add get/set/migrate support for FRED MSRs
FRED CPU states are managed in 9 new FRED MSRs, in addtion to a few existing CPU registers and MSRs, e.g., CR4.FRED and MSR_IA32_PL0_SSP. Save/restore/migrate FRED MSRs if FRED is exposed to the guest. Tested-by: Shan Kang <shan.kang@intel.com> Signed-off-by: Xin Li <xin3.li@intel.com> Message-ID: <20231109072012.8078-7-xin3.li@intel.com> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
This commit is contained in:
parent
ef202d64c3
commit
4ebd98eb3a
3 changed files with 99 additions and 0 deletions
|
@ -1544,6 +1544,33 @@ static const VMStateDescription vmstate_msr_xfd = {
|
|||
};
|
||||
|
||||
#ifdef TARGET_X86_64
|
||||
static bool intel_fred_msrs_needed(void *opaque)
|
||||
{
|
||||
X86CPU *cpu = opaque;
|
||||
CPUX86State *env = &cpu->env;
|
||||
|
||||
return !!(env->features[FEAT_7_1_EAX] & CPUID_7_1_EAX_FRED);
|
||||
}
|
||||
|
||||
static const VMStateDescription vmstate_msr_fred = {
|
||||
.name = "cpu/fred",
|
||||
.version_id = 1,
|
||||
.minimum_version_id = 1,
|
||||
.needed = intel_fred_msrs_needed,
|
||||
.fields = (VMStateField[]) {
|
||||
VMSTATE_UINT64(env.fred_rsp0, X86CPU),
|
||||
VMSTATE_UINT64(env.fred_rsp1, X86CPU),
|
||||
VMSTATE_UINT64(env.fred_rsp2, X86CPU),
|
||||
VMSTATE_UINT64(env.fred_rsp3, X86CPU),
|
||||
VMSTATE_UINT64(env.fred_stklvls, X86CPU),
|
||||
VMSTATE_UINT64(env.fred_ssp1, X86CPU),
|
||||
VMSTATE_UINT64(env.fred_ssp2, X86CPU),
|
||||
VMSTATE_UINT64(env.fred_ssp3, X86CPU),
|
||||
VMSTATE_UINT64(env.fred_config, X86CPU),
|
||||
VMSTATE_END_OF_LIST()
|
||||
}
|
||||
};
|
||||
|
||||
static bool amx_xtile_needed(void *opaque)
|
||||
{
|
||||
X86CPU *cpu = opaque;
|
||||
|
@ -1747,6 +1774,7 @@ const VMStateDescription vmstate_x86_cpu = {
|
|||
&vmstate_pdptrs,
|
||||
&vmstate_msr_xfd,
|
||||
#ifdef TARGET_X86_64
|
||||
&vmstate_msr_fred,
|
||||
&vmstate_amx_xtile,
|
||||
#endif
|
||||
&vmstate_arch_lbr,
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue