Skip to content

Commit 385baeb

Browse files
ShadowCursekalyazin
authored andcommitted
refactor: guest_config into cpu_config
This refactoring is done to reduce nesting of modules inside `guest_config` crate and give it a more proper name. Reason for renaming: Originally `guest_config` was intended as a module with separate modules inside, each corresponding to separate device that can be configured by the user. But as of right now it only contains CPU related configs (CpuConfiguration, Static/CustomCpuTemplates, etc...). Reason for restructuring: Because Firecracker supports x86_64 and aarch64 `guest_config` is divided into several `x86_64` and `aarch64` modules at different depth levels. This is how it looks now: src/vmm/src/guest_config/ ├── aarch64 │   ├── mod.rs │   └── static_cpu_templates ├── mod.rs ├── templates │   ├── aarch64.rs │   ├── mod.rs │   ├── test_utils │   │   ├── aarch64.rs │   │   ├── mod.rs │   │   └── x86_64.rs │   └── x86_64.rs ├── templates_serde.rs └── x86_64 ├── cpuid ├── mod.rs └── static_cpu_templates There are 3 levels of `x86_64`/`aarch64` separation. With this refactoring tree looks like this: src/vmm/src/cpu_config/ ├── aarch64 │   ├── custom_cpu_template.rs │   ├── mod.rs │   ├── static_cpu_templates │   └── test_utils.rs ├── mod.rs ├── templates.rs ├── templates_serde.rs └── x86_64 ├── cpuid ├── custom_cpu_template.rs ├── mod.rs ├── static_cpu_templates └── test_utils.rs Only 1 level of `x86_64`/`aarch64` separation. Signed-off-by: Egor Lazarchuk <[email protected]>
1 parent 255f158 commit 385baeb

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

50 files changed

+162
-188
lines changed

