diff --git a/arch/src/x86_64/mod.rs b/arch/src/x86_64/mod.rs index e9438168d..a743b3000 100644 --- a/arch/src/x86_64/mod.rs +++ b/arch/src/x86_64/mod.rs @@ -208,6 +208,7 @@ pub fn configure_vcpu( ) -> super::Result<()> { let mut cpuid = cpuid; CpuidPatch::set_cpuid_reg(&mut cpuid, 0xb, None, CpuidReg::EDX, u32::from(id)); + CpuidPatch::set_cpuid_reg(&mut cpuid, 0x1f, None, CpuidReg::EDX, u32::from(id)); fd.set_cpuid2(&cpuid) .map_err(Error::SetSupportedCpusFailed)?; diff --git a/vmm/src/cpu.rs b/vmm/src/cpu.rs index 88ab56d40..dd0cc065f 100644 --- a/vmm/src/cpu.rs +++ b/vmm/src/cpu.rs @@ -789,6 +789,7 @@ impl CpuManager { { let mut cpuid = self.cpuid.clone(); CpuidPatch::set_cpuid_reg(&mut cpuid, 0xb, None, CpuidReg::EDX, u32::from(cpu_id)); + CpuidPatch::set_cpuid_reg(&mut cpuid, 0x1f, None, CpuidReg::EDX, u32::from(cpu_id)); vcpu.lock() .unwrap()