From b245cb44dd049dc194bb0101eb1de006888f67d1 Mon Sep 17 00:00:00 2001 From: Takahiro Itazuri Date: Thu, 3 Apr 2025 15:43:31 +0000 Subject: [PATCH 1/3] vmm: More specific CPU model check for CPU templates Do CPU model check for static CPU templates in accordance with the doc change in the prev commit. Signed-off-by: Takahiro Itazuri --- .buildkite/pipeline_cpu_template.py | 1 - CHANGELOG.md | 4 + docs/cpu_templates/cpu-templates.md | 20 +- src/vmm/src/arch/x86_64/cpu_model.rs | 106 +++++------ src/vmm/src/arch/x86_64/vcpu.rs | 51 +++-- .../cpu_config/x86_64/custom_cpu_template.rs | 176 +++++++++++------- .../x86_64/static_cpu_templates/mod.rs | 29 +++ tests/framework/utils_cpu_templates.py | 14 +- .../integration_tests/functional/test_api.py | 23 +-- .../functional/test_cmd_line_start.py | 23 ++- .../functional/test_cpu_features_x86_64.py | 4 +- 11 files changed, 258 insertions(+), 193 deletions(-) diff --git a/.buildkite/pipeline_cpu_template.py b/.buildkite/pipeline_cpu_template.py index e42ae926d2e..a9c8e2239c4 100755 --- a/.buildkite/pipeline_cpu_template.py +++ b/.buildkite/pipeline_cpu_template.py @@ -70,7 +70,6 @@ class BkStep(str, Enum): "m5n.metal", "m6i.metal", "m6a.metal", - "m7a.metal-48xl", ], }, } diff --git a/CHANGELOG.md b/CHANGELOG.md index f8507300e90..bd79426703c 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -26,6 +26,10 @@ and this project adheres to WAITPKG CPUID bit in CPUID normalization. The feature enables a guest to put a physical processor into an idle state, which is undesirable in a FaaS environment since that is what the host wants to decide. +- [#5142](https://github.com/firecracker-microvm/firecracker/pull/5142): + Clarified what CPU models are supported by each existing CPU template. + Firecracker exits with an error if a CPU template is used on an unsupported + CPU model. ### Deprecated diff --git a/docs/cpu_templates/cpu-templates.md b/docs/cpu_templates/cpu-templates.md index a2d8b06fceb..920267940b8 100644 --- a/docs/cpu_templates/cpu-templates.md +++ b/docs/cpu_templates/cpu-templates.md @@ -48,14 +48,14 @@ Firecracker supports two types of CPU templates: At the moment the following set of static CPU templates are supported: -| CPU template | CPU vendor | CPU model | -| ------------ | ---------- | --------------------- | -| C3 | Intel | any | -| T2 | Intel | any | -| T2A | AMD | Milan | -| T2CL | Intel | Cascade Lake or newer | -| T2S | Intel | any | -| V1N1 | ARM | Neoverse V1 | +| CPU template | CPU vendor | CPU model | +| ------------ | ---------- | ------------------------------- | +| C3 | Intel | Skylake, Cascade Lake, Ice Lake | +| T2 | Intel | Skylake, Cascade Lake, Ice Lake | +| T2A | AMD | Milan | +| T2CL | Intel | Cascade Lake, Ice Lake | +| T2S | Intel | Skylake, Cascade Lake | +| V1N1 | ARM | Neoverse V1 | T2 and C3 templates are mapped as close as possible to AWS T2 and C3 instances in terms of CPU features. Note that on a microVM that is lauched with the C3 @@ -71,8 +71,8 @@ a performance assessment if they wish to use the T2S template. Note that Firecracker expects the host to always be running the latest version of the microcode. -The T2CL template is mapped to be close to Intel Cascade Lake. It is not safe to -use it on Intel CPUs older than Cascade Lake (such as Skylake). +The T2CL template is mapped to be close to Intel Cascade Lake. It is only safe +to use it on Intel Cascade Lake and Ice Lake. The only AMD template is T2A. It is considered safe to be used with AMD Milan. diff --git a/src/vmm/src/arch/x86_64/cpu_model.rs b/src/vmm/src/arch/x86_64/cpu_model.rs index fd3399a736f..ecc4cf259ed 100644 --- a/src/vmm/src/arch/x86_64/cpu_model.rs +++ b/src/vmm/src/arch/x86_64/cpu_model.rs @@ -2,7 +2,7 @@ // SPDX-License-Identifier: Apache-2.0 use std::arch::x86_64::__cpuid as host_cpuid; -use std::cmp::{Eq, Ordering, PartialEq, PartialOrd}; +use std::cmp::{Eq, PartialEq}; /// Structure representing x86_64 CPU model. #[derive(Debug, Eq, PartialEq)] @@ -19,6 +19,42 @@ pub struct CpuModel { pub stepping: u8, } +/// Family / Model / Stepping for Intel Skylake +pub const SKYLAKE_FMS: CpuModel = CpuModel { + extended_family: 0x0, + extended_model: 0x5, + family: 0x6, + model: 0x5, + stepping: 0x4, +}; + +/// Family / Model / Stepping for Intel Cascade Lake +pub const CASCADE_LAKE_FMS: CpuModel = CpuModel { + extended_family: 0x0, + extended_model: 0x5, + family: 0x6, + model: 0x5, + stepping: 0x7, +}; + +/// Family / Model / Stepping for Intel Ice Lake +pub const ICE_LAKE_FMS: CpuModel = CpuModel { + extended_family: 0x0, + extended_model: 0x6, + family: 0x6, + model: 0xa, + stepping: 0x6, +}; + +/// Family / Model / Stepping for AMD Milan +pub const MILAN_FMS: CpuModel = CpuModel { + extended_family: 0xa, + extended_model: 0x0, + family: 0xf, + model: 0x1, + stepping: 0x1, +}; + impl CpuModel { /// Get CPU model from current machine. pub fn get_cpu_model() -> Self { @@ -27,19 +63,6 @@ impl CpuModel { let eax = unsafe { host_cpuid(0x1) }.eax; CpuModel::from(&eax) } - - /// Check if the current CPU model is Intel Cascade Lake or later. - pub fn is_at_least_cascade_lake(&self) -> bool { - let cascade_lake = CpuModel { - extended_family: 0, - extended_model: 5, - family: 6, - model: 5, - stepping: 7, - }; - - self >= &cascade_lake - } } impl From<&u32> for CpuModel { @@ -54,59 +77,22 @@ impl From<&u32> for CpuModel { } } -impl From<&CpuModel> for u32 { - fn from(cpu_model: &CpuModel) -> Self { - (u32::from(cpu_model.extended_family) << 20) - | (u32::from(cpu_model.extended_model) << 16) - | (u32::from(cpu_model.family) << 8) - | (u32::from(cpu_model.model) << 4) - | u32::from(cpu_model.stepping) - } -} - -impl PartialOrd for CpuModel { - fn partial_cmp(&self, other: &Self) -> Option { - Some(u32::from(self).cmp(&u32::from(other))) - } -} - -impl Ord for CpuModel { - fn cmp(&self, other: &Self) -> Ordering { - u32::from(self).cmp(&u32::from(other)) - } -} - #[cfg(test)] mod tests { use super::*; - const SKYLAKE: CpuModel = CpuModel { - extended_family: 0, - extended_model: 5, - family: 6, - model: 5, - stepping: 4, - }; - - const CASCADE_LAKE: CpuModel = CpuModel { - extended_family: 0, - extended_model: 5, - family: 6, - model: 5, - stepping: 7, - }; - #[test] fn cpu_model_from() { let skylake_eax = 0x00050654; - assert_eq!(u32::from(&SKYLAKE), skylake_eax); - assert_eq!(CpuModel::from(&skylake_eax), SKYLAKE); - } + assert_eq!(CpuModel::from(&skylake_eax), SKYLAKE_FMS); - #[test] - fn cpu_model_ord() { - assert_eq!(SKYLAKE, SKYLAKE); - assert!(SKYLAKE < CASCADE_LAKE); - assert!(CASCADE_LAKE > SKYLAKE); + let cascade_lake_eax = 0x00050657; + assert_eq!(CpuModel::from(&cascade_lake_eax), CASCADE_LAKE_FMS); + + let ice_lake_eax = 0x000606a6; + assert_eq!(CpuModel::from(&ice_lake_eax), ICE_LAKE_FMS); + + let milan_eax = 0x00a00f11; + assert_eq!(CpuModel::from(&milan_eax), MILAN_FMS); } } diff --git a/src/vmm/src/arch/x86_64/vcpu.rs b/src/vmm/src/arch/x86_64/vcpu.rs index 6c07720b573..b46d8e07b59 100644 --- a/src/vmm/src/arch/x86_64/vcpu.rs +++ b/src/vmm/src/arch/x86_64/vcpu.rs @@ -832,17 +832,6 @@ mod tests { (kvm, vm, vcpu) } - fn is_at_least_cascade_lake() -> bool { - CpuModel::get_cpu_model() - >= (CpuModel { - extended_family: 0, - extended_model: 5, - family: 6, - model: 5, - stepping: 7, - }) - } - fn create_vcpu_config( kvm: &Kvm, vcpu: &KvmVcpu, @@ -915,16 +904,33 @@ mod tests { // Test configure while using the T2S template. let t2a_res = try_configure(&kvm, &mut vcpu, StaticCpuTemplate::T2A); + let cpu_model = CpuModel::get_cpu_model(); match &cpuid::common::get_vendor_id_from_host().unwrap() { cpuid::VENDOR_ID_INTEL => { - assert!(t2_res); - assert!(c3_res); - assert!(t2s_res); - if is_at_least_cascade_lake() { - assert!(t2cl_res); - } else { - assert!(!t2cl_res); - } + assert_eq!( + t2_res, + StaticCpuTemplate::T2 + .get_supported_cpu_models() + .contains(&cpu_model) + ); + assert_eq!( + c3_res, + StaticCpuTemplate::C3 + .get_supported_cpu_models() + .contains(&cpu_model) + ); + assert_eq!( + t2s_res, + StaticCpuTemplate::T2S + .get_supported_cpu_models() + .contains(&cpu_model) + ); + assert_eq!( + t2cl_res, + StaticCpuTemplate::T2CL + .get_supported_cpu_models() + .contains(&cpu_model) + ); assert!(!t2a_res); } cpuid::VENDOR_ID_AMD => { @@ -932,7 +938,12 @@ mod tests { assert!(!c3_res); assert!(!t2s_res); assert!(!t2cl_res); - assert!(t2a_res); + assert_eq!( + t2a_res, + StaticCpuTemplate::T2A + .get_supported_cpu_models() + .contains(&cpu_model) + ); } _ => { assert!(!t2_res); diff --git a/src/vmm/src/cpu_config/x86_64/custom_cpu_template.rs b/src/vmm/src/cpu_config/x86_64/custom_cpu_template.rs index 15ba76abbe4..0d8917a4a5e 100644 --- a/src/vmm/src/cpu_config/x86_64/custom_cpu_template.rs +++ b/src/vmm/src/cpu_config/x86_64/custom_cpu_template.rs @@ -8,13 +8,13 @@ use std::borrow::Cow; use serde::de::Error as SerdeError; use serde::{Deserialize, Deserializer, Serialize, Serializer}; -use crate::arch::x86_64::cpu_model::CpuModel; +use crate::arch::x86_64::cpu_model::{CpuModel, SKYLAKE_FMS}; use crate::cpu_config::templates::{ CpuTemplateType, GetCpuTemplate, GetCpuTemplateError, KvmCapability, RegisterValueFilter, }; use crate::cpu_config::templates_serde::*; +use crate::cpu_config::x86_64::cpuid::KvmCpuidFlags; use crate::cpu_config::x86_64::cpuid::common::get_vendor_id_from_host; -use crate::cpu_config::x86_64::cpuid::{KvmCpuidFlags, VENDOR_ID_AMD, VENDOR_ID_INTEL}; use crate::cpu_config::x86_64::static_cpu_templates::{StaticCpuTemplate, c3, t2, t2a, t2cl, t2s}; use crate::logger::warn; @@ -26,13 +26,25 @@ impl GetCpuTemplate for Option { Some(template_type) => match template_type { CpuTemplateType::Custom(template) => Ok(Cow::Borrowed(template)), CpuTemplateType::Static(template) => { - let vendor_id = get_vendor_id_from_host().map_err(GetCpuVendor)?; + // Return early for `None` due to no valid vendor and CPU models. + if template == &StaticCpuTemplate::None { + return Err(InvalidStaticCpuTemplate(StaticCpuTemplate::None)); + } + + if &get_vendor_id_from_host().map_err(GetCpuVendor)? + != template.get_supported_vendor() + { + return Err(CpuVendorMismatched); + } + + let cpu_model = CpuModel::get_cpu_model(); + if !template.get_supported_cpu_models().contains(&cpu_model) { + return Err(InvalidCpuModel); + } + match template { StaticCpuTemplate::C3 => { - if &vendor_id != VENDOR_ID_INTEL { - return Err(CpuVendorMismatched); - } - if !CpuModel::get_cpu_model().is_at_least_cascade_lake() { + if cpu_model == SKYLAKE_FMS { warn!( "On processors that do not enumerate FBSDP_NO, PSDP_NO and \ SBDR_SSDP_NO on IA32_ARCH_CAPABILITIES MSR, the guest kernel \ @@ -42,35 +54,11 @@ impl GetCpuTemplate for Option { } Ok(Cow::Owned(c3::c3())) } - StaticCpuTemplate::T2 => { - if &vendor_id != VENDOR_ID_INTEL { - return Err(CpuVendorMismatched); - } - Ok(Cow::Owned(t2::t2())) - } - StaticCpuTemplate::T2S => { - if &vendor_id != VENDOR_ID_INTEL { - return Err(CpuVendorMismatched); - } - Ok(Cow::Owned(t2s::t2s())) - } - StaticCpuTemplate::T2CL => { - if &vendor_id != VENDOR_ID_INTEL { - return Err(CpuVendorMismatched); - } else if !CpuModel::get_cpu_model().is_at_least_cascade_lake() { - return Err(InvalidCpuModel); - } - Ok(Cow::Owned(t2cl::t2cl())) - } - StaticCpuTemplate::T2A => { - if &vendor_id != VENDOR_ID_AMD { - return Err(CpuVendorMismatched); - } - Ok(Cow::Owned(t2a::t2a())) - } - StaticCpuTemplate::None => { - Err(InvalidStaticCpuTemplate(StaticCpuTemplate::None)) - } + StaticCpuTemplate::T2 => Ok(Cow::Owned(t2::t2())), + StaticCpuTemplate::T2S => Ok(Cow::Owned(t2s::t2s())), + StaticCpuTemplate::T2CL => Ok(Cow::Owned(t2cl::t2cl())), + StaticCpuTemplate::T2A => Ok(Cow::Owned(t2a::t2a())), + StaticCpuTemplate::None => unreachable!(), // Handled earlier } } }, @@ -230,13 +218,25 @@ mod tests { #[test] fn test_get_cpu_template_with_c3_static_template() { // Test `get_cpu_template()` when C3 static CPU template is specified. The owned - // `CustomCpuTemplate` should be returned if CPU vendor is Intel. Otherwise, it should fail. - let cpu_template = Some(CpuTemplateType::Static(StaticCpuTemplate::C3)); - if &get_vendor_id_from_host().unwrap() == VENDOR_ID_INTEL { - assert_eq!( - cpu_template.get_cpu_template().unwrap(), - Cow::Owned(c3::c3()) - ); + // `CustomCpuTemplate` should be returned if CPU vendor is Intel and the CPU model is + // supported. Otherwise, it should fail. + let c3 = StaticCpuTemplate::C3; + let cpu_template = Some(CpuTemplateType::Static(c3)); + if &get_vendor_id_from_host().unwrap() == c3.get_supported_vendor() { + if c3 + .get_supported_cpu_models() + .contains(&CpuModel::get_cpu_model()) + { + assert_eq!( + cpu_template.get_cpu_template().unwrap(), + Cow::Owned(c3::c3()) + ); + } else { + assert_eq!( + cpu_template.get_cpu_template().unwrap_err(), + GetCpuTemplateError::InvalidCpuModel, + ); + } } else { assert_eq!( cpu_template.get_cpu_template().unwrap_err(), @@ -248,13 +248,25 @@ mod tests { #[test] fn test_get_cpu_template_with_t2_static_template() { // Test `get_cpu_template()` when T2 static CPU template is specified. The owned - // `CustomCpuTemplate` should be returned if CPU vendor is Intel. Otherwise, it should fail. - let cpu_template = Some(CpuTemplateType::Static(StaticCpuTemplate::T2)); - if &get_vendor_id_from_host().unwrap() == VENDOR_ID_INTEL { - assert_eq!( - cpu_template.get_cpu_template().unwrap(), - Cow::Owned(t2::t2()) - ); + // `CustomCpuTemplate` should be returned if CPU vendor is Intel and the CPU model is + // supported. Otherwise, it should fail. + let t2 = StaticCpuTemplate::T2; + let cpu_template = Some(CpuTemplateType::Static(t2)); + if &get_vendor_id_from_host().unwrap() == t2.get_supported_vendor() { + if t2 + .get_supported_cpu_models() + .contains(&CpuModel::get_cpu_model()) + { + assert_eq!( + cpu_template.get_cpu_template().unwrap(), + Cow::Owned(t2::t2()) + ); + } else { + assert_eq!( + cpu_template.get_cpu_template().unwrap_err(), + GetCpuTemplateError::InvalidCpuModel, + ); + } } else { assert_eq!( cpu_template.get_cpu_template().unwrap_err(), @@ -266,13 +278,25 @@ mod tests { #[test] fn test_get_cpu_template_with_t2s_static_template() { // Test `get_cpu_template()` when T2S static CPU template is specified. The owned - // `CustomCpuTemplate` should be returned if CPU vendor is Intel. Otherwise, it should fail. - let cpu_template = Some(CpuTemplateType::Static(StaticCpuTemplate::T2S)); - if &get_vendor_id_from_host().unwrap() == VENDOR_ID_INTEL { - assert_eq!( - cpu_template.get_cpu_template().unwrap(), - Cow::Owned(t2s::t2s()) - ); + // `CustomCpuTemplate` should be returned if CPU vendor is Intel and the CPU model is + // supported. Otherwise, it should fail. + let t2s = StaticCpuTemplate::T2S; + let cpu_template = Some(CpuTemplateType::Static(t2s)); + if &get_vendor_id_from_host().unwrap() == t2s.get_supported_vendor() { + if t2s + .get_supported_cpu_models() + .contains(&CpuModel::get_cpu_model()) + { + assert_eq!( + cpu_template.get_cpu_template().unwrap(), + Cow::Owned(t2s::t2s()) + ); + } else { + assert_eq!( + cpu_template.get_cpu_template().unwrap_err(), + GetCpuTemplateError::InvalidCpuModel, + ); + } } else { assert_eq!( cpu_template.get_cpu_template().unwrap_err(), @@ -299,10 +323,15 @@ mod tests { #[test] fn test_get_cpu_template_with_t2cl_static_template() { // Test `get_cpu_template()` when T2CL static CPU template is specified. The owned - // `CustomCpuTemplate` should be returned if CPU vendor is Intel. Otherwise, it should fail. - let cpu_template = Some(CpuTemplateType::Static(StaticCpuTemplate::T2CL)); - if &get_vendor_id_from_host().unwrap() == VENDOR_ID_INTEL { - if CpuModel::get_cpu_model().is_at_least_cascade_lake() { + // `CustomCpuTemplate` should be returned if CPU vendor is Intel and the CPU model is + // supported. Otherwise, it should fail. + let t2cl = StaticCpuTemplate::T2CL; + let cpu_template = Some(CpuTemplateType::Static(t2cl)); + if &get_vendor_id_from_host().unwrap() == t2cl.get_supported_vendor() { + if t2cl + .get_supported_cpu_models() + .contains(&CpuModel::get_cpu_model()) + { assert_eq!( cpu_template.get_cpu_template().unwrap(), Cow::Owned(t2cl::t2cl()) @@ -311,7 +340,7 @@ mod tests { assert_eq!( cpu_template.get_cpu_template().unwrap_err(), GetCpuTemplateError::InvalidCpuModel, - ) + ); } } else { assert_eq!( @@ -325,12 +354,23 @@ mod tests { fn test_get_cpu_template_with_t2a_static_template() { // Test `get_cpu_template()` when T2A static CPU template is specified. The owned // `CustomCpuTemplate` should be returned if CPU vendor is AMD. Otherwise it should fail. - let cpu_template = Some(CpuTemplateType::Static(StaticCpuTemplate::T2A)); - if &get_vendor_id_from_host().unwrap() == VENDOR_ID_AMD { - assert_eq!( - cpu_template.get_cpu_template().unwrap(), - Cow::Owned(t2a::t2a()) - ); + let t2a = StaticCpuTemplate::T2A; + let cpu_template = Some(CpuTemplateType::Static(t2a)); + if &get_vendor_id_from_host().unwrap() == t2a.get_supported_vendor() { + if t2a + .get_supported_cpu_models() + .contains(&CpuModel::get_cpu_model()) + { + assert_eq!( + cpu_template.get_cpu_template().unwrap(), + Cow::Owned(t2a::t2a()) + ); + } else { + assert_eq!( + cpu_template.get_cpu_template().unwrap_err(), + GetCpuTemplateError::InvalidCpuModel, + ); + } } else { assert_eq!( cpu_template.get_cpu_template().unwrap_err(), diff --git a/src/vmm/src/cpu_config/x86_64/static_cpu_templates/mod.rs b/src/vmm/src/cpu_config/x86_64/static_cpu_templates/mod.rs index c3b2e3d49b4..a978be8fd16 100644 --- a/src/vmm/src/cpu_config/x86_64/static_cpu_templates/mod.rs +++ b/src/vmm/src/cpu_config/x86_64/static_cpu_templates/mod.rs @@ -4,6 +4,11 @@ use derive_more::Display; use serde::{Deserialize, Serialize}; +use crate::arch::x86_64::cpu_model::{ + CASCADE_LAKE_FMS, CpuModel, ICE_LAKE_FMS, MILAN_FMS, SKYLAKE_FMS, +}; +use crate::cpu_config::x86_64::cpuid::{VENDOR_ID_AMD, VENDOR_ID_INTEL}; + /// Module with C3 CPU template for x86_64 pub mod c3; /// Module with T2 CPU template for x86_64 @@ -45,6 +50,30 @@ impl StaticCpuTemplate { pub fn is_none(&self) -> bool { self == &StaticCpuTemplate::None } + + /// Return the supported vendor for the CPU template. + pub fn get_supported_vendor(&self) -> &'static [u8; 12] { + match self { + StaticCpuTemplate::C3 => VENDOR_ID_INTEL, + StaticCpuTemplate::T2 => VENDOR_ID_INTEL, + StaticCpuTemplate::T2S => VENDOR_ID_INTEL, + StaticCpuTemplate::T2CL => VENDOR_ID_INTEL, + StaticCpuTemplate::T2A => VENDOR_ID_AMD, + StaticCpuTemplate::None => unreachable!(), // Should be handled in advance + } + } + + /// Return supported CPU models for the CPU template. + pub fn get_supported_cpu_models(&self) -> &'static [CpuModel] { + match self { + StaticCpuTemplate::C3 => &[SKYLAKE_FMS, CASCADE_LAKE_FMS, ICE_LAKE_FMS], + StaticCpuTemplate::T2 => &[SKYLAKE_FMS, CASCADE_LAKE_FMS, ICE_LAKE_FMS], + StaticCpuTemplate::T2S => &[SKYLAKE_FMS, CASCADE_LAKE_FMS], + StaticCpuTemplate::T2CL => &[CASCADE_LAKE_FMS, ICE_LAKE_FMS], + StaticCpuTemplate::T2A => &[MILAN_FMS], + StaticCpuTemplate::None => unreachable!(), // Should be handled in advance + } + } } #[cfg(test)] diff --git a/tests/framework/utils_cpu_templates.py b/tests/framework/utils_cpu_templates.py index 0d8f9cd843b..32b93727761 100644 --- a/tests/framework/utils_cpu_templates.py +++ b/tests/framework/utils_cpu_templates.py @@ -25,12 +25,13 @@ def get_supported_cpu_templates(): """Return the list of static CPU templates supported by the platform.""" host_linux = global_props.host_linux_version_tpl match get_cpu_vendor(), global_props.cpu_codename: - # T2CL template is only supported on Cascade Lake and newer CPUs. case CpuVendor.INTEL, CpuModel.INTEL_SKYLAKE: return sorted(set(INTEL_TEMPLATES) - {"T2CL"}) - case CpuVendor.INTEL, _: + case CpuVendor.INTEL, CpuModel.INTEL_CASCADELAKE: return INTEL_TEMPLATES - case CpuVendor.AMD, _: + case CpuVendor.INTEL, CpuModel.INTEL_ICELAKE: + return sorted(set(INTEL_TEMPLATES) - {"T2S"}) + case CpuVendor.AMD, CpuModel.AMD_MILAN: return AMD_TEMPLATES case CpuVendor.ARM, CpuModel.ARM_NEOVERSE_V1 if host_linux >= (6, 1): return ARM_TEMPLATES @@ -45,12 +46,13 @@ def get_supported_custom_cpu_templates(): """Return the list of custom CPU templates supported by the platform.""" host_linux = global_props.host_linux_version_tpl match get_cpu_vendor(), global_props.cpu_codename: - # T2CL template is only supported on Cascade Lake and newer CPUs. case CpuVendor.INTEL, CpuModel.INTEL_SKYLAKE: return set(INTEL_TEMPLATES) - {"T2CL"} - case CpuVendor.INTEL, _: + case CpuVendor.INTEL, CpuModel.INTEL_CASCADELAKE: return INTEL_TEMPLATES - case CpuVendor.AMD, _: + case CpuVendor.INTEL, CpuModel.INTEL_ICELAKE: + return set(INTEL_TEMPLATES) - {"T2S"} + case CpuVendor.AMD, CpuModel.AMD_MILAN: return AMD_TEMPLATES case CpuVendor.ARM, CpuModel.ARM_NEOVERSE_N1 if host_linux >= (6, 1): return ["v1n1"] diff --git a/tests/integration_tests/functional/test_api.py b/tests/integration_tests/functional/test_api.py index eb2cd1b608e..864c6d5eda9 100644 --- a/tests/integration_tests/functional/test_api.py +++ b/tests/integration_tests/functional/test_api.py @@ -18,6 +18,7 @@ import host_tools.network as net_tools from framework import utils, utils_cpuid from framework.utils import get_firecracker_version_from_toml +from framework.utils_cpu_templates import SUPPORTED_CPU_TEMPLATES MEM_LIMIT = 1000000000 @@ -393,21 +394,13 @@ def test_api_machine_config(uvm_plain): test_microvm.api.machine_config.patch(mem_size_mib=256) # Set the cpu template - if platform.machine() == "x86_64": - test_microvm.api.machine_config.patch(cpu_template="C3") - else: - # We test with "None" because this is the only option supported on - # all aarch64 instances. It still tests setting `cpu_template`, - # even though the values we set is "None". + if len(SUPPORTED_CPU_TEMPLATES) == 0: + # No static CPU templates are supported on this CPU. test_microvm.api.machine_config.patch(cpu_template="None") - - if utils_cpuid.get_cpu_vendor() == utils_cpuid.CpuVendor.AMD: - # We shouldn't be able to apply Intel templates on AMD hosts - fail_msg = "CPU vendor mismatched between actual CPU and CPU template" - with pytest.raises(RuntimeError, match=fail_msg): - test_microvm.start() else: - test_microvm.start() + test_microvm.api.machine_config.patch(cpu_template=SUPPORTED_CPU_TEMPLATES[0]) + + test_microvm.start() # Validate full vm configuration after patching machine config. json = test_microvm.api.vm_config.get().json() @@ -1077,8 +1070,8 @@ def test_get_full_config_after_restoring_snapshot(microvm_factory, uvm_nano): if cpu_vendor == utils_cpuid.CpuVendor.ARM: setup_cfg["machine-config"]["smt"] = False - if cpu_vendor == utils_cpuid.CpuVendor.INTEL: - setup_cfg["machine-config"]["cpu_template"] = "C3" + if len(SUPPORTED_CPU_TEMPLATES) != 0: + setup_cfg["machine-config"]["cpu_template"] = SUPPORTED_CPU_TEMPLATES[0] uvm_nano.api.machine_config.patch(**setup_cfg["machine-config"]) diff --git a/tests/integration_tests/functional/test_cmd_line_start.py b/tests/integration_tests/functional/test_cmd_line_start.py index 096bea38c6c..84b954e7038 100644 --- a/tests/integration_tests/functional/test_cmd_line_start.py +++ b/tests/integration_tests/functional/test_cmd_line_start.py @@ -12,8 +12,9 @@ import pytest from tenacity import Retrying, retry_if_exception_type, stop_after_attempt, wait_fixed -from framework import utils, utils_cpuid +from framework import utils from framework.utils import generate_mmds_get_request, generate_mmds_session_token +from framework.utils_cpu_templates import SUPPORTED_CPU_TEMPLATES # Directory with metadata JSON files DIR = Path("./data") @@ -195,8 +196,8 @@ def test_config_bad_machine_config(uvm_plain, vm_config_file): @pytest.mark.parametrize( "test_config", [ - ("framework/vm_config_cpu_template_C3.json", False, True, True), - ("framework/vm_config_smt_true.json", False, False, True), + ("framework/vm_config_cpu_template_C3.json", True, False), + ("framework/vm_config_smt_true.json", False, True), ], ) def test_config_machine_config_params(uvm_plain, test_config): @@ -207,22 +208,20 @@ def test_config_machine_config_params(uvm_plain, test_config): # Test configuration determines if the file is a valid config or not # based on the CPU - (vm_config_file, fail_intel, fail_amd, fail_aarch64) = test_config + (vm_config_file, cpu_template_used, smt_used) = test_config _configure_vm_from_json(test_microvm, vm_config_file) test_microvm.jailer.extra_args.update({"no-api": None}) test_microvm.spawn() - cpu_vendor = utils_cpuid.get_cpu_vendor() + should_fail = False + if cpu_template_used and "C3" not in SUPPORTED_CPU_TEMPLATES: + should_fail = True + if smt_used and (platform.machine() == "aarch64"): + should_fail = True - check_for_failed_start = ( - (cpu_vendor == utils_cpuid.CpuVendor.AMD and fail_amd) - or (cpu_vendor == utils_cpuid.CpuVendor.INTEL and fail_intel) - or (platform.machine() == "aarch64" and fail_aarch64) - ) - - if check_for_failed_start: + if should_fail: test_microvm.check_any_log_message( [ "Failed to build MicroVM from Json", diff --git a/tests/integration_tests/functional/test_cpu_features_x86_64.py b/tests/integration_tests/functional/test_cpu_features_x86_64.py index 0fb51e5bd37..bd8c5daba54 100644 --- a/tests/integration_tests/functional/test_cpu_features_x86_64.py +++ b/tests/integration_tests/functional/test_cpu_features_x86_64.py @@ -643,7 +643,9 @@ def test_cpu_cpuid_restore(microvm_factory, guest_kernel, msr_cpu_template): ) -@pytest.mark.parametrize("cpu_template", ["T2", "T2S", "C3"]) +@pytest.mark.parametrize( + "cpu_template", sorted({"T2", "T2S", "C3"}.intersection(SUPPORTED_CPU_TEMPLATES)) +) def test_cpu_template(uvm_plain_any, cpu_template, microvm_factory): """ Test masked and enabled cpu features against the expected template. From 75c7b927b9081dbc7c88a3db4ccf41fdd2810563 Mon Sep 17 00:00:00 2001 From: Takahiro Itazuri Date: Fri, 4 Apr 2025 13:37:18 +0000 Subject: [PATCH 2/3] chore(test): Remove unnecessary rdmsr test files We made it more specific which CPU models are supported by CPU templates. Now we can remove unnecessary files for an integration test that captures rdmsr values when CPU templates are applied. Signed-off-by: Takahiro Itazuri --- ..._list_T2A_AMD_GENOA_5.10host_5.10guest.csv | 298 ---------- ...r_list_T2A_AMD_GENOA_5.10host_6.1guest.csv | 298 ---------- ...r_list_T2A_AMD_GENOA_6.1host_5.10guest.csv | 300 ----------- ...sr_list_T2A_AMD_GENOA_6.1host_6.1guest.csv | 300 ----------- ...t_T2S_INTEL_ICELAKE_5.10host_5.10guest.csv | 508 ------------------ ...st_T2S_INTEL_ICELAKE_5.10host_6.1guest.csv | 508 ------------------ ...st_T2S_INTEL_ICELAKE_6.1host_5.10guest.csv | 496 ----------------- ...ist_T2S_INTEL_ICELAKE_6.1host_6.1guest.csv | 496 ----------------- 8 files changed, 3204 deletions(-) delete mode 100644 tests/data/msr/msr_list_T2A_AMD_GENOA_5.10host_5.10guest.csv delete mode 100644 tests/data/msr/msr_list_T2A_AMD_GENOA_5.10host_6.1guest.csv delete mode 100644 tests/data/msr/msr_list_T2A_AMD_GENOA_6.1host_5.10guest.csv delete mode 100644 tests/data/msr/msr_list_T2A_AMD_GENOA_6.1host_6.1guest.csv delete mode 100644 tests/data/msr/msr_list_T2S_INTEL_ICELAKE_5.10host_5.10guest.csv delete mode 100644 tests/data/msr/msr_list_T2S_INTEL_ICELAKE_5.10host_6.1guest.csv delete mode 100644 tests/data/msr/msr_list_T2S_INTEL_ICELAKE_6.1host_5.10guest.csv delete mode 100644 tests/data/msr/msr_list_T2S_INTEL_ICELAKE_6.1host_6.1guest.csv diff --git a/tests/data/msr/msr_list_T2A_AMD_GENOA_5.10host_5.10guest.csv b/tests/data/msr/msr_list_T2A_AMD_GENOA_5.10host_5.10guest.csv deleted file mode 100644 index 82f8d2673d7..00000000000 --- a/tests/data/msr/msr_list_T2A_AMD_GENOA_5.10host_5.10guest.csv +++ /dev/null @@ -1,298 +0,0 @@ -MSR_ADDR,VALUE -0,0x0 -0x1,0x0 -0x10,0x86e8ca1e -0x11,0x24a1008 -0x12,0x24a2001 -0x17,0x0 -0x1b,0xfee00d00 -0x2a,0x0 -0x2c,0x1000000 -0x34,0x0 -0x3b,0x0 -0x48,0x0 -0x8b,0x1000065 -0xc1,0x0 -0xc2,0x0 -0xcd,0x3 -0xce,0x80000000 -0xfe,0x508 -0x11e,0xbe702111 -0x140,0x0 -0x174,0x10 -0x175,0xfffffe0000003000 -0x176,0xffffffff81a01510 -0x179,0x20 -0x17a,0x0 -0x186,0x0 -0x187,0x0 -0x198,0x400000003e8 -0x199,0x0 -0x1a0,0x1 -0x1d9,0x0 -0x1db,0x0 -0x1dc,0x0 -0x1dd,0x0 -0x1de,0x0 -0x1fc,0x0 -0x200,0x0 -0x201,0x0 -0x202,0x0 -0x203,0x0 -0x204,0x0 -0x205,0x0 -0x206,0x0 -0x207,0x0 -0x208,0x0 -0x209,0x0 -0x20a,0x0 -0x20b,0x0 -0x20c,0x0 -0x20d,0x0 -0x20e,0x0 -0x20f,0x0 -0x250,0x0 -0x258,0x0 -0x259,0x0 -0x268,0x0 -0x269,0x0 -0x26a,0x0 -0x26b,0x0 -0x26c,0x0 -0x26d,0x0 -0x26e,0x0 -0x26f,0x0 -0x277,0x7040600070406 -0x2ff,0x0 -0x400,0x0 -0x401,0x0 -0x402,0x0 -0x403,0x0 -0x404,0x0 -0x405,0x0 -0x406,0x0 -0x407,0x0 -0x408,0x0 -0x409,0x0 -0x40a,0x0 -0x40b,0x0 -0x40c,0x0 -0x40d,0x0 -0x40e,0x0 -0x40f,0x0 -0x410,0x0 -0x411,0x0 -0x412,0x0 -0x413,0x0 -0x414,0x0 -0x415,0x0 -0x416,0x0 -0x417,0x0 -0x418,0x0 -0x419,0x0 -0x41a,0x0 -0x41b,0x0 -0x41c,0x0 -0x41d,0x0 -0x41e,0x0 -0x41f,0x0 -0x420,0x0 -0x421,0x0 -0x422,0x0 -0x423,0x0 -0x424,0x0 -0x425,0x0 -0x426,0x0 -0x427,0x0 -0x428,0x0 -0x429,0x0 -0x42a,0x0 -0x42b,0x0 -0x42c,0x0 -0x42d,0x0 -0x42e,0x0 -0x42f,0x0 -0x430,0x0 -0x431,0x0 -0x432,0x0 -0x433,0x0 -0x434,0x0 -0x435,0x0 -0x436,0x0 -0x437,0x0 -0x438,0x0 -0x439,0x0 -0x43a,0x0 -0x43b,0x0 -0x43c,0x0 -0x43d,0x0 -0x43e,0x0 -0x43f,0x0 -0x440,0x0 -0x441,0x0 -0x442,0x0 -0x443,0x0 -0x444,0x0 -0x445,0x0 -0x446,0x0 -0x447,0x0 -0x448,0x0 -0x449,0x0 -0x44a,0x0 -0x44b,0x0 -0x44c,0x0 -0x44d,0x0 -0x44e,0x0 -0x44f,0x0 -0x450,0x0 -0x451,0x0 -0x452,0x0 -0x453,0x0 -0x454,0x0 -0x455,0x0 -0x456,0x0 -0x457,0x0 -0x458,0x0 -0x459,0x0 -0x45a,0x0 -0x45b,0x0 -0x45c,0x0 -0x45d,0x0 -0x45e,0x0 -0x45f,0x0 -0x460,0x0 -0x461,0x0 -0x462,0x0 -0x463,0x0 -0x464,0x0 -0x465,0x0 -0x466,0x0 -0x467,0x0 -0x468,0x0 -0x469,0x0 -0x46a,0x0 -0x46b,0x0 -0x46c,0x0 -0x46d,0x0 -0x46e,0x0 -0x46f,0x0 -0x470,0x0 -0x471,0x0 -0x472,0x0 -0x473,0x0 -0x474,0x0 -0x475,0x0 -0x476,0x0 -0x477,0x0 -0x478,0x0 -0x479,0x0 -0x47a,0x0 -0x47b,0x0 -0x47c,0x0 -0x47d,0x0 -0x47e,0x0 -0x47f,0x0 -0x606,0x0 -0x611,0x0 -0x619,0x0 -0x639,0x0 -0x641,0x0 -0x6e0,0x150b49126 -0x802,0x0 -0x803,0x50014 -0x808,0x10 -0x80a,0x10 -0x80d,0x1 -0x80f,0x1ff -0x810,0x0 -0x811,0x0 -0x812,0x0 -0x813,0x0 -0x814,0x0 -0x815,0x0 -0x816,0x0 -0x817,0x0 -0x818,0x0 -0x819,0x0 -0x81a,0x0 -0x81b,0x0 -0x81c,0x0 -0x81d,0x0 -0x81e,0x0 -0x81f,0x0 -0x820,0x0 -0x821,0x0 -0x822,0x0 -0x823,0x0 -0x824,0x0 -0x825,0x0 -0x826,0x0 -0x827,0x0 -0x828,0x0 -0x830,0x0 -0x832,0x400ec -0x833,0x10000 -0x834,0x400 -0x835,0x10700 -0x836,0x400 -0x837,0xfe -0x838,0x0 -0x839,0x0 -0x83e,0x0 -0xc0000080,0xd01 -0xc0000081,0x23001000000000 -0xc0000082,0xffffffff81a00080 -0xc0000083,0xffffffff81a015c0 -0xc0000084,0x47700 -0xc0000100,0x7fbe30c03740 -0xc0000101,0xffff88803ec00000 -0xc0000102,0x0 -0xc0000103,0x0 -0xc0010000,0x0 -0xc0010001,0x0 -0xc0010002,0x0 -0xc0010003,0x0 -0xc0010004,0x0 -0xc0010005,0x0 -0xc0010006,0x0 -0xc0010007,0x0 -0xc0010010,0x0 -0xc0010015,0x0 -0xc001001b,0x20000000 -0xc001001f,0x0 -0xc0010055,0x0 -0xc0010058,0x0 -0xc0010112,0x0 -0xc0010113,0x0 -0xc0010114,0x0 -0xc0010117,0x0 -0xc001011f,0x0 -0xc0010131,0x0 -0xc0010140,0x4 -0xc0010141,0x0 -0xc0010200,0x0 -0xc0010201,0x0 -0xc0010202,0x0 -0xc0010203,0x0 -0xc0010204,0x0 -0xc0010205,0x0 -0xc0010206,0x0 -0xc0010207,0x0 -0xc0010208,0x0 -0xc0010209,0x0 -0xc001020a,0x0 -0xc001020b,0xffff -0xc0011021,0x0 -0xc0011022,0x0 -0xc0011023,0x0 -0xc0011029,0x2 -0xc001102a,0x0 -0xc001102c,0x0 -0x400000000,0x0 -0x2000000000,0x0 -0x4000000000,0x0 -0x8000000000,0x0 -0x1000000000000,0x0 -0x3c000000000000,0x0 -0x80000000000000,0x0 -0x40000000000000,0x0 diff --git a/tests/data/msr/msr_list_T2A_AMD_GENOA_5.10host_6.1guest.csv b/tests/data/msr/msr_list_T2A_AMD_GENOA_5.10host_6.1guest.csv deleted file mode 100644 index cbb1af0b3ac..00000000000 --- a/tests/data/msr/msr_list_T2A_AMD_GENOA_5.10host_6.1guest.csv +++ /dev/null @@ -1,298 +0,0 @@ -MSR_ADDR,VALUE -0,0x0 -0x1,0x0 -0x10,0x7cc4d24c -0x11,0x25cb008 -0x12,0x25cc001 -0x17,0x0 -0x1b,0xfee00d00 -0x2a,0x0 -0x2c,0x1000000 -0x34,0x0 -0x3b,0x0 -0x48,0x0 -0x8b,0x1000065 -0xc1,0x0 -0xc2,0x0 -0xcd,0x3 -0xce,0x80000000 -0xfe,0x508 -0x11e,0xbe702111 -0x140,0x0 -0x174,0x10 -0x175,0xfffffe0000003000 -0x176,0xffffffff81a01620 -0x179,0x20 -0x17a,0x0 -0x186,0x0 -0x187,0x0 -0x198,0x400000003e8 -0x199,0x0 -0x1a0,0x1 -0x1d9,0x0 -0x1db,0x0 -0x1dc,0x0 -0x1dd,0x0 -0x1de,0x0 -0x1fc,0x0 -0x200,0x0 -0x201,0x0 -0x202,0x0 -0x203,0x0 -0x204,0x0 -0x205,0x0 -0x206,0x0 -0x207,0x0 -0x208,0x0 -0x209,0x0 -0x20a,0x0 -0x20b,0x0 -0x20c,0x0 -0x20d,0x0 -0x20e,0x0 -0x20f,0x0 -0x250,0x0 -0x258,0x0 -0x259,0x0 -0x268,0x0 -0x269,0x0 -0x26a,0x0 -0x26b,0x0 -0x26c,0x0 -0x26d,0x0 -0x26e,0x0 -0x26f,0x0 -0x277,0x7040600070406 -0x2ff,0x0 -0x400,0x0 -0x401,0x0 -0x402,0x0 -0x403,0x0 -0x404,0x0 -0x405,0x0 -0x406,0x0 -0x407,0x0 -0x408,0x0 -0x409,0x0 -0x40a,0x0 -0x40b,0x0 -0x40c,0x0 -0x40d,0x0 -0x40e,0x0 -0x40f,0x0 -0x410,0x0 -0x411,0x0 -0x412,0x0 -0x413,0x0 -0x414,0x0 -0x415,0x0 -0x416,0x0 -0x417,0x0 -0x418,0x0 -0x419,0x0 -0x41a,0x0 -0x41b,0x0 -0x41c,0x0 -0x41d,0x0 -0x41e,0x0 -0x41f,0x0 -0x420,0x0 -0x421,0x0 -0x422,0x0 -0x423,0x0 -0x424,0x0 -0x425,0x0 -0x426,0x0 -0x427,0x0 -0x428,0x0 -0x429,0x0 -0x42a,0x0 -0x42b,0x0 -0x42c,0x0 -0x42d,0x0 -0x42e,0x0 -0x42f,0x0 -0x430,0x0 -0x431,0x0 -0x432,0x0 -0x433,0x0 -0x434,0x0 -0x435,0x0 -0x436,0x0 -0x437,0x0 -0x438,0x0 -0x439,0x0 -0x43a,0x0 -0x43b,0x0 -0x43c,0x0 -0x43d,0x0 -0x43e,0x0 -0x43f,0x0 -0x440,0x0 -0x441,0x0 -0x442,0x0 -0x443,0x0 -0x444,0x0 -0x445,0x0 -0x446,0x0 -0x447,0x0 -0x448,0x0 -0x449,0x0 -0x44a,0x0 -0x44b,0x0 -0x44c,0x0 -0x44d,0x0 -0x44e,0x0 -0x44f,0x0 -0x450,0x0 -0x451,0x0 -0x452,0x0 -0x453,0x0 -0x454,0x0 -0x455,0x0 -0x456,0x0 -0x457,0x0 -0x458,0x0 -0x459,0x0 -0x45a,0x0 -0x45b,0x0 -0x45c,0x0 -0x45d,0x0 -0x45e,0x0 -0x45f,0x0 -0x460,0x0 -0x461,0x0 -0x462,0x0 -0x463,0x0 -0x464,0x0 -0x465,0x0 -0x466,0x0 -0x467,0x0 -0x468,0x0 -0x469,0x0 -0x46a,0x0 -0x46b,0x0 -0x46c,0x0 -0x46d,0x0 -0x46e,0x0 -0x46f,0x0 -0x470,0x0 -0x471,0x0 -0x472,0x0 -0x473,0x0 -0x474,0x0 -0x475,0x0 -0x476,0x0 -0x477,0x0 -0x478,0x0 -0x479,0x0 -0x47a,0x0 -0x47b,0x0 -0x47c,0x0 -0x47d,0x0 -0x47e,0x0 -0x47f,0x0 -0x606,0x0 -0x611,0x0 -0x619,0x0 -0x639,0x0 -0x641,0x0 -0x6e0,0x13998e6da -0x802,0x0 -0x803,0x50014 -0x808,0x10 -0x80a,0x10 -0x80d,0x1 -0x80f,0x1ff -0x810,0x0 -0x811,0x0 -0x812,0x0 -0x813,0x0 -0x814,0x0 -0x815,0x0 -0x816,0x0 -0x817,0x0 -0x818,0x0 -0x819,0x0 -0x81a,0x0 -0x81b,0x0 -0x81c,0x0 -0x81d,0x0 -0x81e,0x0 -0x81f,0x0 -0x820,0x0 -0x821,0x0 -0x822,0x0 -0x823,0x0 -0x824,0x0 -0x825,0x0 -0x826,0x0 -0x827,0x0 -0x828,0x0 -0x830,0x0 -0x832,0x400ec -0x833,0x10000 -0x834,0x400 -0x835,0x10700 -0x836,0x400 -0x837,0xfe -0x838,0x0 -0x839,0x0 -0x83e,0x0 -0xc0000080,0xd01 -0xc0000081,0x23001000000000 -0xc0000082,0xffffffff81a00080 -0xc0000083,0xffffffff81a016e0 -0xc0000084,0x257fd5 -0xc0000100,0x7f2345db1740 -0xc0000101,0xffff88803ec00000 -0xc0000102,0x0 -0xc0000103,0x0 -0xc0010000,0x0 -0xc0010001,0x0 -0xc0010002,0x0 -0xc0010003,0x0 -0xc0010004,0x0 -0xc0010005,0x0 -0xc0010006,0x0 -0xc0010007,0x0 -0xc0010010,0x0 -0xc0010015,0x0 -0xc001001b,0x20000000 -0xc001001f,0x0 -0xc0010055,0x0 -0xc0010058,0x0 -0xc0010112,0x0 -0xc0010113,0x0 -0xc0010114,0x0 -0xc0010117,0x0 -0xc001011f,0x0 -0xc0010131,0x0 -0xc0010140,0x4 -0xc0010141,0x0 -0xc0010200,0x0 -0xc0010201,0x0 -0xc0010202,0x0 -0xc0010203,0x0 -0xc0010204,0x0 -0xc0010205,0x0 -0xc0010206,0x0 -0xc0010207,0x0 -0xc0010208,0x0 -0xc0010209,0x0 -0xc001020a,0x0 -0xc001020b,0xffff -0xc0011021,0x0 -0xc0011022,0x0 -0xc0011023,0x0 -0xc0011029,0x2 -0xc001102a,0x0 -0xc001102c,0x0 -0x400000000,0x0 -0x2000000000,0x0 -0x4000000000,0x0 -0x8000000000,0x0 -0x1000000000000,0x0 -0x3c000000000000,0x0 -0x80000000000000,0x0 -0x40000000000000,0x0 diff --git a/tests/data/msr/msr_list_T2A_AMD_GENOA_6.1host_5.10guest.csv b/tests/data/msr/msr_list_T2A_AMD_GENOA_6.1host_5.10guest.csv deleted file mode 100644 index b3015830e3f..00000000000 --- a/tests/data/msr/msr_list_T2A_AMD_GENOA_6.1host_5.10guest.csv +++ /dev/null @@ -1,300 +0,0 @@ -MSR_ADDR,VALUE -0,0x0 -0x1,0x0 -0x10,0x916c8f40 -0x11,0x24a1008 -0x12,0x24a2001 -0x17,0x0 -0x1b,0xfee00d00 -0x2a,0x0 -0x2c,0x1000000 -0x34,0x0 -0x3b,0x0 -0x48,0x0 -0x8b,0x1000065 -0xc1,0x0 -0xc2,0x0 -0xcd,0x3 -0xce,0x80000000 -0xfe,0x508 -0x11e,0xbe702111 -0x140,0x0 -0x174,0x10 -0x175,0x3000 -0x176,0x81a01510 -0x179,0x20 -0x17a,0x0 -0x186,0x0 -0x187,0x0 -0x198,0x400000003e8 -0x199,0x0 -0x1a0,0x1 -0x1d9,0x0 -0x1db,0x0 -0x1dc,0x0 -0x1dd,0x0 -0x1de,0x0 -0x1fc,0x0 -0x200,0x0 -0x201,0x0 -0x202,0x0 -0x203,0x0 -0x204,0x0 -0x205,0x0 -0x206,0x0 -0x207,0x0 -0x208,0x0 -0x209,0x0 -0x20a,0x0 -0x20b,0x0 -0x20c,0x0 -0x20d,0x0 -0x20e,0x0 -0x20f,0x0 -0x250,0x0 -0x258,0x0 -0x259,0x0 -0x268,0x0 -0x269,0x0 -0x26a,0x0 -0x26b,0x0 -0x26c,0x0 -0x26d,0x0 -0x26e,0x0 -0x26f,0x0 -0x277,0x7040600070406 -0x2ff,0x0 -0x400,0x0 -0x401,0x0 -0x402,0x0 -0x403,0x0 -0x404,0x0 -0x405,0x0 -0x406,0x0 -0x407,0x0 -0x408,0x0 -0x409,0x0 -0x40a,0x0 -0x40b,0x0 -0x40c,0x0 -0x40d,0x0 -0x40e,0x0 -0x40f,0x0 -0x410,0x0 -0x411,0x0 -0x412,0x0 -0x413,0x0 -0x414,0x0 -0x415,0x0 -0x416,0x0 -0x417,0x0 -0x418,0x0 -0x419,0x0 -0x41a,0x0 -0x41b,0x0 -0x41c,0x0 -0x41d,0x0 -0x41e,0x0 -0x41f,0x0 -0x420,0x0 -0x421,0x0 -0x422,0x0 -0x423,0x0 -0x424,0x0 -0x425,0x0 -0x426,0x0 -0x427,0x0 -0x428,0x0 -0x429,0x0 -0x42a,0x0 -0x42b,0x0 -0x42c,0x0 -0x42d,0x0 -0x42e,0x0 -0x42f,0x0 -0x430,0x0 -0x431,0x0 -0x432,0x0 -0x433,0x0 -0x434,0x0 -0x435,0x0 -0x436,0x0 -0x437,0x0 -0x438,0x0 -0x439,0x0 -0x43a,0x0 -0x43b,0x0 -0x43c,0x0 -0x43d,0x0 -0x43e,0x0 -0x43f,0x0 -0x440,0x0 -0x441,0x0 -0x442,0x0 -0x443,0x0 -0x444,0x0 -0x445,0x0 -0x446,0x0 -0x447,0x0 -0x448,0x0 -0x449,0x0 -0x44a,0x0 -0x44b,0x0 -0x44c,0x0 -0x44d,0x0 -0x44e,0x0 -0x44f,0x0 -0x450,0x0 -0x451,0x0 -0x452,0x0 -0x453,0x0 -0x454,0x0 -0x455,0x0 -0x456,0x0 -0x457,0x0 -0x458,0x0 -0x459,0x0 -0x45a,0x0 -0x45b,0x0 -0x45c,0x0 -0x45d,0x0 -0x45e,0x0 -0x45f,0x0 -0x460,0x0 -0x461,0x0 -0x462,0x0 -0x463,0x0 -0x464,0x0 -0x465,0x0 -0x466,0x0 -0x467,0x0 -0x468,0x0 -0x469,0x0 -0x46a,0x0 -0x46b,0x0 -0x46c,0x0 -0x46d,0x0 -0x46e,0x0 -0x46f,0x0 -0x470,0x0 -0x471,0x0 -0x472,0x0 -0x473,0x0 -0x474,0x0 -0x475,0x0 -0x476,0x0 -0x477,0x0 -0x478,0x0 -0x479,0x0 -0x47a,0x0 -0x47b,0x0 -0x47c,0x0 -0x47d,0x0 -0x47e,0x0 -0x47f,0x0 -0x606,0x0 -0x611,0x0 -0x619,0x0 -0x639,0x0 -0x641,0x0 -0x6e0,0x13b260b8c -0x802,0x0 -0x803,0x50014 -0x808,0x10 -0x80a,0x10 -0x80d,0x1 -0x80f,0x1ff -0x810,0x0 -0x811,0x0 -0x812,0x0 -0x813,0x0 -0x814,0x0 -0x815,0x0 -0x816,0x0 -0x817,0x0 -0x818,0x0 -0x819,0x0 -0x81a,0x0 -0x81b,0x0 -0x81c,0x0 -0x81d,0x0 -0x81e,0x0 -0x81f,0x0 -0x820,0x0 -0x821,0x0 -0x822,0x0 -0x823,0x0 -0x824,0x0 -0x825,0x0 -0x826,0x0 -0x827,0x0 -0x828,0x0 -0x830,0x0 -0x832,0x400ec -0x833,0x10000 -0x834,0x400 -0x835,0x10700 -0x836,0x400 -0x837,0xfe -0x838,0x0 -0x839,0x0 -0x83e,0x0 -0xc0000080,0xd01 -0xc0000081,0x23001000000000 -0xc0000082,0xffffffff81a00080 -0xc0000083,0xffffffff81a015c0 -0xc0000084,0x47700 -0xc0000100,0x7f4e13140740 -0xc0000101,0xffff88803ec00000 -0xc0000102,0x0 -0xc0000103,0x0 -0xc0000104,0x100000000 -0xc0010000,0x0 -0xc0010001,0x0 -0xc0010002,0x0 -0xc0010003,0x0 -0xc0010004,0x0 -0xc0010005,0x0 -0xc0010006,0x0 -0xc0010007,0x0 -0xc0010010,0x0 -0xc0010015,0x0 -0xc001001b,0x20000000 -0xc001001f,0x0 -0xc0010055,0x0 -0xc0010058,0x0 -0xc0010112,0x0 -0xc0010113,0x0 -0xc0010114,0x0 -0xc0010117,0x0 -0xc001011f,0x0 -0xc0010130,0x0 -0xc0010131,0x0 -0xc0010140,0x4 -0xc0010141,0x0 -0xc0010200,0x0 -0xc0010201,0x0 -0xc0010202,0x0 -0xc0010203,0x0 -0xc0010204,0x0 -0xc0010205,0x0 -0xc0010206,0x0 -0xc0010207,0x0 -0xc0010208,0x0 -0xc0010209,0x0 -0xc001020a,0x0 -0xc001020b,0xffff -0xc0011021,0x0 -0xc0011022,0x0 -0xc0011023,0x0 -0xc0011029,0x2 -0xc001102a,0x0 -0xc001102c,0x0 -0x400000000,0x0 -0x2000000000,0x0 -0x4000000000,0x0 -0x8000000000,0x0 -0x1000000000000,0x0 -0x3c000000000000,0x0 -0x80000000000000,0x0 -0x40000000000000,0x0 diff --git a/tests/data/msr/msr_list_T2A_AMD_GENOA_6.1host_6.1guest.csv b/tests/data/msr/msr_list_T2A_AMD_GENOA_6.1host_6.1guest.csv deleted file mode 100644 index 59606121fda..00000000000 --- a/tests/data/msr/msr_list_T2A_AMD_GENOA_6.1host_6.1guest.csv +++ /dev/null @@ -1,300 +0,0 @@ -MSR_ADDR,VALUE -0,0x0 -0x1,0x0 -0x10,0x7bd49b6c -0x11,0x25cb008 -0x12,0x25cc001 -0x17,0x0 -0x1b,0xfee00d00 -0x2a,0x0 -0x2c,0x1000000 -0x34,0x0 -0x3b,0x0 -0x48,0x0 -0x8b,0x1000065 -0xc1,0x0 -0xc2,0x0 -0xcd,0x3 -0xce,0x80000000 -0xfe,0x508 -0x11e,0xbe702111 -0x140,0x0 -0x174,0x10 -0x175,0x3000 -0x176,0x81a01620 -0x179,0x20 -0x17a,0x0 -0x186,0x0 -0x187,0x0 -0x198,0x400000003e8 -0x199,0x0 -0x1a0,0x1 -0x1d9,0x0 -0x1db,0x0 -0x1dc,0x0 -0x1dd,0x0 -0x1de,0x0 -0x1fc,0x0 -0x200,0x0 -0x201,0x0 -0x202,0x0 -0x203,0x0 -0x204,0x0 -0x205,0x0 -0x206,0x0 -0x207,0x0 -0x208,0x0 -0x209,0x0 -0x20a,0x0 -0x20b,0x0 -0x20c,0x0 -0x20d,0x0 -0x20e,0x0 -0x20f,0x0 -0x250,0x0 -0x258,0x0 -0x259,0x0 -0x268,0x0 -0x269,0x0 -0x26a,0x0 -0x26b,0x0 -0x26c,0x0 -0x26d,0x0 -0x26e,0x0 -0x26f,0x0 -0x277,0x7040600070406 -0x2ff,0x0 -0x400,0x0 -0x401,0x0 -0x402,0x0 -0x403,0x0 -0x404,0x0 -0x405,0x0 -0x406,0x0 -0x407,0x0 -0x408,0x0 -0x409,0x0 -0x40a,0x0 -0x40b,0x0 -0x40c,0x0 -0x40d,0x0 -0x40e,0x0 -0x40f,0x0 -0x410,0x0 -0x411,0x0 -0x412,0x0 -0x413,0x0 -0x414,0x0 -0x415,0x0 -0x416,0x0 -0x417,0x0 -0x418,0x0 -0x419,0x0 -0x41a,0x0 -0x41b,0x0 -0x41c,0x0 -0x41d,0x0 -0x41e,0x0 -0x41f,0x0 -0x420,0x0 -0x421,0x0 -0x422,0x0 -0x423,0x0 -0x424,0x0 -0x425,0x0 -0x426,0x0 -0x427,0x0 -0x428,0x0 -0x429,0x0 -0x42a,0x0 -0x42b,0x0 -0x42c,0x0 -0x42d,0x0 -0x42e,0x0 -0x42f,0x0 -0x430,0x0 -0x431,0x0 -0x432,0x0 -0x433,0x0 -0x434,0x0 -0x435,0x0 -0x436,0x0 -0x437,0x0 -0x438,0x0 -0x439,0x0 -0x43a,0x0 -0x43b,0x0 -0x43c,0x0 -0x43d,0x0 -0x43e,0x0 -0x43f,0x0 -0x440,0x0 -0x441,0x0 -0x442,0x0 -0x443,0x0 -0x444,0x0 -0x445,0x0 -0x446,0x0 -0x447,0x0 -0x448,0x0 -0x449,0x0 -0x44a,0x0 -0x44b,0x0 -0x44c,0x0 -0x44d,0x0 -0x44e,0x0 -0x44f,0x0 -0x450,0x0 -0x451,0x0 -0x452,0x0 -0x453,0x0 -0x454,0x0 -0x455,0x0 -0x456,0x0 -0x457,0x0 -0x458,0x0 -0x459,0x0 -0x45a,0x0 -0x45b,0x0 -0x45c,0x0 -0x45d,0x0 -0x45e,0x0 -0x45f,0x0 -0x460,0x0 -0x461,0x0 -0x462,0x0 -0x463,0x0 -0x464,0x0 -0x465,0x0 -0x466,0x0 -0x467,0x0 -0x468,0x0 -0x469,0x0 -0x46a,0x0 -0x46b,0x0 -0x46c,0x0 -0x46d,0x0 -0x46e,0x0 -0x46f,0x0 -0x470,0x0 -0x471,0x0 -0x472,0x0 -0x473,0x0 -0x474,0x0 -0x475,0x0 -0x476,0x0 -0x477,0x0 -0x478,0x0 -0x479,0x0 -0x47a,0x0 -0x47b,0x0 -0x47c,0x0 -0x47d,0x0 -0x47e,0x0 -0x47f,0x0 -0x606,0x0 -0x611,0x0 -0x619,0x0 -0x639,0x0 -0x641,0x0 -0x6e0,0x137e39322 -0x802,0x0 -0x803,0x50014 -0x808,0x10 -0x80a,0x10 -0x80d,0x1 -0x80f,0x1ff -0x810,0x0 -0x811,0x0 -0x812,0x0 -0x813,0x0 -0x814,0x0 -0x815,0x0 -0x816,0x0 -0x817,0x0 -0x818,0x0 -0x819,0x0 -0x81a,0x0 -0x81b,0x0 -0x81c,0x0 -0x81d,0x0 -0x81e,0x0 -0x81f,0x0 -0x820,0x0 -0x821,0x0 -0x822,0x0 -0x823,0x0 -0x824,0x0 -0x825,0x0 -0x826,0x0 -0x827,0x0 -0x828,0x0 -0x830,0x0 -0x832,0x400ec -0x833,0x10000 -0x834,0x400 -0x835,0x10700 -0x836,0x400 -0x837,0xfe -0x838,0x0 -0x839,0x0 -0x83e,0x0 -0xc0000080,0xd01 -0xc0000081,0x23001000000000 -0xc0000082,0xffffffff81a00080 -0xc0000083,0xffffffff81a016e0 -0xc0000084,0x257fd5 -0xc0000100,0x7f7c57cd9740 -0xc0000101,0xffff88803ec00000 -0xc0000102,0x0 -0xc0000103,0x0 -0xc0000104,0x100000000 -0xc0010000,0x0 -0xc0010001,0x0 -0xc0010002,0x0 -0xc0010003,0x0 -0xc0010004,0x0 -0xc0010005,0x0 -0xc0010006,0x0 -0xc0010007,0x0 -0xc0010010,0x0 -0xc0010015,0x0 -0xc001001b,0x20000000 -0xc001001f,0x0 -0xc0010055,0x0 -0xc0010058,0x0 -0xc0010112,0x0 -0xc0010113,0x0 -0xc0010114,0x0 -0xc0010117,0x0 -0xc001011f,0x0 -0xc0010130,0x0 -0xc0010131,0x0 -0xc0010140,0x4 -0xc0010141,0x0 -0xc0010200,0x0 -0xc0010201,0x0 -0xc0010202,0x0 -0xc0010203,0x0 -0xc0010204,0x0 -0xc0010205,0x0 -0xc0010206,0x0 -0xc0010207,0x0 -0xc0010208,0x0 -0xc0010209,0x0 -0xc001020a,0x0 -0xc001020b,0xffff -0xc0011021,0x0 -0xc0011022,0x0 -0xc0011023,0x0 -0xc0011029,0x2 -0xc001102a,0x0 -0xc001102c,0x0 -0x400000000,0x0 -0x2000000000,0x0 -0x4000000000,0x0 -0x8000000000,0x0 -0x1000000000000,0x0 -0x3c000000000000,0x0 -0x80000000000000,0x0 -0x40000000000000,0x0 diff --git a/tests/data/msr/msr_list_T2S_INTEL_ICELAKE_5.10host_5.10guest.csv b/tests/data/msr/msr_list_T2S_INTEL_ICELAKE_5.10host_5.10guest.csv deleted file mode 100644 index ca88204f029..00000000000 --- a/tests/data/msr/msr_list_T2S_INTEL_ICELAKE_5.10host_5.10guest.csv +++ /dev/null @@ -1,508 +0,0 @@ -MSR_ADDR,VALUE -0,0x0 -0x1,0x0 -0x10,0x11724c8da -0x11,0x2502008 -0x12,0x2503001 -0x17,0x0 -0x1b,0xfee00d00 -0x2a,0x0 -0x2c,0x1000000 -0x34,0x0 -0x3a,0x1 -0x3b,0x0 -0x48,0x1 -0x8b,0x100000000 -0xc1,0x0 -0xc2,0x0 -0xcd,0x3 -0xce,0x80000000 -0xfe,0x508 -0x10a,0xc080c4c -0x11e,0xbe702111 -0x140,0x0 -0x174,0x10 -0x175,0xfffffe0000003000 -0x176,0xffffffff81601450 -0x179,0x20 -0x17a,0x0 -0x186,0x0 -0x187,0x0 -0x198,0x400000003e8 -0x199,0x0 -0x1a0,0x1 -0x1d9,0x0 -0x1db,0x0 -0x1dc,0x0 -0x1dd,0x0 -0x1de,0x0 -0x1fc,0x0 -0x200,0x0 -0x201,0x0 -0x202,0x0 -0x203,0x0 -0x204,0x0 -0x205,0x0 -0x206,0x0 -0x207,0x0 -0x208,0x0 -0x209,0x0 -0x20a,0x0 -0x20b,0x0 -0x20c,0x0 -0x20d,0x0 -0x20e,0x0 -0x20f,0x0 -0x250,0x0 -0x258,0x0 -0x259,0x0 -0x268,0x0 -0x269,0x0 -0x26a,0x0 -0x26b,0x0 -0x26c,0x0 -0x26d,0x0 -0x26e,0x0 -0x26f,0x0 -0x277,0x7040600070406 -0x2ff,0x0 -0x400,0x0 -0x401,0x0 -0x402,0x0 -0x403,0x0 -0x404,0x0 -0x405,0x0 -0x406,0x0 -0x407,0x0 -0x408,0x0 -0x409,0x0 -0x40a,0x0 -0x40b,0x0 -0x40c,0x0 -0x40d,0x0 -0x40e,0x0 -0x40f,0x0 -0x410,0x0 -0x411,0x0 -0x412,0x0 -0x413,0x0 -0x414,0x0 -0x415,0x0 -0x416,0x0 -0x417,0x0 -0x418,0x0 -0x419,0x0 -0x41a,0x0 -0x41b,0x0 -0x41c,0x0 -0x41d,0x0 -0x41e,0x0 -0x41f,0x0 -0x420,0x0 -0x421,0x0 -0x422,0x0 -0x423,0x0 -0x424,0x0 -0x425,0x0 -0x426,0x0 -0x427,0x0 -0x428,0x0 -0x429,0x0 -0x42a,0x0 -0x42b,0x0 -0x42c,0x0 -0x42d,0x0 -0x42e,0x0 -0x42f,0x0 -0x430,0x0 -0x431,0x0 -0x432,0x0 -0x433,0x0 -0x434,0x0 -0x435,0x0 -0x436,0x0 -0x437,0x0 -0x438,0x0 -0x439,0x0 -0x43a,0x0 -0x43b,0x0 -0x43c,0x0 -0x43d,0x0 -0x43e,0x0 -0x43f,0x0 -0x440,0x0 -0x441,0x0 -0x442,0x0 -0x443,0x0 -0x444,0x0 -0x445,0x0 -0x446,0x0 -0x447,0x0 -0x448,0x0 -0x449,0x0 -0x44a,0x0 -0x44b,0x0 -0x44c,0x0 -0x44d,0x0 -0x44e,0x0 -0x44f,0x0 -0x450,0x0 -0x451,0x0 -0x452,0x0 -0x453,0x0 -0x454,0x0 -0x455,0x0 -0x456,0x0 -0x457,0x0 -0x458,0x0 -0x459,0x0 -0x45a,0x0 -0x45b,0x0 -0x45c,0x0 -0x45d,0x0 -0x45e,0x0 -0x45f,0x0 -0x460,0x0 -0x461,0x0 -0x462,0x0 -0x463,0x0 -0x464,0x0 -0x465,0x0 -0x466,0x0 -0x467,0x0 -0x468,0x0 -0x469,0x0 -0x46a,0x0 -0x46b,0x0 -0x46c,0x0 -0x46d,0x0 -0x46e,0x0 -0x46f,0x0 -0x470,0x0 -0x471,0x0 -0x472,0x0 -0x473,0x0 -0x474,0x0 -0x475,0x0 -0x476,0x0 -0x477,0x0 -0x478,0x0 -0x479,0x0 -0x47a,0x0 -0x47b,0x0 -0x47c,0x0 -0x47d,0x0 -0x47e,0x0 -0x47f,0x0 -0x606,0x0 -0x611,0x0 -0x619,0x0 -0x639,0x0 -0x641,0x0 -0x6e0,0x29027fb12 -0x800,0x0 -0x801,0x0 -0x802,0x0 -0x803,0x50014 -0x804,0x0 -0x805,0x0 -0x806,0x0 -0x807,0x0 -0x808,0x10 -0x809,0x0 -0x80a,0x10 -0x80b,0x0 -0x80c,0x0 -0x80d,0x1 -0x80e,0xffffffff -0x80f,0x1ff -0x810,0x0 -0x811,0x0 -0x812,0x0 -0x813,0x0 -0x814,0x0 -0x815,0x0 -0x816,0x0 -0x817,0x0 -0x818,0x0 -0x819,0x0 -0x81a,0x0 -0x81b,0x0 -0x81c,0x0 -0x81d,0x0 -0x81e,0x0 -0x81f,0x0 -0x820,0x0 -0x821,0x0 -0x822,0x0 -0x823,0x0 -0x824,0x0 -0x825,0x0 -0x826,0x0 -0x827,0x0 -0x828,0x0 -0x829,0x0 -0x82a,0x0 -0x82b,0x0 -0x82c,0x0 -0x82d,0x0 -0x82e,0x0 -0x82f,0x0 -0x830,0x0 -0x831,0x0 -0x832,0x400ec -0x833,0x10000 -0x834,0x10000 -0x835,0x10700 -0x836,0x400 -0x837,0xfe -0x838,0x0 -0x839,0x0 -0x83a,0x0 -0x83b,0x0 -0x83c,0x0 -0x83d,0x0 -0x83e,0x0 -0x83f,0x0 -0x840,0x0 -0x841,0x0 -0x842,0x0 -0x843,0x0 -0x844,0x0 -0x845,0x0 -0x846,0x0 -0x847,0x0 -0x848,0x0 -0x849,0x0 -0x84a,0x0 -0x84b,0x0 -0x84c,0x0 -0x84d,0x0 -0x84e,0x0 -0x84f,0x0 -0x850,0x0 -0x851,0x0 -0x852,0x0 -0x853,0x0 -0x854,0x0 -0x855,0x0 -0x856,0x0 -0x857,0x0 -0x858,0x0 -0x859,0x0 -0x85a,0x0 -0x85b,0x0 -0x85c,0x0 -0x85d,0x0 -0x85e,0x0 -0x85f,0x0 -0x860,0x0 -0x861,0x0 -0x862,0x0 -0x863,0x0 -0x864,0x0 -0x865,0x0 -0x866,0x0 -0x867,0x0 -0x868,0x0 -0x869,0x0 -0x86a,0x0 -0x86b,0x0 -0x86c,0x0 -0x86d,0x0 -0x86e,0x0 -0x86f,0x0 -0x870,0x0 -0x871,0x0 -0x872,0x0 -0x873,0x0 -0x874,0x0 -0x875,0x0 -0x876,0x0 -0x877,0x0 -0x878,0x0 -0x879,0x0 -0x87a,0x0 -0x87b,0x0 -0x87c,0x0 -0x87d,0x0 -0x87e,0x0 -0x87f,0x0 -0x880,0x0 -0x881,0x0 -0x882,0x0 -0x883,0x0 -0x884,0x0 -0x885,0x0 -0x886,0x0 -0x887,0x0 -0x888,0x0 -0x889,0x0 -0x88a,0x0 -0x88b,0x0 -0x88c,0x0 -0x88d,0x0 -0x88e,0x0 -0x88f,0x0 -0x890,0x0 -0x891,0x0 -0x892,0x0 -0x893,0x0 -0x894,0x0 -0x895,0x0 -0x896,0x0 -0x897,0x0 -0x898,0x0 -0x899,0x0 -0x89a,0x0 -0x89b,0x0 -0x89c,0x0 -0x89d,0x0 -0x89e,0x0 -0x89f,0x0 -0x8a0,0x0 -0x8a1,0x0 -0x8a2,0x0 -0x8a3,0x0 -0x8a4,0x0 -0x8a5,0x0 -0x8a6,0x0 -0x8a7,0x0 -0x8a8,0x0 -0x8a9,0x0 -0x8aa,0x0 -0x8ab,0x0 -0x8ac,0x0 -0x8ad,0x0 -0x8ae,0x0 -0x8af,0x0 -0x8b0,0x0 -0x8b1,0x0 -0x8b2,0x0 -0x8b3,0x0 -0x8b4,0x0 -0x8b5,0x0 -0x8b6,0x0 -0x8b7,0x0 -0x8b8,0x0 -0x8b9,0x0 -0x8ba,0x0 -0x8bb,0x0 -0x8bc,0x0 -0x8bd,0x0 -0x8be,0x0 -0x8bf,0x0 -0x8c0,0x0 -0x8c1,0x0 -0x8c2,0x0 -0x8c3,0x0 -0x8c4,0x0 -0x8c5,0x0 -0x8c6,0x0 -0x8c7,0x0 -0x8c8,0x0 -0x8c9,0x0 -0x8ca,0x0 -0x8cb,0x0 -0x8cc,0x0 -0x8cd,0x0 -0x8ce,0x0 -0x8cf,0x0 -0x8d0,0x0 -0x8d1,0x0 -0x8d2,0x0 -0x8d3,0x0 -0x8d4,0x0 -0x8d5,0x0 -0x8d6,0x0 -0x8d7,0x0 -0x8d8,0x0 -0x8d9,0x0 -0x8da,0x0 -0x8db,0x0 -0x8dc,0x0 -0x8dd,0x0 -0x8de,0x0 -0x8df,0x0 -0x8e0,0x0 -0x8e1,0x0 -0x8e2,0x0 -0x8e3,0x0 -0x8e4,0x0 -0x8e5,0x0 -0x8e6,0x0 -0x8e7,0x0 -0x8e8,0x0 -0x8e9,0x0 -0x8ea,0x0 -0x8eb,0x0 -0x8ec,0x0 -0x8ed,0x0 -0x8ee,0x0 -0x8ef,0x0 -0x8f0,0x0 -0x8f1,0x0 -0x8f2,0x0 -0x8f3,0x0 -0x8f4,0x0 -0x8f5,0x0 -0x8f6,0x0 -0x8f7,0x0 -0x8f8,0x0 -0x8f9,0x0 -0x8fa,0x0 -0x8fb,0x0 -0x8fc,0x0 -0x8fd,0x0 -0x8fe,0x0 -0x8ff,0x0 -0xc0000080,0xd01 -0xc0000081,0x23001000000000 -0xc0000082,0xffffffff81600040 -0xc0000083,0xffffffff81601500 -0xc0000084,0x47700 -0xc0000100,0x7fea39cd1740 -0xc0000101,0xffff88803ec00000 -0xc0000102,0x0 -0xc0000103,0x0 -0xc0010000,0x0 -0xc0010001,0x0 -0xc0010002,0x0 -0xc0010003,0x0 -0xc0010004,0x0 -0xc0010005,0x0 -0xc0010006,0x0 -0xc0010007,0x0 -0xc0010010,0x0 -0xc0010015,0x0 -0xc001001b,0x20000000 -0xc001001f,0x0 -0xc0010055,0x0 -0xc0010058,0x0 -0xc0010112,0x0 -0xc0010113,0x0 -0xc0010117,0x0 -0xc0010200,0x0 -0xc0010201,0x0 -0xc0010202,0x0 -0xc0010203,0x0 -0xc0010204,0x0 -0xc0010205,0x0 -0xc0010206,0x0 -0xc0010207,0x0 -0xc0010208,0x0 -0xc0010209,0x0 -0xc001020a,0x0 -0xc001020b,0x0 -0xc0011022,0x0 -0xc0011023,0x0 -0xc001102a,0x0 -0xc001102c,0x0 -0x400000000,0x0 -0x2000000000,0x0 -0x4000000000,0x0 -0x8000000000,0x0 -0x1000000000000,0x0 -0x3c000000000000,0x0 -0x80000000000000,0x0 -0x40000000000000,0x0 diff --git a/tests/data/msr/msr_list_T2S_INTEL_ICELAKE_5.10host_6.1guest.csv b/tests/data/msr/msr_list_T2S_INTEL_ICELAKE_5.10host_6.1guest.csv deleted file mode 100644 index 41446970724..00000000000 --- a/tests/data/msr/msr_list_T2S_INTEL_ICELAKE_5.10host_6.1guest.csv +++ /dev/null @@ -1,508 +0,0 @@ -MSR_ADDR,VALUE -0,0x0 -0x1,0x0 -0x10,0x11724c8da -0x11,0x2502008 -0x12,0x2503001 -0x17,0x0 -0x1b,0xfee00d00 -0x2a,0x0 -0x2c,0x1000000 -0x34,0x0 -0x3a,0x1 -0x3b,0x0 -0x48,0x1 -0x8b,0x100000000 -0xc1,0x0 -0xc2,0x0 -0xcd,0x3 -0xce,0x80000000 -0xfe,0x508 -0x10a,0xc080c4c -0x11e,0xbe702111 -0x140,0x0 -0x174,0x10 -0x175,0xfffffe0000003000 -0x176,0xffffffff81601450 -0x179,0x20 -0x17a,0x0 -0x186,0x0 -0x187,0x0 -0x198,0x400000003e8 -0x199,0x0 -0x1a0,0x1 -0x1d9,0x0 -0x1db,0x0 -0x1dc,0x0 -0x1dd,0x0 -0x1de,0x0 -0x1fc,0x0 -0x200,0x0 -0x201,0x0 -0x202,0x0 -0x203,0x0 -0x204,0x0 -0x205,0x0 -0x206,0x0 -0x207,0x0 -0x208,0x0 -0x209,0x0 -0x20a,0x0 -0x20b,0x0 -0x20c,0x0 -0x20d,0x0 -0x20e,0x0 -0x20f,0x0 -0x250,0x0 -0x258,0x0 -0x259,0x0 -0x268,0x0 -0x269,0x0 -0x26a,0x0 -0x26b,0x0 -0x26c,0x0 -0x26d,0x0 -0x26e,0x0 -0x26f,0x0 -0x277,0x7040600070406 -0x2ff,0x0 -0x400,0x0 -0x401,0x0 -0x402,0x0 -0x403,0x0 -0x404,0x0 -0x405,0x0 -0x406,0x0 -0x407,0x0 -0x408,0x0 -0x409,0x0 -0x40a,0x0 -0x40b,0x0 -0x40c,0x0 -0x40d,0x0 -0x40e,0x0 -0x40f,0x0 -0x410,0x0 -0x411,0x0 -0x412,0x0 -0x413,0x0 -0x414,0x0 -0x415,0x0 -0x416,0x0 -0x417,0x0 -0x418,0x0 -0x419,0x0 -0x41a,0x0 -0x41b,0x0 -0x41c,0x0 -0x41d,0x0 -0x41e,0x0 -0x41f,0x0 -0x420,0x0 -0x421,0x0 -0x422,0x0 -0x423,0x0 -0x424,0x0 -0x425,0x0 -0x426,0x0 -0x427,0x0 -0x428,0x0 -0x429,0x0 -0x42a,0x0 -0x42b,0x0 -0x42c,0x0 -0x42d,0x0 -0x42e,0x0 -0x42f,0x0 -0x430,0x0 -0x431,0x0 -0x432,0x0 -0x433,0x0 -0x434,0x0 -0x435,0x0 -0x436,0x0 -0x437,0x0 -0x438,0x0 -0x439,0x0 -0x43a,0x0 -0x43b,0x0 -0x43c,0x0 -0x43d,0x0 -0x43e,0x0 -0x43f,0x0 -0x440,0x0 -0x441,0x0 -0x442,0x0 -0x443,0x0 -0x444,0x0 -0x445,0x0 -0x446,0x0 -0x447,0x0 -0x448,0x0 -0x449,0x0 -0x44a,0x0 -0x44b,0x0 -0x44c,0x0 -0x44d,0x0 -0x44e,0x0 -0x44f,0x0 -0x450,0x0 -0x451,0x0 -0x452,0x0 -0x453,0x0 -0x454,0x0 -0x455,0x0 -0x456,0x0 -0x457,0x0 -0x458,0x0 -0x459,0x0 -0x45a,0x0 -0x45b,0x0 -0x45c,0x0 -0x45d,0x0 -0x45e,0x0 -0x45f,0x0 -0x460,0x0 -0x461,0x0 -0x462,0x0 -0x463,0x0 -0x464,0x0 -0x465,0x0 -0x466,0x0 -0x467,0x0 -0x468,0x0 -0x469,0x0 -0x46a,0x0 -0x46b,0x0 -0x46c,0x0 -0x46d,0x0 -0x46e,0x0 -0x46f,0x0 -0x470,0x0 -0x471,0x0 -0x472,0x0 -0x473,0x0 -0x474,0x0 -0x475,0x0 -0x476,0x0 -0x477,0x0 -0x478,0x0 -0x479,0x0 -0x47a,0x0 -0x47b,0x0 -0x47c,0x0 -0x47d,0x0 -0x47e,0x0 -0x47f,0x0 -0x606,0x0 -0x611,0x0 -0x619,0x0 -0x639,0x0 -0x641,0x0 -0x6e0,0x29027fb12 -0x800,0x0 -0x801,0x0 -0x802,0x0 -0x803,0x50014 -0x804,0x0 -0x805,0x0 -0x806,0x0 -0x807,0x0 -0x808,0x10 -0x809,0x0 -0x80a,0x10 -0x80b,0x0 -0x80c,0x0 -0x80d,0x1 -0x80e,0xffffffff -0x80f,0x1ff -0x810,0x0 -0x811,0x0 -0x812,0x0 -0x813,0x0 -0x814,0x0 -0x815,0x0 -0x816,0x0 -0x817,0x0 -0x818,0x0 -0x819,0x0 -0x81a,0x0 -0x81b,0x0 -0x81c,0x0 -0x81d,0x0 -0x81e,0x0 -0x81f,0x0 -0x820,0x0 -0x821,0x0 -0x822,0x0 -0x823,0x0 -0x824,0x0 -0x825,0x0 -0x826,0x0 -0x827,0x0 -0x828,0x0 -0x829,0x0 -0x82a,0x0 -0x82b,0x0 -0x82c,0x0 -0x82d,0x0 -0x82e,0x0 -0x82f,0x0 -0x830,0x0 -0x831,0x0 -0x832,0x400ec -0x833,0x10000 -0x834,0x10000 -0x835,0x10700 -0x836,0x400 -0x837,0xfe -0x838,0x0 -0x839,0x0 -0x83a,0x0 -0x83b,0x0 -0x83c,0x0 -0x83d,0x0 -0x83e,0x0 -0x83f,0x0 -0x840,0x0 -0x841,0x0 -0x842,0x0 -0x843,0x0 -0x844,0x0 -0x845,0x0 -0x846,0x0 -0x847,0x0 -0x848,0x0 -0x849,0x0 -0x84a,0x0 -0x84b,0x0 -0x84c,0x0 -0x84d,0x0 -0x84e,0x0 -0x84f,0x0 -0x850,0x0 -0x851,0x0 -0x852,0x0 -0x853,0x0 -0x854,0x0 -0x855,0x0 -0x856,0x0 -0x857,0x0 -0x858,0x0 -0x859,0x0 -0x85a,0x0 -0x85b,0x0 -0x85c,0x0 -0x85d,0x0 -0x85e,0x0 -0x85f,0x0 -0x860,0x0 -0x861,0x0 -0x862,0x0 -0x863,0x0 -0x864,0x0 -0x865,0x0 -0x866,0x0 -0x867,0x0 -0x868,0x0 -0x869,0x0 -0x86a,0x0 -0x86b,0x0 -0x86c,0x0 -0x86d,0x0 -0x86e,0x0 -0x86f,0x0 -0x870,0x0 -0x871,0x0 -0x872,0x0 -0x873,0x0 -0x874,0x0 -0x875,0x0 -0x876,0x0 -0x877,0x0 -0x878,0x0 -0x879,0x0 -0x87a,0x0 -0x87b,0x0 -0x87c,0x0 -0x87d,0x0 -0x87e,0x0 -0x87f,0x0 -0x880,0x0 -0x881,0x0 -0x882,0x0 -0x883,0x0 -0x884,0x0 -0x885,0x0 -0x886,0x0 -0x887,0x0 -0x888,0x0 -0x889,0x0 -0x88a,0x0 -0x88b,0x0 -0x88c,0x0 -0x88d,0x0 -0x88e,0x0 -0x88f,0x0 -0x890,0x0 -0x891,0x0 -0x892,0x0 -0x893,0x0 -0x894,0x0 -0x895,0x0 -0x896,0x0 -0x897,0x0 -0x898,0x0 -0x899,0x0 -0x89a,0x0 -0x89b,0x0 -0x89c,0x0 -0x89d,0x0 -0x89e,0x0 -0x89f,0x0 -0x8a0,0x0 -0x8a1,0x0 -0x8a2,0x0 -0x8a3,0x0 -0x8a4,0x0 -0x8a5,0x0 -0x8a6,0x0 -0x8a7,0x0 -0x8a8,0x0 -0x8a9,0x0 -0x8aa,0x0 -0x8ab,0x0 -0x8ac,0x0 -0x8ad,0x0 -0x8ae,0x0 -0x8af,0x0 -0x8b0,0x0 -0x8b1,0x0 -0x8b2,0x0 -0x8b3,0x0 -0x8b4,0x0 -0x8b5,0x0 -0x8b6,0x0 -0x8b7,0x0 -0x8b8,0x0 -0x8b9,0x0 -0x8ba,0x0 -0x8bb,0x0 -0x8bc,0x0 -0x8bd,0x0 -0x8be,0x0 -0x8bf,0x0 -0x8c0,0x0 -0x8c1,0x0 -0x8c2,0x0 -0x8c3,0x0 -0x8c4,0x0 -0x8c5,0x0 -0x8c6,0x0 -0x8c7,0x0 -0x8c8,0x0 -0x8c9,0x0 -0x8ca,0x0 -0x8cb,0x0 -0x8cc,0x0 -0x8cd,0x0 -0x8ce,0x0 -0x8cf,0x0 -0x8d0,0x0 -0x8d1,0x0 -0x8d2,0x0 -0x8d3,0x0 -0x8d4,0x0 -0x8d5,0x0 -0x8d6,0x0 -0x8d7,0x0 -0x8d8,0x0 -0x8d9,0x0 -0x8da,0x0 -0x8db,0x0 -0x8dc,0x0 -0x8dd,0x0 -0x8de,0x0 -0x8df,0x0 -0x8e0,0x0 -0x8e1,0x0 -0x8e2,0x0 -0x8e3,0x0 -0x8e4,0x0 -0x8e5,0x0 -0x8e6,0x0 -0x8e7,0x0 -0x8e8,0x0 -0x8e9,0x0 -0x8ea,0x0 -0x8eb,0x0 -0x8ec,0x0 -0x8ed,0x0 -0x8ee,0x0 -0x8ef,0x0 -0x8f0,0x0 -0x8f1,0x0 -0x8f2,0x0 -0x8f3,0x0 -0x8f4,0x0 -0x8f5,0x0 -0x8f6,0x0 -0x8f7,0x0 -0x8f8,0x0 -0x8f9,0x0 -0x8fa,0x0 -0x8fb,0x0 -0x8fc,0x0 -0x8fd,0x0 -0x8fe,0x0 -0x8ff,0x0 -0xc0000080,0xd01 -0xc0000081,0x23001000000000 -0xc0000082,0xffffffff81600040 -0xc0000083,0xffffffff81601500 -0xc0000084,0x257fd5 -0xc0000100,0x7fea39cd1740 -0xc0000101,0xffff88803ec00000 -0xc0000102,0x0 -0xc0000103,0x0 -0xc0010000,0x0 -0xc0010001,0x0 -0xc0010002,0x0 -0xc0010003,0x0 -0xc0010004,0x0 -0xc0010005,0x0 -0xc0010006,0x0 -0xc0010007,0x0 -0xc0010010,0x0 -0xc0010015,0x0 -0xc001001b,0x20000000 -0xc001001f,0x0 -0xc0010055,0x0 -0xc0010058,0x0 -0xc0010112,0x0 -0xc0010113,0x0 -0xc0010117,0x0 -0xc0010200,0x0 -0xc0010201,0x0 -0xc0010202,0x0 -0xc0010203,0x0 -0xc0010204,0x0 -0xc0010205,0x0 -0xc0010206,0x0 -0xc0010207,0x0 -0xc0010208,0x0 -0xc0010209,0x0 -0xc001020a,0x0 -0xc001020b,0x0 -0xc0011022,0x0 -0xc0011023,0x0 -0xc001102a,0x0 -0xc001102c,0x0 -0x400000000,0x0 -0x2000000000,0x0 -0x4000000000,0x0 -0x8000000000,0x0 -0x1000000000000,0x0 -0x3c000000000000,0x0 -0x80000000000000,0x0 -0x40000000000000,0x0 diff --git a/tests/data/msr/msr_list_T2S_INTEL_ICELAKE_6.1host_5.10guest.csv b/tests/data/msr/msr_list_T2S_INTEL_ICELAKE_6.1host_5.10guest.csv deleted file mode 100644 index b4c4280fd88..00000000000 --- a/tests/data/msr/msr_list_T2S_INTEL_ICELAKE_6.1host_5.10guest.csv +++ /dev/null @@ -1,496 +0,0 @@ -MSR_ADDR,VALUE -0,0x0 -0x1,0x0 -0x10,0x1198ebe02 -0x11,0x2502008 -0x12,0x2503001 -0x17,0x0 -0x1b,0xfee00d00 -0x2a,0x0 -0x2c,0x1000000 -0x34,0x0 -0x3a,0x1 -0x3b,0x0 -0x48,0x1 -0x8b,0x100000000 -0xc1,0x0 -0xc2,0x0 -0xcd,0x3 -0xce,0x80000000 -0xfe,0x508 -0x10a,0xc080c4c -0x11e,0xbe702111 -0x140,0x0 -0x174,0x10 -0x175,0xfffffe0000003000 -0x176,0xffffffff81601450 -0x179,0x20 -0x17a,0x0 -0x186,0x0 -0x187,0x0 -0x198,0x400000003e8 -0x199,0x0 -0x1a0,0x1 -0x1d9,0x0 -0x1db,0x0 -0x1dc,0x0 -0x1dd,0x0 -0x1de,0x0 -0x1fc,0x0 -0x200,0x0 -0x201,0x0 -0x202,0x0 -0x203,0x0 -0x204,0x0 -0x205,0x0 -0x206,0x0 -0x207,0x0 -0x208,0x0 -0x209,0x0 -0x20a,0x0 -0x20b,0x0 -0x20c,0x0 -0x20d,0x0 -0x20e,0x0 -0x20f,0x0 -0x250,0x0 -0x258,0x0 -0x259,0x0 -0x268,0x0 -0x269,0x0 -0x26a,0x0 -0x26b,0x0 -0x26c,0x0 -0x26d,0x0 -0x26e,0x0 -0x26f,0x0 -0x277,0x7040600070406 -0x2ff,0x0 -0x400,0x0 -0x401,0x0 -0x402,0x0 -0x403,0x0 -0x404,0x0 -0x405,0x0 -0x406,0x0 -0x407,0x0 -0x408,0x0 -0x409,0x0 -0x40a,0x0 -0x40b,0x0 -0x40c,0x0 -0x40d,0x0 -0x40e,0x0 -0x40f,0x0 -0x410,0x0 -0x411,0x0 -0x412,0x0 -0x413,0x0 -0x414,0x0 -0x415,0x0 -0x416,0x0 -0x417,0x0 -0x418,0x0 -0x419,0x0 -0x41a,0x0 -0x41b,0x0 -0x41c,0x0 -0x41d,0x0 -0x41e,0x0 -0x41f,0x0 -0x420,0x0 -0x421,0x0 -0x422,0x0 -0x423,0x0 -0x424,0x0 -0x425,0x0 -0x426,0x0 -0x427,0x0 -0x428,0x0 -0x429,0x0 -0x42a,0x0 -0x42b,0x0 -0x42c,0x0 -0x42d,0x0 -0x42e,0x0 -0x42f,0x0 -0x430,0x0 -0x431,0x0 -0x432,0x0 -0x433,0x0 -0x434,0x0 -0x435,0x0 -0x436,0x0 -0x437,0x0 -0x438,0x0 -0x439,0x0 -0x43a,0x0 -0x43b,0x0 -0x43c,0x0 -0x43d,0x0 -0x43e,0x0 -0x43f,0x0 -0x440,0x0 -0x441,0x0 -0x442,0x0 -0x443,0x0 -0x444,0x0 -0x445,0x0 -0x446,0x0 -0x447,0x0 -0x448,0x0 -0x449,0x0 -0x44a,0x0 -0x44b,0x0 -0x44c,0x0 -0x44d,0x0 -0x44e,0x0 -0x44f,0x0 -0x450,0x0 -0x451,0x0 -0x452,0x0 -0x453,0x0 -0x454,0x0 -0x455,0x0 -0x456,0x0 -0x457,0x0 -0x458,0x0 -0x459,0x0 -0x45a,0x0 -0x45b,0x0 -0x45c,0x0 -0x45d,0x0 -0x45e,0x0 -0x45f,0x0 -0x460,0x0 -0x461,0x0 -0x462,0x0 -0x463,0x0 -0x464,0x0 -0x465,0x0 -0x466,0x0 -0x467,0x0 -0x468,0x0 -0x469,0x0 -0x46a,0x0 -0x46b,0x0 -0x46c,0x0 -0x46d,0x0 -0x46e,0x0 -0x46f,0x0 -0x470,0x0 -0x471,0x0 -0x472,0x0 -0x473,0x0 -0x474,0x0 -0x475,0x0 -0x476,0x0 -0x477,0x0 -0x478,0x0 -0x479,0x0 -0x47a,0x0 -0x47b,0x0 -0x47c,0x0 -0x47d,0x0 -0x47e,0x0 -0x47f,0x0 -0x606,0x0 -0x611,0x0 -0x619,0x0 -0x639,0x0 -0x641,0x0 -0x6e0,0x28fee0674 -0x800,0x0 -0x801,0x0 -0x802,0x0 -0x803,0x50014 -0x804,0x0 -0x805,0x0 -0x806,0x0 -0x807,0x0 -0x808,0x10 -0x809,0x0 -0x80a,0x10 -0x80b,0x0 -0x80c,0x0 -0x80d,0x1 -0x80e,0xffffffff -0x80f,0x1ff -0x810,0x0 -0x811,0x0 -0x812,0x0 -0x813,0x0 -0x814,0x0 -0x815,0x0 -0x816,0x0 -0x817,0x0 -0x818,0x0 -0x819,0x0 -0x81a,0x0 -0x81b,0x0 -0x81c,0x0 -0x81d,0x0 -0x81e,0x0 -0x81f,0x0 -0x820,0x0 -0x821,0x0 -0x822,0x0 -0x823,0x0 -0x824,0x0 -0x825,0x0 -0x826,0x0 -0x827,0x0 -0x828,0x0 -0x829,0x0 -0x82a,0x0 -0x82b,0x0 -0x82c,0x0 -0x82d,0x0 -0x82e,0x0 -0x82f,0x0 -0x830,0x0 -0x831,0x0 -0x832,0x400ec -0x833,0x10000 -0x834,0x10000 -0x835,0x10700 -0x836,0x400 -0x837,0xfe -0x838,0x0 -0x839,0x0 -0x83a,0x0 -0x83b,0x0 -0x83c,0x0 -0x83d,0x0 -0x83e,0x0 -0x83f,0x0 -0x840,0x0 -0x841,0x0 -0x842,0x0 -0x843,0x0 -0x844,0x0 -0x845,0x0 -0x846,0x0 -0x847,0x0 -0x848,0x0 -0x849,0x0 -0x84a,0x0 -0x84b,0x0 -0x84c,0x0 -0x84d,0x0 -0x84e,0x0 -0x84f,0x0 -0x850,0x0 -0x851,0x0 -0x852,0x0 -0x853,0x0 -0x854,0x0 -0x855,0x0 -0x856,0x0 -0x857,0x0 -0x858,0x0 -0x859,0x0 -0x85a,0x0 -0x85b,0x0 -0x85c,0x0 -0x85d,0x0 -0x85e,0x0 -0x85f,0x0 -0x860,0x0 -0x861,0x0 -0x862,0x0 -0x863,0x0 -0x864,0x0 -0x865,0x0 -0x866,0x0 -0x867,0x0 -0x868,0x0 -0x869,0x0 -0x86a,0x0 -0x86b,0x0 -0x86c,0x0 -0x86d,0x0 -0x86e,0x0 -0x86f,0x0 -0x870,0x0 -0x871,0x0 -0x872,0x0 -0x873,0x0 -0x874,0x0 -0x875,0x0 -0x876,0x0 -0x877,0x0 -0x878,0x0 -0x879,0x0 -0x87a,0x0 -0x87b,0x0 -0x87c,0x0 -0x87d,0x0 -0x87e,0x0 -0x87f,0x0 -0x880,0x0 -0x881,0x0 -0x882,0x0 -0x883,0x0 -0x884,0x0 -0x885,0x0 -0x886,0x0 -0x887,0x0 -0x888,0x0 -0x889,0x0 -0x88a,0x0 -0x88b,0x0 -0x88c,0x0 -0x88d,0x0 -0x88e,0x0 -0x88f,0x0 -0x890,0x0 -0x891,0x0 -0x892,0x0 -0x893,0x0 -0x894,0x0 -0x895,0x0 -0x896,0x0 -0x897,0x0 -0x898,0x0 -0x899,0x0 -0x89a,0x0 -0x89b,0x0 -0x89c,0x0 -0x89d,0x0 -0x89e,0x0 -0x89f,0x0 -0x8a0,0x0 -0x8a1,0x0 -0x8a2,0x0 -0x8a3,0x0 -0x8a4,0x0 -0x8a5,0x0 -0x8a6,0x0 -0x8a7,0x0 -0x8a8,0x0 -0x8a9,0x0 -0x8aa,0x0 -0x8ab,0x0 -0x8ac,0x0 -0x8ad,0x0 -0x8ae,0x0 -0x8af,0x0 -0x8b0,0x0 -0x8b1,0x0 -0x8b2,0x0 -0x8b3,0x0 -0x8b4,0x0 -0x8b5,0x0 -0x8b6,0x0 -0x8b7,0x0 -0x8b8,0x0 -0x8b9,0x0 -0x8ba,0x0 -0x8bb,0x0 -0x8bc,0x0 -0x8bd,0x0 -0x8be,0x0 -0x8bf,0x0 -0x8c0,0x0 -0x8c1,0x0 -0x8c2,0x0 -0x8c3,0x0 -0x8c4,0x0 -0x8c5,0x0 -0x8c6,0x0 -0x8c7,0x0 -0x8c8,0x0 -0x8c9,0x0 -0x8ca,0x0 -0x8cb,0x0 -0x8cc,0x0 -0x8cd,0x0 -0x8ce,0x0 -0x8cf,0x0 -0x8d0,0x0 -0x8d1,0x0 -0x8d2,0x0 -0x8d3,0x0 -0x8d4,0x0 -0x8d5,0x0 -0x8d6,0x0 -0x8d7,0x0 -0x8d8,0x0 -0x8d9,0x0 -0x8da,0x0 -0x8db,0x0 -0x8dc,0x0 -0x8dd,0x0 -0x8de,0x0 -0x8df,0x0 -0x8e0,0x0 -0x8e1,0x0 -0x8e2,0x0 -0x8e3,0x0 -0x8e4,0x0 -0x8e5,0x0 -0x8e6,0x0 -0x8e7,0x0 -0x8e8,0x0 -0x8e9,0x0 -0x8ea,0x0 -0x8eb,0x0 -0x8ec,0x0 -0x8ed,0x0 -0x8ee,0x0 -0x8ef,0x0 -0x8f0,0x0 -0x8f1,0x0 -0x8f2,0x0 -0x8f3,0x0 -0x8f4,0x0 -0x8f5,0x0 -0x8f6,0x0 -0x8f7,0x0 -0x8f8,0x0 -0x8f9,0x0 -0x8fa,0x0 -0x8fb,0x0 -0x8fc,0x0 -0x8fd,0x0 -0x8fe,0x0 -0x8ff,0x0 -0xc0000080,0xd01 -0xc0000081,0x23001000000000 -0xc0000082,0xffffffff81600040 -0xc0000083,0xffffffff81601500 -0xc0000084,0x47700 -0xc0000100,0x7f1666205740 -0xc0000101,0xffff88803ec00000 -0xc0000102,0x0 -0xc0000103,0x0 -0xc0010000,0x0 -0xc0010001,0x0 -0xc0010002,0x0 -0xc0010003,0x0 -0xc0010004,0x0 -0xc0010005,0x0 -0xc0010006,0x0 -0xc0010007,0x0 -0xc0010010,0x0 -0xc0010015,0x0 -0xc001001b,0x20000000 -0xc001001f,0x0 -0xc0010055,0x0 -0xc0010058,0x0 -0xc0010112,0x0 -0xc0010113,0x0 -0xc0010117,0x0 -0xc0011022,0x0 -0xc0011023,0x0 -0xc001102a,0x0 -0xc001102c,0x0 -0x400000000,0x0 -0x2000000000,0x0 -0x4000000000,0x0 -0x8000000000,0x0 -0x1000000000000,0x0 -0x3c000000000000,0x0 -0x80000000000000,0x0 -0x40000000000000,0x0 diff --git a/tests/data/msr/msr_list_T2S_INTEL_ICELAKE_6.1host_6.1guest.csv b/tests/data/msr/msr_list_T2S_INTEL_ICELAKE_6.1host_6.1guest.csv deleted file mode 100644 index 44cb01c9b6f..00000000000 --- a/tests/data/msr/msr_list_T2S_INTEL_ICELAKE_6.1host_6.1guest.csv +++ /dev/null @@ -1,496 +0,0 @@ -MSR_ADDR,VALUE -0,0x0 -0x1,0x0 -0x10,0x1198ebe02 -0x11,0x2502008 -0x12,0x2503001 -0x17,0x0 -0x1b,0xfee00d00 -0x2a,0x0 -0x2c,0x1000000 -0x34,0x0 -0x3a,0x1 -0x3b,0x0 -0x48,0x1 -0x8b,0x100000000 -0xc1,0x0 -0xc2,0x0 -0xcd,0x3 -0xce,0x80000000 -0xfe,0x508 -0x10a,0xc080c4c -0x11e,0xbe702111 -0x140,0x0 -0x174,0x10 -0x175,0xfffffe0000003000 -0x176,0xffffffff81601450 -0x179,0x20 -0x17a,0x0 -0x186,0x0 -0x187,0x0 -0x198,0x400000003e8 -0x199,0x0 -0x1a0,0x1 -0x1d9,0x0 -0x1db,0x0 -0x1dc,0x0 -0x1dd,0x0 -0x1de,0x0 -0x1fc,0x0 -0x200,0x0 -0x201,0x0 -0x202,0x0 -0x203,0x0 -0x204,0x0 -0x205,0x0 -0x206,0x0 -0x207,0x0 -0x208,0x0 -0x209,0x0 -0x20a,0x0 -0x20b,0x0 -0x20c,0x0 -0x20d,0x0 -0x20e,0x0 -0x20f,0x0 -0x250,0x0 -0x258,0x0 -0x259,0x0 -0x268,0x0 -0x269,0x0 -0x26a,0x0 -0x26b,0x0 -0x26c,0x0 -0x26d,0x0 -0x26e,0x0 -0x26f,0x0 -0x277,0x7040600070406 -0x2ff,0x0 -0x400,0x0 -0x401,0x0 -0x402,0x0 -0x403,0x0 -0x404,0x0 -0x405,0x0 -0x406,0x0 -0x407,0x0 -0x408,0x0 -0x409,0x0 -0x40a,0x0 -0x40b,0x0 -0x40c,0x0 -0x40d,0x0 -0x40e,0x0 -0x40f,0x0 -0x410,0x0 -0x411,0x0 -0x412,0x0 -0x413,0x0 -0x414,0x0 -0x415,0x0 -0x416,0x0 -0x417,0x0 -0x418,0x0 -0x419,0x0 -0x41a,0x0 -0x41b,0x0 -0x41c,0x0 -0x41d,0x0 -0x41e,0x0 -0x41f,0x0 -0x420,0x0 -0x421,0x0 -0x422,0x0 -0x423,0x0 -0x424,0x0 -0x425,0x0 -0x426,0x0 -0x427,0x0 -0x428,0x0 -0x429,0x0 -0x42a,0x0 -0x42b,0x0 -0x42c,0x0 -0x42d,0x0 -0x42e,0x0 -0x42f,0x0 -0x430,0x0 -0x431,0x0 -0x432,0x0 -0x433,0x0 -0x434,0x0 -0x435,0x0 -0x436,0x0 -0x437,0x0 -0x438,0x0 -0x439,0x0 -0x43a,0x0 -0x43b,0x0 -0x43c,0x0 -0x43d,0x0 -0x43e,0x0 -0x43f,0x0 -0x440,0x0 -0x441,0x0 -0x442,0x0 -0x443,0x0 -0x444,0x0 -0x445,0x0 -0x446,0x0 -0x447,0x0 -0x448,0x0 -0x449,0x0 -0x44a,0x0 -0x44b,0x0 -0x44c,0x0 -0x44d,0x0 -0x44e,0x0 -0x44f,0x0 -0x450,0x0 -0x451,0x0 -0x452,0x0 -0x453,0x0 -0x454,0x0 -0x455,0x0 -0x456,0x0 -0x457,0x0 -0x458,0x0 -0x459,0x0 -0x45a,0x0 -0x45b,0x0 -0x45c,0x0 -0x45d,0x0 -0x45e,0x0 -0x45f,0x0 -0x460,0x0 -0x461,0x0 -0x462,0x0 -0x463,0x0 -0x464,0x0 -0x465,0x0 -0x466,0x0 -0x467,0x0 -0x468,0x0 -0x469,0x0 -0x46a,0x0 -0x46b,0x0 -0x46c,0x0 -0x46d,0x0 -0x46e,0x0 -0x46f,0x0 -0x470,0x0 -0x471,0x0 -0x472,0x0 -0x473,0x0 -0x474,0x0 -0x475,0x0 -0x476,0x0 -0x477,0x0 -0x478,0x0 -0x479,0x0 -0x47a,0x0 -0x47b,0x0 -0x47c,0x0 -0x47d,0x0 -0x47e,0x0 -0x47f,0x0 -0x606,0x0 -0x611,0x0 -0x619,0x0 -0x639,0x0 -0x641,0x0 -0x6e0,0x28fee0674 -0x800,0x0 -0x801,0x0 -0x802,0x0 -0x803,0x50014 -0x804,0x0 -0x805,0x0 -0x806,0x0 -0x807,0x0 -0x808,0x10 -0x809,0x0 -0x80a,0x10 -0x80b,0x0 -0x80c,0x0 -0x80d,0x1 -0x80e,0xffffffff -0x80f,0x1ff -0x810,0x0 -0x811,0x0 -0x812,0x0 -0x813,0x0 -0x814,0x0 -0x815,0x0 -0x816,0x0 -0x817,0x0 -0x818,0x0 -0x819,0x0 -0x81a,0x0 -0x81b,0x0 -0x81c,0x0 -0x81d,0x0 -0x81e,0x0 -0x81f,0x0 -0x820,0x0 -0x821,0x0 -0x822,0x0 -0x823,0x0 -0x824,0x0 -0x825,0x0 -0x826,0x0 -0x827,0x0 -0x828,0x0 -0x829,0x0 -0x82a,0x0 -0x82b,0x0 -0x82c,0x0 -0x82d,0x0 -0x82e,0x0 -0x82f,0x0 -0x830,0x0 -0x831,0x0 -0x832,0x400ec -0x833,0x10000 -0x834,0x10000 -0x835,0x10700 -0x836,0x400 -0x837,0xfe -0x838,0x0 -0x839,0x0 -0x83a,0x0 -0x83b,0x0 -0x83c,0x0 -0x83d,0x0 -0x83e,0x0 -0x83f,0x0 -0x840,0x0 -0x841,0x0 -0x842,0x0 -0x843,0x0 -0x844,0x0 -0x845,0x0 -0x846,0x0 -0x847,0x0 -0x848,0x0 -0x849,0x0 -0x84a,0x0 -0x84b,0x0 -0x84c,0x0 -0x84d,0x0 -0x84e,0x0 -0x84f,0x0 -0x850,0x0 -0x851,0x0 -0x852,0x0 -0x853,0x0 -0x854,0x0 -0x855,0x0 -0x856,0x0 -0x857,0x0 -0x858,0x0 -0x859,0x0 -0x85a,0x0 -0x85b,0x0 -0x85c,0x0 -0x85d,0x0 -0x85e,0x0 -0x85f,0x0 -0x860,0x0 -0x861,0x0 -0x862,0x0 -0x863,0x0 -0x864,0x0 -0x865,0x0 -0x866,0x0 -0x867,0x0 -0x868,0x0 -0x869,0x0 -0x86a,0x0 -0x86b,0x0 -0x86c,0x0 -0x86d,0x0 -0x86e,0x0 -0x86f,0x0 -0x870,0x0 -0x871,0x0 -0x872,0x0 -0x873,0x0 -0x874,0x0 -0x875,0x0 -0x876,0x0 -0x877,0x0 -0x878,0x0 -0x879,0x0 -0x87a,0x0 -0x87b,0x0 -0x87c,0x0 -0x87d,0x0 -0x87e,0x0 -0x87f,0x0 -0x880,0x0 -0x881,0x0 -0x882,0x0 -0x883,0x0 -0x884,0x0 -0x885,0x0 -0x886,0x0 -0x887,0x0 -0x888,0x0 -0x889,0x0 -0x88a,0x0 -0x88b,0x0 -0x88c,0x0 -0x88d,0x0 -0x88e,0x0 -0x88f,0x0 -0x890,0x0 -0x891,0x0 -0x892,0x0 -0x893,0x0 -0x894,0x0 -0x895,0x0 -0x896,0x0 -0x897,0x0 -0x898,0x0 -0x899,0x0 -0x89a,0x0 -0x89b,0x0 -0x89c,0x0 -0x89d,0x0 -0x89e,0x0 -0x89f,0x0 -0x8a0,0x0 -0x8a1,0x0 -0x8a2,0x0 -0x8a3,0x0 -0x8a4,0x0 -0x8a5,0x0 -0x8a6,0x0 -0x8a7,0x0 -0x8a8,0x0 -0x8a9,0x0 -0x8aa,0x0 -0x8ab,0x0 -0x8ac,0x0 -0x8ad,0x0 -0x8ae,0x0 -0x8af,0x0 -0x8b0,0x0 -0x8b1,0x0 -0x8b2,0x0 -0x8b3,0x0 -0x8b4,0x0 -0x8b5,0x0 -0x8b6,0x0 -0x8b7,0x0 -0x8b8,0x0 -0x8b9,0x0 -0x8ba,0x0 -0x8bb,0x0 -0x8bc,0x0 -0x8bd,0x0 -0x8be,0x0 -0x8bf,0x0 -0x8c0,0x0 -0x8c1,0x0 -0x8c2,0x0 -0x8c3,0x0 -0x8c4,0x0 -0x8c5,0x0 -0x8c6,0x0 -0x8c7,0x0 -0x8c8,0x0 -0x8c9,0x0 -0x8ca,0x0 -0x8cb,0x0 -0x8cc,0x0 -0x8cd,0x0 -0x8ce,0x0 -0x8cf,0x0 -0x8d0,0x0 -0x8d1,0x0 -0x8d2,0x0 -0x8d3,0x0 -0x8d4,0x0 -0x8d5,0x0 -0x8d6,0x0 -0x8d7,0x0 -0x8d8,0x0 -0x8d9,0x0 -0x8da,0x0 -0x8db,0x0 -0x8dc,0x0 -0x8dd,0x0 -0x8de,0x0 -0x8df,0x0 -0x8e0,0x0 -0x8e1,0x0 -0x8e2,0x0 -0x8e3,0x0 -0x8e4,0x0 -0x8e5,0x0 -0x8e6,0x0 -0x8e7,0x0 -0x8e8,0x0 -0x8e9,0x0 -0x8ea,0x0 -0x8eb,0x0 -0x8ec,0x0 -0x8ed,0x0 -0x8ee,0x0 -0x8ef,0x0 -0x8f0,0x0 -0x8f1,0x0 -0x8f2,0x0 -0x8f3,0x0 -0x8f4,0x0 -0x8f5,0x0 -0x8f6,0x0 -0x8f7,0x0 -0x8f8,0x0 -0x8f9,0x0 -0x8fa,0x0 -0x8fb,0x0 -0x8fc,0x0 -0x8fd,0x0 -0x8fe,0x0 -0x8ff,0x0 -0xc0000080,0xd01 -0xc0000081,0x23001000000000 -0xc0000082,0xffffffff81600040 -0xc0000083,0xffffffff81601500 -0xc0000084,0x257fd5 -0xc0000100,0x7f1666205740 -0xc0000101,0xffff88803ec00000 -0xc0000102,0x0 -0xc0000103,0x0 -0xc0010000,0x0 -0xc0010001,0x0 -0xc0010002,0x0 -0xc0010003,0x0 -0xc0010004,0x0 -0xc0010005,0x0 -0xc0010006,0x0 -0xc0010007,0x0 -0xc0010010,0x0 -0xc0010015,0x0 -0xc001001b,0x20000000 -0xc001001f,0x0 -0xc0010055,0x0 -0xc0010058,0x0 -0xc0010112,0x0 -0xc0010113,0x0 -0xc0010117,0x0 -0xc0011022,0x0 -0xc0011023,0x0 -0xc001102a,0x0 -0xc001102c,0x0 -0x400000000,0x0 -0x2000000000,0x0 -0x4000000000,0x0 -0x8000000000,0x0 -0x1000000000000,0x0 -0x3c000000000000,0x0 -0x80000000000000,0x0 -0x40000000000000,0x0 From c8848a4a1f7b3a7dd72285fa73f96079a42d32d5 Mon Sep 17 00:00:00 2001 From: Takahiro Itazuri Date: Thu, 3 Apr 2025 15:46:28 +0000 Subject: [PATCH 3/3] chore: Rename dir name for custom CPU templates At that time of creating the directory, there are only custom CPU templates corresponding to static CPU templates. But now there is a CPU template that doesn't have a corresponding static CPU template (i.e. aarch64_with_sve_and_pac.json), there is no longer sense to name the dir "static_cpu_templates". Signed-off-by: Takahiro Itazuri --- src/vmm/src/cpu_config/test_utils.rs | 2 +- .../aarch64_with_sve_and_pac.json | 0 .../data/{static_cpu_templates => custom_cpu_templates}/c3.json | 0 .../data/{static_cpu_templates => custom_cpu_templates}/t2.json | 0 .../{static_cpu_templates => custom_cpu_templates}/t2a.json | 0 .../{static_cpu_templates => custom_cpu_templates}/t2cl.json | 0 .../{static_cpu_templates => custom_cpu_templates}/t2s.json | 0 .../{static_cpu_templates => custom_cpu_templates}/v1n1.json | 0 tests/framework/utils_cpu_templates.py | 2 +- tools/gh_release.py | 2 +- tools/release.sh | 2 +- 11 files changed, 4 insertions(+), 4 deletions(-) rename tests/data/{static_cpu_templates => custom_cpu_templates}/aarch64_with_sve_and_pac.json (100%) rename tests/data/{static_cpu_templates => custom_cpu_templates}/c3.json (100%) rename tests/data/{static_cpu_templates => custom_cpu_templates}/t2.json (100%) rename tests/data/{static_cpu_templates => custom_cpu_templates}/t2a.json (100%) rename tests/data/{static_cpu_templates => custom_cpu_templates}/t2cl.json (100%) rename tests/data/{static_cpu_templates => custom_cpu_templates}/t2s.json (100%) rename tests/data/{static_cpu_templates => custom_cpu_templates}/v1n1.json (100%) diff --git a/src/vmm/src/cpu_config/test_utils.rs b/src/vmm/src/cpu_config/test_utils.rs index 197c0c62cf6..7ae43114946 100644 --- a/src/vmm/src/cpu_config/test_utils.rs +++ b/src/vmm/src/cpu_config/test_utils.rs @@ -9,7 +9,7 @@ use crate::cpu_config::templates::CustomCpuTemplate; pub fn get_json_template(filename: &str) -> CustomCpuTemplate { let json_path = [ env!("CARGO_MANIFEST_DIR"), - "../../tests/data/static_cpu_templates", + "../../tests/data/custom_cpu_templates", filename, ] .iter() diff --git a/tests/data/static_cpu_templates/aarch64_with_sve_and_pac.json b/tests/data/custom_cpu_templates/aarch64_with_sve_and_pac.json similarity index 100% rename from tests/data/static_cpu_templates/aarch64_with_sve_and_pac.json rename to tests/data/custom_cpu_templates/aarch64_with_sve_and_pac.json diff --git a/tests/data/static_cpu_templates/c3.json b/tests/data/custom_cpu_templates/c3.json similarity index 100% rename from tests/data/static_cpu_templates/c3.json rename to tests/data/custom_cpu_templates/c3.json diff --git a/tests/data/static_cpu_templates/t2.json b/tests/data/custom_cpu_templates/t2.json similarity index 100% rename from tests/data/static_cpu_templates/t2.json rename to tests/data/custom_cpu_templates/t2.json diff --git a/tests/data/static_cpu_templates/t2a.json b/tests/data/custom_cpu_templates/t2a.json similarity index 100% rename from tests/data/static_cpu_templates/t2a.json rename to tests/data/custom_cpu_templates/t2a.json diff --git a/tests/data/static_cpu_templates/t2cl.json b/tests/data/custom_cpu_templates/t2cl.json similarity index 100% rename from tests/data/static_cpu_templates/t2cl.json rename to tests/data/custom_cpu_templates/t2cl.json diff --git a/tests/data/static_cpu_templates/t2s.json b/tests/data/custom_cpu_templates/t2s.json similarity index 100% rename from tests/data/static_cpu_templates/t2s.json rename to tests/data/custom_cpu_templates/t2s.json diff --git a/tests/data/static_cpu_templates/v1n1.json b/tests/data/custom_cpu_templates/v1n1.json similarity index 100% rename from tests/data/static_cpu_templates/v1n1.json rename to tests/data/custom_cpu_templates/v1n1.json diff --git a/tests/framework/utils_cpu_templates.py b/tests/framework/utils_cpu_templates.py index 32b93727761..804fd99c755 100644 --- a/tests/framework/utils_cpu_templates.py +++ b/tests/framework/utils_cpu_templates.py @@ -69,7 +69,7 @@ def get_supported_custom_cpu_templates(): def custom_cpu_templates_params(): """Return Custom CPU templates as pytest parameters""" for name in sorted(get_supported_custom_cpu_templates()): - tmpl = Path(f"./data/static_cpu_templates/{name.lower()}.json") + tmpl = Path(f"./data/custom_cpu_templates/{name.lower()}.json") yield pytest.param( {"name": name, "template": json.loads(tmpl.read_text("utf-8"))}, id="custom_" + name, diff --git a/tools/gh_release.py b/tools/gh_release.py index 172b1adc1b5..ae43c5797d6 100755 --- a/tools/gh_release.py +++ b/tools/gh_release.py @@ -26,7 +26,7 @@ def build_tarball(release_dir, release_tgz, arch): exclude_files = { "RELEASE_NOTES", "SHA256SUMS.sig", - *[f.stem for f in Path("tests/data/static_cpu_templates").glob("*.json")], + *[f.stem for f in Path("tests/data/custom_cpu_templates").glob("*.json")], } with tarfile.open(release_tgz, "w:gz") as tar: files = [x for x in release_dir.rglob("*") if x.is_file()] diff --git a/tools/release.sh b/tools/release.sh index cb433256932..4679b85739e 100755 --- a/tools/release.sh +++ b/tools/release.sh @@ -179,7 +179,7 @@ cp -v src/firecracker/swagger/firecracker.yaml "$RELEASE_DIR/firecracker_spec-$V CPU_TEMPLATES=(c3 t2 t2s t2cl t2a v1n1) for template in "${CPU_TEMPLATES[@]}"; do - cp -v tests/data/static_cpu_templates/$template.json $RELEASE_DIR/$template-$VERSION.json + cp -v tests/data/custom_cpu_templates/$template.json $RELEASE_DIR/$template-$VERSION.json done (