src/api_server/src/parsed_request.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -315,7 +315,7 @@ pub mod tests {
315315

316316
use micro_http::HttpConnection;
317317
use vmm::builder::StartMicrovmError;
318-
use vmm::guest_config::templates::test_utils::build_test_template;
318+
use vmm::cpu_config::templates::test_utils::build_test_template;
319319
use vmm::resources::VmmConfig;
320320
use vmm::rpc_interface::VmmActionError;
321321
use vmm::vmm_config::balloon::{BalloonDeviceConfig, BalloonStats};

src/api_server/src/request/cpu_configuration.rs

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
// SPDX-License-Identifier: Apache-2.0
33

44
use logger::{IncMetric, METRICS};
5-
use vmm::guest_config::templates::CustomCpuTemplate;
5+
use vmm::cpu_config::templates::CustomCpuTemplate;
66

77
use super::super::VmmAction;
88
use crate::parsed_request::{Error, ParsedRequest};
@@ -24,9 +24,7 @@ pub(crate) fn parse_put_cpu_config(body: &Body) -> Result<ParsedRequest, Error>
2424
mod tests {
2525
use logger::{IncMetric, METRICS};
2626
use micro_http::Body;
27-
use vmm::guest_config::templates::test_utils::{
28-
build_test_template, TEST_INVALID_TEMPLATE_JSON,
29-
};
27+
use vmm::cpu_config::templates::test_utils::{build_test_template, TEST_INVALID_TEMPLATE_JSON};
3028
use vmm::rpc_interface::VmmAction;
3129

3230
use super::*;

src/api_server/src/request/machine_configuration.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,7 @@ pub(crate) fn parse_patch_machine_config(body: &Body) -> Result<ParsedRequest, E
4646

4747
#[cfg(test)]
4848
mod tests {
49-
use vmm::guest_config::templates::StaticCpuTemplate;
49+
use vmm::cpu_config::templates::StaticCpuTemplate;
5050

5151
use super::*;
5252
use crate::parsed_request::tests::vmm_action_from_request;

src/cpu-template-helper/src/dump/aarch64.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
// Copyright 2023 Amazon.com, Inc. or its affiliates. All Rights Reserved.
22
// SPDX-License-Identifier: Apache-2.0
33

4-
use vmm::guest_config::templates::aarch64::RegisterModifier;
5-
use vmm::guest_config::templates::{CpuConfiguration, CustomCpuTemplate, RegisterValueFilter};
4+
use vmm::cpu_config::aarch64::custom_cpu_template::RegisterModifier;
5+
use vmm::cpu_config::templates::{CpuConfiguration, CustomCpuTemplate, RegisterValueFilter};
66

77
use crate::utils::aarch64::reg_modifier;
88

src/cpu-template-helper/src/dump/mod.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ mod x86_64;
88

99
use std::sync::{Arc, Mutex};
1010

11-
use vmm::guest_config::templates::CustomCpuTemplate;
11+
use vmm::cpu_config::templates::CustomCpuTemplate;
1212
use vmm::{DumpCpuConfigError, Vmm};
1313

1414
#[cfg(target_arch = "aarch64")]

src/cpu-template-helper/src/dump/x86_64.rs

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -3,11 +3,11 @@
33

44
use std::collections::HashMap;
55

6-
use vmm::guest_config::templates::x86_64::{
6+
use vmm::cpu_config::templates::{CpuConfiguration, CustomCpuTemplate, RegisterValueFilter};
7+
use vmm::cpu_config::x86_64::cpuid::Cpuid;
8+
use vmm::cpu_config::x86_64::custom_cpu_template::{
79
CpuidLeafModifier, CpuidRegister, CpuidRegisterModifier, RegisterModifier,
810
};
9-
use vmm::guest_config::templates::{CpuConfiguration, CustomCpuTemplate, RegisterValueFilter};
10-
use vmm::guest_config::x86_64::cpuid::Cpuid;
1111

1212
use crate::utils::x86_64::{cpuid_leaf_modifier, cpuid_reg_modifier, msr_modifier};
1313

@@ -52,7 +52,7 @@ fn msrs_to_modifier(msrs: &HashMap<u32, u64>) -> Vec<RegisterModifier> {
5252
mod tests {
5353
use std::collections::BTreeMap;
5454

55-
use vmm::guest_config::x86_64::cpuid::{
55+
use vmm::cpu_config::x86_64::cpuid::{
5656
CpuidEntry, CpuidKey, CpuidRegisters, IntelCpuid, KvmCpuidFlags,
5757
};
5858

src/cpu-template-helper/src/main.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ use std::fs::{read_to_string, write};
55
use std::path::PathBuf;
66

77
use clap::{Parser, Subcommand};
8-
use vmm::guest_config::templates::{CustomCpuTemplate, GetCpuTemplate, GetCpuTemplateError};
8+
use vmm::cpu_config::templates::{CustomCpuTemplate, GetCpuTemplate, GetCpuTemplateError};
99

1010
mod dump;
1111
mod strip;

src/cpu-template-helper/src/strip/aarch64.rs

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
// Copyright 2023 Amazon.com, Inc. or its affiliates. All Rights Reserved.
22
// SPDX-License-Identifier: Apache-2.0
33

4-
use vmm::guest_config::templates::aarch64::RegisterModifier;
5-
use vmm::guest_config::templates::CustomCpuTemplate;
4+
use vmm::cpu_config::aarch64::custom_cpu_template::RegisterModifier;
5+
use vmm::cpu_config::templates::CustomCpuTemplate;
66

77
use crate::strip::strip_common;
88
use crate::utils::aarch64::RegModifierMap;
@@ -30,8 +30,8 @@ pub fn strip(templates: Vec<CustomCpuTemplate>) -> Vec<CustomCpuTemplate> {
3030

3131
#[cfg(test)]
3232
mod tests {
33-
use vmm::guest_config::templates::aarch64::RegisterModifier;
34-
use vmm::guest_config::templates::RegisterValueFilter;
33+
use vmm::cpu_config::aarch64::custom_cpu_template::RegisterModifier;
34+
use vmm::cpu_config::templates::RegisterValueFilter;
3535

3636
use super::*;
3737
use crate::utils::aarch64::reg_modifier;

src/cpu-template-helper/src/strip/x86_64.rs

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
// Copyright 2023 Amazon.com, Inc. or its affiliates. All Rights Reserved.
22
// SPDX-License-Identifier: Apache-2.0
33

4-
use vmm::guest_config::templates::x86_64::{CpuidLeafModifier, RegisterModifier};
5-
use vmm::guest_config::templates::CustomCpuTemplate;
4+
use vmm::cpu_config::templates::CustomCpuTemplate;
5+
use vmm::cpu_config::x86_64::custom_cpu_template::{CpuidLeafModifier, RegisterModifier};
66

77
use crate::strip::strip_common;
88
use crate::utils::x86_64::{CpuidModifierMap, MsrModifierMap};
@@ -43,12 +43,12 @@ pub fn strip(templates: Vec<CustomCpuTemplate>) -> Vec<CustomCpuTemplate> {
4343

4444
#[cfg(test)]
4545
mod tests {
46-
use vmm::guest_config::templates::x86_64::CpuidRegister::*;
47-
use vmm::guest_config::templates::x86_64::{
46+
use vmm::cpu_config::templates::RegisterValueFilter;
47+
use vmm::cpu_config::x86_64::cpuid::KvmCpuidFlags;
48+
use vmm::cpu_config::x86_64::custom_cpu_template::CpuidRegister::*;
49+
use vmm::cpu_config::x86_64::custom_cpu_template::{
4850
CpuidLeafModifier, CpuidRegisterModifier, RegisterModifier,
4951
};
50-
use vmm::guest_config::templates::RegisterValueFilter;
51-
use vmm::guest_config::x86_64::cpuid::KvmCpuidFlags;
5252

5353
use super::*;
5454
use crate::utils::x86_64::{cpuid_leaf_modifier, cpuid_reg_modifier, msr_modifier};

src/cpu-template-helper/src/utils/aarch64.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,8 +4,8 @@
44
use std::collections::HashMap;
55
use std::fmt::Display;
66

7-
use vmm::guest_config::templates::aarch64::RegisterModifier;
8-
use vmm::guest_config::templates::RegisterValueFilter;
7+
use vmm::cpu_config::aarch64::custom_cpu_template::RegisterModifier;
8+
use vmm::cpu_config::templates::RegisterValueFilter;
99

1010
use super::{ModifierMapKey, ModifierMapValue};
1111

0 commit comments

Comments
 (0)