diff --git a/misc/config_tools/configurator/README.md b/misc/config_tools/configurator/README.md index fcdc20618..0ef4bf8bd 100644 --- a/misc/config_tools/configurator/README.md +++ b/misc/config_tools/configurator/README.md @@ -19,20 +19,37 @@ to install system dependencies **(including yarn)**. #### Linux -In Linux, +In Linux, make sure your already install `git`, `python3`(version>=3.6) and `python3-venv` library, + +```bash +$ sudo apt install git python3 python3-venv +# check python3 version +$ python3 --version +Python 3.8.10 +``` #### Windows -In Windows, [chocolatey](https://chocolatey.org/) is a Windows package manager, +[Chocolatey](https://chocolatey.org/) is a package manager tool for windows, you can use `choco install xsltproc` to install `xsltproc` package, which provide `xmllint` command. +Make sure your system have python which version>3.6, +you can check it by following command line: + +```bash +$ python --version +Python 3.8.10 +``` + +If your system doesn't have git and python, you can install it by +`choco install git python3`. + ### 2. Clone Project And Install Project Dependencies. #### Linux ```bash -sudo apt install git git clone https://github.com/projectacrn/acrn-hypervisor cd acrn-hypervisor/misc/config_tools python3 -m pip install -r requirements.txt @@ -43,10 +60,8 @@ yarn #### Windows -Similar to Linux. - -In the Windows environment maybe you need to install git and python3 via chocolatey or manually, -and replace the command line `python3` with `py -3`. +Similar to Linux, in the Windows environment, +you need replace the command line `python3` with `python`. ### 3. How To Build @@ -65,7 +80,7 @@ Run following command in the 'acrn-hypervisor' directory. ```shell cd misc/config_tools python scenario_config/schema_slicer.py -python scenario_config/xs2js.py +python scenario_config/jsnoschema/convert.py xmllint --xinclude schema/datachecks.xsd > schema/allchecks.xsd python -m build @@ -88,6 +103,6 @@ acrn-configurator #### Windows -You can find msi(Windows)/dmg(macOS) folder under the -`misc/config_tools/configurator/src-tauri/target/release/bundle` +You can find installer under the +`misc/config_tools/configurator/src-tauri/target/release/bundle/msi` directory, the installer in the folder. diff --git a/misc/config_tools/configurator/index.html b/misc/config_tools/configurator/index.html index 01767a158..8d14a14aa 100644 --- a/misc/config_tools/configurator/index.html +++ b/misc/config_tools/configurator/index.html @@ -9,10 +9,13 @@
-
+
- logo + logo Loading... Please wait for 5 seconds~ diff --git a/misc/config_tools/configurator/package.json b/misc/config_tools/configurator/package.json index b8b78a17c..bb64acc10 100644 --- a/misc/config_tools/configurator/package.json +++ b/misc/config_tools/configurator/package.json @@ -19,7 +19,6 @@ "@popperjs/core": "^2.11.5", "@rollup/plugin-replace": "^4.0.0", "@tauri-apps/api": "^1.0.0-rc.3", - "@vicons/carbon": "^0.12.0", "@vicons/fa": "^0.12.0", "@vicons/utils": "^0.1.4", "ajv-i18n": "^4.2.0", @@ -30,7 +29,6 @@ "naive-ui": "^2.28.1", "node-fetch": "2", "sass": "^1.50.0", - "vconsole": "^3.14.6", "vfonts": "^0.0.3", "vue": "^3.2.25", "vue-router": "4" diff --git a/misc/config_tools/configurator/src-tauri/build.rs b/misc/config_tools/configurator/src-tauri/build.rs index 795b9b7c8..d860e1e6a 100644 --- a/misc/config_tools/configurator/src-tauri/build.rs +++ b/misc/config_tools/configurator/src-tauri/build.rs @@ -1,3 +1,3 @@ fn main() { - tauri_build::build() + tauri_build::build() } diff --git a/misc/config_tools/configurator/src-tauri/rustfmt.toml b/misc/config_tools/configurator/src-tauri/rustfmt.toml index d962cdac2..baaa750e3 100644 --- a/misc/config_tools/configurator/src-tauri/rustfmt.toml +++ b/misc/config_tools/configurator/src-tauri/rustfmt.toml @@ -1,6 +1,6 @@ max_width = 100 hard_tabs = false -tab_spaces = 2 +tab_spaces = 4 newline_style = "Auto" use_small_heuristics = "Default" reorder_imports = true diff --git a/misc/config_tools/configurator/src-tauri/src/configurator.rs b/misc/config_tools/configurator/src-tauri/src/configurator.rs index 191249158..ff7a286c5 100644 --- a/misc/config_tools/configurator/src-tauri/src/configurator.rs +++ b/misc/config_tools/configurator/src-tauri/src/configurator.rs @@ -2,16 +2,15 @@ use std::borrow::Borrow; use std::ops::Add; use std::path::{Path, PathBuf}; -use serde::{Deserialize, Serialize}; use glob::{glob_with, MatchOptions}; use itertools::Itertools; - +use serde::{Deserialize, Serialize}; +use tauri::Window; use std::fs::{self, File}; use std::io; use std::io::prelude::*; - #[derive(Serialize, Deserialize, Clone, Copy, Debug)] #[repr(u16)] #[non_exhaustive] @@ -40,17 +39,19 @@ pub struct Configurator { pub config_data: ConfigData, pub working_folder: String, - } - pub fn write_file(path: PathBuf, content: String) -> Result<(), String> { fs::write(path, content).map_err(|e| e.to_string()) } impl ConfigData { fn new() -> ConfigData { - let history = History { working_folder: vec![], board_file: vec![], scenario_file: vec![] }; + let history = History { + working_folder: vec![], + board_file: vec![], + scenario_file: vec![], + }; ConfigData { history } } @@ -65,12 +66,11 @@ impl ConfigData { fn deserialize(config_json: String) -> Result { match serde_json::from_str(&config_json.to_string()) { Ok(config_data) => Ok(config_data), - Err(e) => Err(e.to_string()) + Err(e) => Err(e.to_string()), } } } - impl Configurator { pub fn new() -> Self { match Self::ensure_config_file() { @@ -101,13 +101,12 @@ impl Configurator { None => { return Err("get config_dir and home_dir error!".to_string()); } - Some(path) => path + Some(path) => path, } } - Some(path) => path + Some(path) => path, }; - // get acrn-configurator dir path and check it exist let config_dir = config_base.join(".acrn-configurator"); log::info!("current config_dir is {}.", config_dir.to_str().unwrap()); @@ -122,14 +121,13 @@ impl Configurator { } } - // get config.json file path and check it exist let default_config_path = config_dir.join("config.json"); if !default_config_path.is_file() { let empty_config = ConfigData::new(); match fs::write(&default_config_path, empty_config.serialize()) { Ok(_) => {} - Err(e) => return Err(e.to_string()) + Err(e) => return Err(e.to_string()), }; } Ok(default_config_path) @@ -137,7 +135,7 @@ impl Configurator { pub fn init(config_file_path: PathBuf) -> Configurator { let config_json = match fs::read_to_string(&config_file_path) { - Ok(data) => { data } + Ok(data) => data, Err(e) => { log::warn!("read config error! error: {}", e.to_string()); log::warn!("Use default blank config to start due to read config failed."); @@ -170,7 +168,6 @@ impl Configurator { } } - pub fn save_config(&self) { if !self.config_write_enable { return; @@ -178,7 +175,7 @@ impl Configurator { match fs::write(&self.config_path, self.config_data.serialize()) { Ok(_) => {} Err(e) => { - log::warn!("Write config error! error:{}",e.to_string()) + log::warn!("Write config error! error:{}", e.to_string()) } } } @@ -187,31 +184,52 @@ impl Configurator { let path_string: String = history_path.to_string_lossy().parse().unwrap(); match history_type { HistoryType::WorkingFolder => { - self.config_data.history.working_folder.insert(0, path_string); - self.config_data.history.working_folder = self.config_data.history.working_folder.clone().into_iter().unique().collect() + self.config_data + .history + .working_folder + .insert(0, path_string); + self.config_data.history.working_folder = self + .config_data + .history + .working_folder + .clone() + .into_iter() + .unique() + .collect() } HistoryType::Board => { self.config_data.history.board_file.insert(0, path_string); - self.config_data.history.board_file = self.config_data.history.board_file.clone().into_iter().unique().collect() + self.config_data.history.board_file = self + .config_data + .history + .board_file + .clone() + .into_iter() + .unique() + .collect() } HistoryType::Scenario => { - self.config_data.history.scenario_file.insert(0, path_string); - self.config_data.history.scenario_file = self.config_data.history.scenario_file.clone().into_iter().unique().collect() + self.config_data + .history + .scenario_file + .insert(0, path_string); + self.config_data.history.scenario_file = self + .config_data + .history + .scenario_file + .clone() + .into_iter() + .unique() + .collect() } }; } pub fn get_history(&self, history_type: HistoryType) -> &[String] { match history_type { - HistoryType::WorkingFolder => { - self.config_data.history.working_folder.borrow() - } - HistoryType::Board => { - self.config_data.history.board_file.borrow() - } - HistoryType::Scenario => { - self.config_data.history.scenario_file.borrow() - } + HistoryType::WorkingFolder => self.config_data.history.working_folder.borrow(), + HistoryType::Board => self.config_data.history.board_file.borrow(), + HistoryType::Scenario => self.config_data.history.scenario_file.borrow(), } } @@ -231,24 +249,23 @@ impl Configurator { }; let pattern = self.working_folder.clone().add("/.*\\.board\\.xml"); let files = match glob_with(&pattern, options).map_err(|e| e.to_string()) { - Ok(files) => { files } - Err(e) => return Err(e.to_string()) + Ok(files) => files, + Err(e) => return Err(e.to_string()), }; for entry in files { match entry { - Ok(filepath) => { - match fs::remove_file(&filepath) { - Ok(_) => {} - Err(e) => { - let err_msg = format!( - "Can not delete file:{} error: {}", - filepath.to_str().unwrap_or_else(|| "").to_string(), e.to_string() - ); - log::warn!("{}",err_msg); - return Err(err_msg); - } + Ok(filepath) => match fs::remove_file(&filepath) { + Ok(_) => {} + Err(e) => { + let err_msg = format!( + "Can not delete file:{} error: {}", + filepath.to_str().unwrap_or_else(|| "").to_string(), + e.to_string() + ); + log::warn!("{}", err_msg); + return Err(err_msg); } - } + }, Err(e) => { log::error!("find old board error! error:{}", e.to_string()) } @@ -266,7 +283,8 @@ static mut WORKING_FOLDER: String = String::new(); #[tauri::command] pub fn get_history(history_type: HistoryType) -> Result { let configurator = Configurator::new(); - let history = serde_json::to_string(configurator.get_history(history_type)).unwrap_or_else(|_| String::from("[]")); + let history = serde_json::to_string(configurator.get_history(history_type)) + .unwrap_or_else(|_| String::from("[]")); Ok(history) } @@ -290,7 +308,6 @@ pub fn set_working_folder(working_folder: String) -> Result<(), ()> { Ok(()) } - #[tauri::command] pub fn write_board(board_name: String, contents: String) -> Result<(), String> { let mut configurator = Configurator::new(); @@ -300,7 +317,6 @@ pub fn write_board(board_name: String, contents: String) -> Result<(), String> { configurator.write_board(board_name, contents) } - #[tauri::command] pub fn force_reset() -> Result<(), ()> { let mut configurator = Configurator::new(); @@ -311,12 +327,8 @@ pub fn force_reset() -> Result<(), ()> { #[tauri::command] pub fn get_home() -> Result { match dirs::home_dir() { - None => { - Ok(String::new()) - } - Some(path) => { - Ok(path.to_str().unwrap().to_string()) - } + None => Ok(String::new()), + Some(path) => Ok(path.to_str().unwrap().to_string()), } } @@ -330,8 +342,7 @@ pub struct DirEntry { pub fn acrn_read(file_path: &str) -> Result { let mut file = File::open(file_path).map_err(|e| e.to_string())?; let mut contents = String::new(); - file - .read_to_string(&mut contents) + file.read_to_string(&mut contents) .map_err(|e| e.to_string())?; Ok(contents) } @@ -339,8 +350,7 @@ pub fn acrn_read(file_path: &str) -> Result { #[tauri::command] pub fn acrn_write(file_path: &str, contents: &str) -> Result<(), String> { let mut file = File::create(file_path).map_err(|e| e.to_string())?; - file - .write_all(contents.as_bytes()) + file.write_all(contents.as_bytes()) .map_err(|e| e.to_string())?; Ok(()) } @@ -353,14 +363,15 @@ pub fn acrn_is_file(path: &str) -> bool { } #[tauri::command] -pub fn acrn_create_dir(path: &str) -> Result<(), String> { - fs::create_dir(path).map_err(|e| e.to_string()) +pub fn acrn_create_dir(path: &str, recursive: bool) -> Result<(), String> { + if recursive { + fs::create_dir_all(path).map_err(|e| e.to_string()) + } else { + fs::create_dir(path).map_err(|e| e.to_string()) + } } -fn read_dir>( - path: P, - recursive: bool, -) -> io::Result> { +fn read_dir>(path: P, recursive: bool) -> io::Result> { let path = path.as_ref(); let mut entries = Vec::new(); for entry in fs::read_dir(path)? { @@ -377,10 +388,11 @@ fn read_dir>( } #[tauri::command] -pub fn acrn_read_dir( - path: &str, - recursive: bool, -) -> Result, String> { +pub fn acrn_read_dir(path: &str, recursive: bool) -> Result, String> { read_dir(path, recursive).map_err(|e| e.to_string()) } +#[tauri::command] +pub fn open_devtools(window: Window) { + window.open_devtools() +} \ No newline at end of file diff --git a/misc/config_tools/configurator/src-tauri/src/main.rs b/misc/config_tools/configurator/src-tauri/src/main.rs index cb147abc6..d1adfd7ae 100644 --- a/misc/config_tools/configurator/src-tauri/src/main.rs +++ b/misc/config_tools/configurator/src-tauri/src/main.rs @@ -1,11 +1,10 @@ #![cfg_attr( -all(not(debug_assertions), target_os = "windows"), -windows_subsystem = "windows" + all(not(debug_assertions), target_os = "windows"), + windows_subsystem = "windows" )] mod configurator; - fn main() { tauri::Builder::default() .invoke_handler(tauri::generate_handler![ @@ -20,6 +19,7 @@ fn main() { configurator::acrn_is_file, configurator::acrn_read_dir, configurator::acrn_create_dir, + configurator::open_devtools ]) .run(tauri::generate_context!()) .expect("error while running tauri application"); diff --git a/misc/config_tools/configurator/src/assets/schema/scenario.json b/misc/config_tools/configurator/src/assets/schema/scenario.json index 44634fa84..4059c4e5e 100644 --- a/misc/config_tools/configurator/src/assets/schema/scenario.json +++ b/misc/config_tools/configurator/src/assets/schema/scenario.json @@ -323,12 +323,12 @@ "VM_NAME": { "$ref": "#/definitions/VMNameType", "title": "Shared VMs", - "description": "

Name of the VM that uses this shared memory region.

" + "description": "
\n

\n Name of the VM that uses this shared memory region.\n

\n
\n" }, "VBDF": { "$ref": "#/definitions/VBDFType", "title": "Virtual BDF", - "description": "

Virtual BDF (Bus Device Function) is automatically assigned and can be changed if needed. Set in Hex.

" + "description": "
\n

\n Virtual BDF (Bus Device Function) is automatically assigned and can be changed if needed. Set in Hex.\n

\n
\n" } } }, @@ -344,7 +344,7 @@ }, "type": "array", "title": "IVSHMEM_VM", - "description": "

Select all VMs that use the shared memory region.

" + "description": "
\n

\n Select all VMs that use the shared memory region.\n

\n
\n" } } }, @@ -360,25 +360,25 @@ "NAME": { "type": "string", "pattern": "^\\w+$", - "title": "Name", - "description": "

Name of the shared memory region.

" + "title": "Region Name", + "description": "
\n

\n Name of the shared memory region.\n

\n
\n" }, "PROVIDED_BY": { "$ref": "#/definitions/ProviderType", "default": "Hypervisor", "title": "Emulated by", - "description": "

Whether the shared memory region is emulated by the hypervisor or Device Model.

" + "description": "
\n

\n Whether the shared memory region is emulated by the hypervisor or Device Model.\n

\n
\n" }, "IVSHMEM_SIZE": { "$ref": "#/definitions/IVSHMEMSize", "default": 2, - "title": "Size (MB)", - "description": "

Select the size of the shared memory region\nin megabytes. The value should be a power of 2\nand no more than 512.

" + "title": "Region Size (MB)", + "description": "
\n

\n Select the size of the shared memory region\nin megabytes. The value should be a power of 2\nand no more than 512.\n

\n
\n" }, "IVSHMEM_VMS": { "$ref": "#/definitions/IVSHMEMVMS", "title": "Shared VMs", - "description": "

Select all VMs that use the shared memory region.

" + "description": "
\n

\n Select all VMs that use the shared memory region.\n

\n
\n" } } }, @@ -391,7 +391,7 @@ }, "type": "array", "title": "IVSHMEM_REGION", - "description": "

Create a memory region for VMs to share: specify its name, size, and associated VMs.

" + "description": "
\n

\n Create a memory region for VMs to share: specify its name, size, and associated VMs.\n

\n
\n" } } }, @@ -407,19 +407,19 @@ "$ref": "#/definitions/Boolean", "default": "n", "title": "Intel Resource Director Tech", - "description": "

Enable Intel Resource Director Technology (RDT). If\nthe board hardware does not support\nRDT, setting this option to y is ignored.

" + "description": "
\n

\n Enable Intel Resource Director Technology (RDT). If\nthe board hardware does not support\nRDT, setting this option to\n \n y\n \n is ignored.\n

\n
\n" }, "CDP_ENABLED": { "$ref": "#/definitions/Boolean", "default": "n", "title": "Code and Data Prioritization", - "description": "

Enable Code and Data Prioritization (CDP). CDP provides control over code and data placement in cache to improve an application's real-time performance.

" + "description": "
\n

\n Enable Code and Data Prioritization (CDP). CDP provides control over code and data placement in cache to improve an application's real-time performance.\n

\n
\n" }, "VCAT_ENABLED": { "$ref": "#/definitions/Boolean", "default": "n", "title": "Virtual Cache Allocation Tech", - "description": "

Enable virtualization of the Cache Allocation Technology (CAT) feature in RDT. CAT enables you to allocate cache to VMs, providing isolation to avoid performance interference from other VMs.

" + "description": "
\n

\n Enable virtualization of the Cache Allocation Technology (CAT) feature in RDT. CAT enables you to allocate cache to VMs, providing isolation to avoid performance interference from other VMs.\n

\n
\n" } } }, @@ -433,7 +433,7 @@ "$ref": "#/definitions/Boolean", "default": "n", "title": "Software SRAM", - "description": "

Enable Software SRAM. This feature reserves memory buffers as always-cached memory to improve an application's real-time performance.

" + "description": "
\n

\n Enable Software SRAM. This feature reserves memory buffers as always-cached memory to improve an application's real-time performance.\n

\n
\n" } } }, @@ -507,7 +507,7 @@ "type": "integer", "default": 2, "title": "pCPU ID", - "description": "

ID of the pCPU that this VM's vCPU is allowed to pin to.

", + "description": "
\n

\n ID of the pCPU that this VM's vCPU is allowed to pin to.\n

\n
\n", "enum": { "type": "dynamicEnum", "function": "get_enum", @@ -520,7 +520,7 @@ "$ref": "#/definitions/Boolean", "default": "n", "title": "Real-time vCPU", - "description": "

Whether this vCPU is used for real-time-critical workloads.

" + "description": "
\n

\n Whether this vCPU is used for real-time-critical workloads.\n

\n
\n" } } }, @@ -533,7 +533,7 @@ }, "type": "array", "title": "pcpu", - "description": "

A pCPU that this VM's vCPU is allowed to pin to.

" + "description": "
\n

\n A pCPU that this VM's vCPU is allowed to pin to.\n

\n
\n" } } }, @@ -550,7 +550,7 @@ }, "type": "array", "title": "vcpu_clos", - "description": "

By default (virtual_cat_support is not specified):\nvcpu_clos is per-CPU and it configures each CPU in VMs to a desired CLOS ID in the VM section of the\nscenario file. Follow RDT Detection and Resource Capabilities to identify the maximum supported CLOS ID that can be used.

\n\n\n

If virtual_cat_support is specified:\nvcpu_clos is not per-CPU anymore, just a list of physical CLOSIDs (minimum 2) that are assigned to VMs\nfor vCAT use. Each vcpu_clos will be mapped to a virtual CLOSID, the first vcpu_clos is mapped to virtual\nCLOSID 0 and the second is mapped to virtual CLOSID 1, etc.

" + "description": "
\n

\n By default (\n \n virtual_cat_support\n \n is not specified):\nvcpu_clos is per-CPU and it configures each CPU in VMs to a desired CLOS ID in the\n \n VM\n \n section of the\nscenario file. Follow\n \n RDT Detection and Resource Capabilities\n \n to identify the maximum supported CLOS ID that can be used.\n

\n

\n If\n \n virtual_cat_support\n \n is specified:\nvcpu_clos is not per-CPU anymore, just a list of physical CLOSIDs (minimum 2) that are assigned to VMs\nfor vCAT use. Each vcpu_clos will be mapped to a virtual CLOSID, the first vcpu_clos is mapped to virtual\nCLOSID 0 and the second is mapped to virtual CLOSID 1, etc.\n

\n
\n" } } }, @@ -565,13 +565,13 @@ "$ref": "#/definitions/HexFormat", "default": 0, "title": "EPC section base", - "description": "

Specify the enclave page cache (EPC) section base for Intel Software Guard Extensions (SGX). Must be page aligned.

" + "description": "
\n

\n Specify the enclave page cache (EPC) section base for Intel Software Guard Extensions (SGX). Must be page aligned.\n

\n
\n" }, "size": { "$ref": "#/definitions/HexFormat", "default": 0, "title": "EPC section size (bytes)", - "description": "

Specify the enclave page cache (EPC) section size in bytes for Intel Software Guard Extensions (SGX). Must be page aligned.

" + "description": "
\n

\n Specify the enclave page cache (EPC) section size in bytes for Intel Software Guard Extensions (SGX). Must be page aligned.\n

\n
\n" } } }, @@ -585,12 +585,12 @@ "start_hpa": { "$ref": "#/definitions/HexFormat", "title": "Start physical address", - "description": "

Specify the starting address for non-contiguous allocation.

" + "description": "
\n

\n Specify the starting address for non-contiguous allocation.\n

\n
\n" }, "size_hpa": { "type": "integer", "title": "Size (MB)", - "description": "

Specify the physical memory size for non-contiguous allocation in megabytes.\nThe size is a subset of the VM's total memory size specified on the Basic tab.

" + "description": "
\n

\n Specify the physical memory size for non-contiguous allocation in megabytes.\nThe size is a subset of the VM's total memory size specified on the Basic tab.\n

\n
\n" } } }, @@ -601,7 +601,7 @@ "type": "integer", "default": 256, "title": "Memory size (MB)", - "description": "

Specify the physical memory size allocated to this VM in megabytes.

" + "description": "
\n

\n Specify the physical memory size allocated to this VM in megabytes.\n

\n
\n" }, "hpa_region": { "items": { @@ -609,7 +609,7 @@ }, "type": "array", "title": "Physical memory segmentation", - "description": "

Specify Physical memory information for Prelaunched VM

" + "description": "
\n

\n Specify Physical memory information for Prelaunched VM\n

\n
\n" } } }, @@ -622,32 +622,32 @@ "kern_type": { "$ref": "#/definitions/VMKernelType", "title": "Kernel image type", - "description": "

Select the kernel image type so that the hypervisor can load it correctly.

" + "description": "
\n

\n Select the kernel image type so that the hypervisor can load it correctly.\n

\n
\n" }, "kern_mod": { "type": "string", "title": "Kernel module tag", - "description": "

Specify the tag for the kernel image that is used as a multiboot module. The tag's spelling must exactly match the module tag in the GRUB multiboot cmdline.

" + "description": "
\n

\n Specify the tag for the kernel image that is used as a multiboot module. The tag's spelling must exactly match the module tag in the GRUB multiboot cmdline.\n

\n
\n" }, "ramdisk_mod": { "type": "string", "title": "RAMdisk module tag", - "description": "

Specify the tag for the RAMdisk image that is used as a multiboot module. The tag's spelling must exactly match the module tag in the GRUB multiboot cmdline.

" + "description": "
\n

\n Specify the tag for the RAMdisk image that is used as a multiboot module. The tag's spelling must exactly match the module tag in the GRUB multiboot cmdline.\n

\n
\n" }, "bootargs": { "type": "string", "title": "Kernel command-line parameters", - "description": "

Specify the command-line parameters that will be used to boot the kernel for this VM. See Linux documentation for a list of parameters.

" + "description": "
\n

\n Specify the command-line parameters that will be used to boot the kernel for this VM. See\n \n Linux documentation\n \n for a list of parameters.\n

\n
\n" }, "kern_load_addr": { "$ref": "#/definitions/KernLoadAddr", "title": "kern_load_addr", - "description": "

The loading address in host memory for the VM kernel.

" + "description": "
\n

\n The loading address in host memory for the VM kernel.\n

\n
\n" }, "kern_entry_addr": { "$ref": "#/definitions/KernEntryAddr", "title": "kern_entry_addr", - "description": "

The entry address in host memory for the VM kernel.

" + "description": "
\n

\n The entry address in host memory for the VM kernel.\n

\n
\n" } } }, @@ -662,18 +662,18 @@ "vm_name": { "type": "string", "title": "Virtual UART port", - "description": "

Virtual UART port

" + "description": "
\n

\n Virtual UART port\n

\n
\n" }, "io_port": { "$ref": "#/definitions/HexFormat", "default": "0x3F", "title": "Virtual I/O address", - "description": "

Specify the COM base for each legacy virtual UART.

" + "description": "
\n

\n Specify the COM base for each legacy virtual UART.\n

\n
\n" }, "vbdf": { "$ref": "#/definitions/VBDFType", - "title": "Virtual BDF", - "description": "

Specify the virtual Bus:Device.Function (BDF) for each PCI virtual UART. Virtual BDF is automatically assigned when the configuration is saved and can be changed if needed.

" + "title": "Virtual UART BDF", + "description": "
\n

\n Specify the virtual Bus:Device.Function (BDF) for each PCI virtual UART. Virtual BDF is automatically assigned when the configuration is saved and can be changed if needed.\n

\n
\n" } } }, @@ -687,14 +687,14 @@ "properties": { "name": { "type": "string", - "title": "name", - "description": "

Specify the vUART name.

" + "title": "vUART name", + "description": "
\n

\n Specify the vUART name.\n

\n
\n" }, "type": { "$ref": "#/definitions/VuartType", "default": "legacy", - "title": "Type", - "description": "

Select the communication virtual UART (vUART) type.

" + "title": "vUART Type", + "description": "
\n

\n Select the communication virtual UART (vUART) type.\n

\n
\n" }, "endpoint": { "minItems": 2, @@ -724,13 +724,13 @@ "$ref": "#/definitions/Boolean", "default": "n", "title": "TPM2 passthrough", - "description": "

Enable passthrough of the trusted platform module (TPM2) device to this VM.

" + "description": "
\n

\n Enable passthrough of the trusted platform module (TPM2) device to this VM.\n

\n
\n" }, "p2sb": { "$ref": "#/definitions/Boolean", "default": "n", "title": "P2SB bridge passthrough", - "description": "

Enable passthrough of the Primary-to-Sideband (P2SB) bridge register access BAR to this VM.

" + "description": "
\n

\n Enable passthrough of the Primary-to-Sideband (P2SB) bridge register access BAR to this VM.\n

\n
\n" } } }, @@ -743,7 +743,7 @@ }, "type": "array", "title": "PCI device assignment", - "description": "

Select the PCI devices you want to assign to this virtual machine.

", + "description": "
\n

\n Select the PCI devices you want to assign to this virtual machine.\n

\n
\n", "enum": { "type": "dynamicEnum", "function": "get_enum", @@ -761,13 +761,13 @@ "$ref": "#/definitions/VirtioNetworkFrameworkType", "default": "User space based (VBSU)", "title": "Virtio framework", - "description": "

Specify the virtio framework for specific virtio network device implemented in the Service VM.

" + "description": "
\n

\n Specify the virtio framework for specific virtio network device implemented in the Service VM.\n

\n
\n" }, "interface_name": { "type": "string", "pattern": "^[a-zA-Z0-9_\\-]+$", "title": "Network interface name", - "description": "

Specify the network interface name that will appear in the Service VM. Use the ip a command in the Service VM to display the network interface names.

" + "description": "
\n

\n Specify the network interface name that will appear in the Service VM. Use the\n \n ip a\n \n command in the Service VM to display the network interface names.\n

\n
\n" } } }, @@ -777,12 +777,12 @@ "use_type": { "$ref": "#/definitions/VirtioConsoleUseType", "title": "Use type", - "description": "

Specify device type in guest, ether HVC console when user config it as virtio console or /dev/vportXpY\ndevice file when user config it as virtio serial port, which can be read and written from the user space.

" + "description": "
\n

\n Specify device type in guest, ether HVC console when user config it as virtio console or /dev/vportXpY\ndevice file when user config it as virtio serial port, which can be read and written from the user space.\n

\n
\n" }, "backend_type": { "$ref": "#/definitions/VirtioConsoleBackendType", "title": "Backend type", - "description": "

Specify backend device type in service VM.

" + "description": "
\n

\n Specify backend device type in service VM.\n

\n
\n" }, "output_file_path": { "items": { @@ -791,7 +791,7 @@ "type": "array", "maxItems": 1, "title": "Output file path", - "description": "

The output file path for the file backend type.

" + "description": "
\n

\n The output file path for the file backend type.\n

\n
\n" }, "sock_file_path": { "items": { @@ -800,7 +800,7 @@ "type": "array", "maxItems": 1, "title": "Sock file path", - "description": "

The sock file path for the sock server or client backend type.

" + "description": "
\n

\n The sock file path for the sock server or client backend type.\n

\n
\n" }, "tty_device_path": { "items": { @@ -809,7 +809,7 @@ "type": "array", "maxItems": 1, "title": "TTY device path", - "description": "

The device path for the tty backend type.

" + "description": "
\n

\n The device path for the tty backend type.\n

\n
\n" } } }, @@ -819,13 +819,13 @@ "backend_device_file": { "type": "string", "title": "Backend device file", - "description": "

Specifying backend device in service vm with device description.

" + "description": "
\n

\n Specifying backend device in service vm with device description.\n

\n
\n" }, "id": { "type": "string", "pattern": "^[a-zA-Z0-9_\\-]*$", "title": "Guest virtio input device unique identifier", - "description": "

Specifying unique identifier to distinguish same devices in guest.

" + "description": "
\n

\n Specifying unique identifier to distinguish same devices in guest.\n

\n
\n" } } }, @@ -843,12 +843,12 @@ "$ref": "#/definitions/BuildType", "default": "debug", "title": "Build type", - "description": "

Select the build type:

\n\n\n
    \n
  • Debug enables the debug shell, prints, and logs.

  • \n
  • Release optimizes the ACRN binary for deployment and turns off all debug infrastructure.

  • \n
\n\n\n

These settings can only be changed at build time.

" + "description": "
\n

\n Select the build type:\n

\n
    \n
  • \n

    \n \n Debug\n \n enables the debug shell, prints, and logs.\n

    \n
  • \n
  • \n

    \n \n Release\n \n optimizes the ACRN binary for deployment and turns off all debug infrastructure.\n

    \n
  • \n
\n

\n These settings can only be changed at build time.\n

\n
\n" }, "SERIAL_CONSOLE": { "$ref": "#/definitions/SerialConsoleOptions", "title": "Serial console port", - "description": "

Select the host serial device used for hypervisor debugging.

", + "description": "
\n

\n Select the host serial device used for hypervisor debugging.\n

\n
\n", "enum": { "type": "dynamicEnum", "function": "get_enum", @@ -861,19 +861,19 @@ "$ref": "#/definitions/LogLevelType", "default": 0, "title": "ACRN log level", - "description": "

Select the default log level for log messages stored in memory. Value can be changed at runtime. Log messages with the selected value or lower are displayed.

" + "description": "
\n

\n Select the default log level for log messages stored in memory. Value can be changed at runtime. Log messages with the selected value or lower are displayed.\n

\n
\n" }, "NPK_LOGLEVEL": { "$ref": "#/definitions/LogLevelType", "default": 0, "title": "Intel Trace Hub log level", - "description": "

Select the default log level for the hypervisor via Intel Trace Hub log. Use the Intel Trace Hub's memory to record log messages. Value can be changed at runtime. Log messages with the selected value or lower are displayed.

" + "description": "
\n

\n Select the default log level for the hypervisor via Intel Trace Hub log. Use the Intel Trace Hub's memory to record log messages. Value can be changed at runtime. Log messages with the selected value or lower are displayed.\n

\n
\n" }, "CONSOLE_LOGLEVEL": { "$ref": "#/definitions/LogLevelType", "default": 0, "title": "Serial console log level", - "description": "

Select the default log level for log messages written to the serial console. Log messages with the selected value or lower are displayed.

" + "description": "
\n

\n Select the default log level for log messages written to the serial console. Log messages with the selected value or lower are displayed.\n

\n
\n" } } }, @@ -900,88 +900,88 @@ "$ref": "#/definitions/Boolean", "default": "y", "title": "Hypervisor relocation", - "description": "

Enable hypervisor relocation in memory. The bootloader may need to change the location of the hypervisor because of other firmware.

" + "description": "
\n

\n Enable hypervisor relocation in memory. The bootloader may need to change the location of the hypervisor because of other firmware.\n

\n
\n" }, "SCHEDULER": { "$ref": "#/definitions/SchedulerType", "default": "SCHED_BVT", "title": "Virtual CPU scheduler", - "description": "

Select the scheduling algorithm for determining the priority of User VMs running on a shared virtual CPU.

" + "description": "
\n

\n Select the scheduling algorithm for determining the priority of User VMs running on a shared virtual CPU.\n

\n
\n" }, "MULTIBOOT2_ENABLED": { "$ref": "#/definitions/Boolean", "default": "y", "title": "Multiboot2", - "description": "

Enable multiboot2 protocol support (with multiboot1 downward compatibility). If multiboot1 meets your requirements, disable this feature to reduce hypervisor code size.

" + "description": "
\n

\n Enable multiboot2 protocol support (with multiboot1 downward compatibility). If multiboot1 meets your requirements, disable this feature to reduce hypervisor code size.\n

\n
\n" }, "ENFORCE_TURNOFF_AC": { "$ref": "#/definitions/Boolean", "default": "y", "title": "Split lock detection", - "description": "

Enable detection of split locks. A split lock can negatively affect an application's real-time performance. If a lock is detected, an alignment check exception #AC occurs.

" + "description": "
\n

\n Enable detection of split locks. A split lock can negatively affect an application's real-time performance. If a lock is detected, an alignment check exception #AC occurs.\n

\n
\n" }, "ENFORCE_TURNOFF_GP": { "$ref": "#/definitions/Boolean", "default": "n", "title": "UC lock detection", - "description": "

Enable detection of uncacheable-memory (UC) locks. A UC lock can negatively affect an application's real-time performance. If a lock is detected, a general-protection exception #GP occurs.

" + "description": "
\n

\n Enable detection of uncacheable-memory (UC) locks. A UC lock can negatively affect an application's real-time performance. If a lock is detected, a general-protection exception #GP occurs.\n

\n
\n" }, "SECURITY_VM_FIXUP": { "$ref": "#/definitions/Boolean", "default": "n", "title": "SECURITY_VM_FIXUP", - "description": "

Enable to do fixup for TPM2 and SMBIOS for Security VM. If no Security VM, setting this option to n

" + "description": "
\n

\n Enable to do fixup for TPM2 and SMBIOS for Security VM. If no Security VM, setting this option to\n \n n\n \n

\n
\n" }, "KEEP_IRQ_DISABLED": { "$ref": "#/definitions/Boolean", "default": "n", "title": "KEEP_IRQ_DISABLED", - "description": "

If y, permanently disables all interrupts in HV root mode.

" + "description": "
\n

\n If\n \n y\n \n , permanently disables all interrupts in HV root mode.\n

\n
\n" }, "RDT": { "$ref": "#/definitions/RDTType", "title": "Intel Resource Director Tech", - "description": "

Intel Resource Director Technology (RDT) provides cache and memory bandwidth allocation features. The features can be used to improve an application's real-time performance.

" + "description": "
\n

\n Intel Resource Director Technology (RDT) provides cache and memory bandwidth allocation features. The features can be used to improve an application's real-time performance.\n

\n
\n" }, "HYPERV_ENABLED": { "$ref": "#/definitions/Boolean", "default": "y", "title": "Hyper-V", - "description": "

Enable Microsoft Hyper-V Hypervisor Top-Level Functional Specification (TFLS) for User VMs running Windows.

" + "description": "
\n

\n Enable Microsoft Hyper-V Hypervisor Top-Level Functional Specification (TFLS) for User VMs running Windows.\n

\n
\n" }, "IOMMU_ENFORCE_SNP": { "$ref": "#/definitions/Boolean", "default": "n", "title": "IOMMU_ENFORCE_SNP", - "description": "

Specify if the IOMMU enforces snoop behavior of DMA operations.

" + "description": "
\n

\n Specify if the IOMMU enforces snoop behavior of DMA operations.\n

\n
\n" }, "ACPI_PARSE_ENABLED": { "$ref": "#/definitions/Boolean", "default": "y", "title": "Parse ACPI tables", - "description": "

Enable ACPI runtime parsing to get DMAR (DMA remapping) configuration data from the APCI tables. Otherwise, use existing, static information from the associated board configuration file.

" + "description": "
\n

\n Enable ACPI runtime parsing to get DMAR (DMA remapping) configuration data from the APCI tables. Otherwise, use existing, static information from the associated board configuration file.\n

\n
\n" }, "L1D_VMENTRY_ENABLED": { "$ref": "#/definitions/Boolean", "default": "y", "title": "Mitigate L1 terminal fault", - "description": "

Enable L1 cache flush before VM entry to prevent L1 terminal fault. L1 terminal fault is a hardware vulnerability that could allow unauthorized disclosure of information residing in the L1 data cache.

" + "description": "
\n

\n Enable L1 cache flush before VM entry to prevent L1 terminal fault. L1 terminal fault is a hardware vulnerability that could allow unauthorized disclosure of information residing in the L1 data cache.\n

\n
\n" }, "MCE_ON_PSC_DISABLED": { "$ref": "#/definitions/Boolean", "default": "y", "title": "MCE workaround", - "description": "

Enable the software workaround for Machine Check Error on Page Size Change (erratum in some processor families).

" + "description": "
\n

\n Enable the software workaround for Machine Check Error on Page Size Change (erratum in some processor families).\n

\n
\n" }, "IVSHMEM": { "$ref": "#/definitions/IVSHMEMInfo", "title": "Inter-VM shared memory", - "description": "

Configure shared memory regions for inter-VM communication.

" + "description": "
\n

\n Configure shared memory regions for inter-VM communication.\n

\n
\n" }, "SSRAM": { "$ref": "#/definitions/SSRAMInfo", "title": "Software SRAM", - "description": "

Configure Software SRAM. This feature reserves memory buffers as always-cached memory to improve an application's real-time performance.

" + "description": "
\n

\n Configure Software SRAM. This feature reserves memory buffers as always-cached memory to improve an application's real-time performance.\n

\n
\n" } } }, @@ -996,13 +996,13 @@ "$ref": "#/definitions/HexFormat", "default": "0x2000", "title": "CPU memory stack size (bytes)", - "description": "

Specify the size of the memory stack in bytes for each physical CPU. For example, if you specify 8 kilobytes, each CPU will get its own 8-kilobyte stack.

" + "description": "
\n

\n Specify the size of the memory stack in bytes for each physical CPU. For example, if you specify 8 kilobytes, each CPU will get its own 8-kilobyte stack.\n

\n
\n" }, "HV_RAM_START": { "$ref": "#/definitions/HexFormat", "default": "0x00400000", "title": "HV_RAM_START", - "description": "

The 2MB-aligned starting physical address of the RAM region used by the hypervisor.

" + "description": "
\n

\n The 2MB-aligned starting physical address of the RAM region used by the hypervisor.\n

\n
\n" } } }, @@ -1022,7 +1022,7 @@ "type": "integer", "default": 16, "title": "MAX_VM_NUM", - "description": "

Maximum number of User VMs allowed.

" + "description": "
\n

\n Maximum number of User VMs allowed.\n

\n
\n" }, "MAX_IOAPIC_NUM": { "type": "integer", @@ -1030,7 +1030,7 @@ "maximum": 10, "default": 1, "title": "MAX_IOAPIC_NUM", - "description": "

Maximum number of IOAPICs.

" + "description": "
\n

\n Maximum number of IOAPICs.\n

\n
\n" }, "MAX_PCI_DEV_NUM": { "type": "integer", @@ -1038,7 +1038,7 @@ "maximum": 1024, "default": 96, "title": "Max PCI devices", - "description": "

Specify the maximum number of PCI devices. This impacts the amount of memory used to maintain information about these PCI devices. The default value is calculated from the board configuration file. If you have PCI devices that were not detected by the Board Inspector, you may need to change this maximum value.

" + "description": "
\n

\n Specify the maximum number of PCI devices. This impacts the amount of memory used to maintain information about these PCI devices. The default value is calculated from the board configuration file. If you have PCI devices that were not detected by the Board Inspector, you may need to change this maximum value.\n

\n
\n" }, "MAX_IOAPIC_LINES": { "type": "integer", @@ -1046,13 +1046,13 @@ "maximum": 120, "default": 120, "title": "MAX_IOAPIC_LINES", - "description": "

Maximum number of interrupt lines per IOAPIC.

" + "description": "
\n

\n Maximum number of interrupt lines per IOAPIC.\n

\n
\n" }, "MAX_PT_IRQ_ENTRIES": { "type": "integer", "default": 256, "title": "Max passthrough IRQ entries", - "description": "

Specify the maximum number of interrupt request (IRQ) entries from all passthrough devices.

" + "description": "
\n

\n Specify the maximum number of interrupt request (IRQ) entries from all passthrough devices.\n

\n
\n" }, "MAX_MSIX_TABLE_NUM": { "type": "integer", @@ -1060,7 +1060,7 @@ "maximum": 2048, "default": 64, "title": "Max MSI-X tables", - "description": "

Specify the maximum number of Message Signaled Interrupt MSI-X tables per device. The default value is calculated from the board configuration file.

" + "description": "
\n

\n Specify the maximum number of Message Signaled Interrupt MSI-X tables per device. The default value is calculated from the board configuration file.\n

\n
\n" }, "MAX_EMULATED_MMIO": { "type": "integer", @@ -1068,7 +1068,7 @@ "maximum": 128, "default": 16, "title": "Max emulated MMIO regions", - "description": "

Specify the maximum number of emulated MMIO regions for device virtualization. The default value is calculated from the board configuration file.

" + "description": "
\n

\n Specify the maximum number of emulated MMIO regions for device virtualization. The default value is calculated from the board configuration file.\n

\n
\n" } } }, @@ -1082,7 +1082,7 @@ "$ref": "#/definitions/HexFormat", "default": "0x00000010", "title": "GPU_SBDF", - "description": "

Segment, Bus, Device, and function of the GPU.

" + "description": "
\n

\n Segment, Bus, Device, and function of the GPU.\n

\n
\n" } } }, @@ -1100,32 +1100,32 @@ "DEBUG_OPTIONS": { "$ref": "#/definitions/DebugOptionsType", "title": "Debug options", - "description": "

Configure the debug facilities.

" + "description": "
\n

\n Configure the debug facilities.\n

\n
\n" }, "FEATURES": { "$ref": "#/definitions/FeatureOptionsType", "title": "Hypervisor features", - "description": "

Enable hypervisor features.

" + "description": "
\n

\n Enable hypervisor features.\n

\n
\n" }, "MEMORY": { "$ref": "#/definitions/MemoryOptionsType", "title": "Memory options", - "description": "

Configure memory used by the hypervisor.

" + "description": "
\n

\n Configure memory used by the hypervisor.\n

\n
\n" }, "CAPACITIES": { "$ref": "#/definitions/CapacitiesOptionsType", "title": "Hypervisor capacities", - "description": "

Configure the capacities of the hypervisor.

" + "description": "
\n

\n Configure the capacities of the hypervisor.\n

\n
\n" }, "MISC_CFG": { "$ref": "#/definitions/MiscCfgOptionsType", "title": "MISC_CFG", - "description": "

Miscellaneous options for workarounds.

" + "description": "
\n

\n Miscellaneous options for workarounds.\n

\n
\n" }, "vuart_connections": { "$ref": "#/definitions/VuartConnectionsType", "title": "Inter-VM virtual UART connection", - "description": "

Specify the vUART connection settings.\nRefer to Enable vUART Configurations for detailed vUART settings.

" + "description": "
\n

\n Specify the vUART connection settings.\nRefer to\n \n Enable vUART Configurations\n \n for detailed vUART settings.\n

\n
\n" }, "CACHE_REGION": { "items": { @@ -1134,7 +1134,7 @@ "type": "array", "maxItems": 1, "title": "CACHE_REGION", - "description": "

Specify the cache setting.

" + "description": "
\n

\n Specify the cache setting.\n

\n
\n" } } }, @@ -1156,12 +1156,12 @@ "load_order": { "$ref": "#/definitions/LoadOrderType", "title": "Load order", - "description": "

Specify the load_order.

" + "description": "
\n

\n Specify the VM load order.\n

\n
\n" }, "vm_type": { "$ref": "#/definitions/VMType", "title": "VM type", - "description": "

Select the VM type. A standard VM (STANDARD_VM) is for general-purpose applications, such as human-machine interface (HMI). A real-time VM (RTVM) offers special features for time-sensitive applications.

" + "description": "
\n

\n Select the VM type. A standard VM (\n \n STANDARD_VM\n \n ) is for general-purpose applications, such as human-machine interface (HMI). A real-time VM (\n \n RTVM\n \n ) offers special features for time-sensitive applications.\n

\n
\n" }, "name": { "type": "string", @@ -1169,102 +1169,102 @@ "maxLength": 15, "pattern": "^\\S+$", "title": "VM name", - "description": "

Specify the name used to identify this VM. The VM name will be shown in the hypervisor console vm_list command.

" + "description": "
\n

\n Specify the name used to identify this VM. The VM name will be shown in the hypervisor console vm_list command.\n

\n
\n" }, "lapic_passthrough": { "$ref": "#/definitions/Boolean", "default": "n", "title": "LAPIC passthrough", - "description": "

Enable LAPIC passthrough for this VM. This feature is required for VMs with stringent real-time performance needs.

" + "description": "
\n

\n Enable LAPIC passthrough for this VM. This feature is required for VMs with stringent real-time performance needs.\n

\n
\n" }, "io_completion_polling": { "$ref": "#/definitions/Boolean", "default": "n", "title": "I/O completion polling", - "description": "

Enable polling mode for I/O completion for this VM. This feature is required for VMs with stringent real-time performance needs.

" + "description": "
\n

\n Enable polling mode for I/O completion for this VM. This feature is required for VMs with stringent real-time performance needs.\n

\n
\n" }, "nested_virtualization_support": { "$ref": "#/definitions/Boolean", "default": "n", "title": "Nested virtualization", - "description": "

Enable nested virtualization for KVM.

" + "description": "
\n

\n Enable nested virtualization for KVM.\n

\n
\n" }, "virtual_cat_support": { "$ref": "#/definitions/Boolean", "default": "n", - "title": "Virtual Cache Allocation Tech", - "description": "

Enable virtualization of the Cache Allocation Technology (CAT) feature in RDT. CAT enables you to allocate cache to VMs, providing isolation to avoid performance interference from other VMs.

" + "title": "VM Virtual Cache Allocation Tech", + "description": "
\n

\n Enable virtualization of the Cache Allocation Technology (CAT) feature in RDT. CAT enables you to allocate cache to VMs, providing isolation to avoid performance interference from other VMs.\n

\n
\n" }, "secure_world_support": { "$ref": "#/definitions/Boolean", "default": "n", "title": "secure_world_support", - "description": "

Specify secure world support for trusty OS.

" + "description": "
\n

\n Specify secure world support for trusty OS.\n

\n
\n" }, "hide_mtrr_support": { "$ref": "#/definitions/Boolean", "default": "n", "title": "hide_mtrr_support", - "description": "

Specify MTRR capability to hide for VM.

" + "description": "
\n

\n Specify MTRR capability to hide for VM.\n

\n
\n" }, "security_vm": { "$ref": "#/definitions/Boolean", "default": "n", "title": "security_vm", - "description": "

Specify TPM2 FIXUP for VM.

" + "description": "
\n

\n Specify TPM2 FIXUP for VM.\n

\n
\n" }, "cpu_affinity": { "$ref": "#/definitions/CPUAffinityConfigurations", "title": "Physical CPU affinity", - "description": "

Select a subset of physical CPUs that this VM can use. More than one can be selected.

" + "description": "
\n

\n Select a subset of physical CPUs that this VM can use. More than one can be selected.\n

\n
\n" }, "clos": { "$ref": "#/definitions/CLOSConfiguration", "title": "clos", - "description": "

Class of Service for Cache Allocation Technology.\nRefer SDM 17.19.2 for details, and use with caution.

" + "description": "
\n

\n Class of Service for Cache Allocation Technology.\nRefer SDM 17.19.2 for details, and use with caution.\n

\n
\n" }, "epc_section": { "$ref": "#/definitions/EPCSection", "title": "epc_section", - "description": "

Specify the Intel Software Guard Extensions (SGX) enclave page cache (EPC) section settings.

" + "description": "
\n

\n Specify the Intel Software Guard Extensions (SGX) enclave page cache (EPC) section settings.\n

\n
\n" }, "memory": { "$ref": "#/definitions/MemoryInfo", "title": "memory", - "description": "

Specify memory information for User VMs.

" + "description": "
\n

\n Specify memory information for User VMs.\n

\n
\n" }, "priority": { "$ref": "#/definitions/PriorityType", "default": "PRIO_LOW", "title": "priority", - "description": "

Specify the VM vCPU priority for scheduling.

" + "description": "
\n

\n Specify the VM vCPU priority for scheduling.\n

\n
\n" }, "companion_vmid": { "type": "integer", "default": 65535, "title": "companion_vmid", - "description": "

Specify the companion VM id of this VM.

" + "description": "
\n

\n Specify the companion VM id of this VM.\n

\n
\n" }, "os_config": { "$ref": "#/definitions/OSConfigurations", "title": "OS Configuration", - "description": "

General information for host kernel, boot\nargument and memory.

" + "description": "
\n

\n General information for host kernel, boot\nargument and memory.\n

\n
\n" }, "console_vuart": { "$ref": "#/definitions/ConsoleVuartConfiguration", "default": "None", "title": "Console virtual UART type", - "description": "

Select the console virtual UART (vUART) type. Add the console settings to the kernel command line by typing them in the \"Linux kernel command-line parameters\" text box (for example, console=ttyS0 for COM port 1).

" + "description": "
\n

\n Select the console virtual UART (vUART) type. Add the console settings to the kernel command line by typing them in the \"Linux kernel command-line parameters\" text box (for example,\n \n console=ttyS0\n \n for COM port 1).\n

\n
\n" }, "mmio_resources": { "$ref": "#/definitions/MMIOResourcesConfiguration", "title": "mmio_resources", - "description": "

MMIO resources to passthrough.

" + "description": "
\n

\n MMIO resources to passthrough.\n

\n
\n" }, "pt_intx": { "type": "string", "title": "pt_intx", - "description": "

Specify the pre-launched VM owned IOAPIC pins and the corresponding mapping between physical GSI and virtual GSI.

" + "description": "
\n

\n Specify the pre-launched VM owned IOAPIC pins and the corresponding mapping between physical GSI and virtual GSI.\n

\n
\n" }, "pci_devs": { "$ref": "#/definitions/PCIDevsConfiguration", @@ -1275,31 +1275,31 @@ "$ref": "#/definitions/Boolean", "default": "y", "title": "Precision Time Measurement", - "description": "

Enable virtualization of PCIe Precision Time Measurement (PTM) mechanism for devices with PTM capability and for real-time application. The hypervisor provides PCIe root port emulation instead of host bridge emulation for the VM. PTM coordinates timing between the device and root port with the device's local timebases without relying on software.

" + "description": "
\n

\n Enable virtualization of PCIe Precision Time Measurement (PTM) mechanism for devices with PTM capability and for real-time application. The hypervisor provides PCIe root port emulation instead of host bridge emulation for the VM. PTM coordinates timing between the device and root port with the device's local timebases without relying on software.\n

\n
\n" }, "os_type": { "$ref": "#/definitions/OSType", "default": "Non-Windows OS", "title": "OS type", - "description": "

Select the OS type for this VM. This is required to run Windows in a User VM. See Device Model Parameters for how to include this in the Device Model arguments.

" + "description": "
\n

\n Select the OS type for this VM. This is required to run Windows in a User VM. See\n \n Device Model Parameters\n \n for how to include this in the Device Model arguments.\n

\n
\n" }, "vbootloader": { "$ref": "#/definitions/Boolean", "default": "y", "title": "Enable Open Virtual Machine FW", - "description": "

Use virtual bootloader OVMF (Open Virtual Machine Firmware) to boot this VM.

" + "description": "
\n

\n Use virtual bootloader OVMF (Open Virtual Machine Firmware) to boot this VM.\n

\n
\n" }, "vuart0": { "$ref": "#/definitions/Boolean", "default": "y", "title": "Emulate COM1 as stdio I/O", - "description": "

Enable the ACRN Device Model to emulate COM1 as a User VM stdio I/O. Hypervisor global emulation will take priority over this VM setting.

" + "description": "
\n

\n Enable the ACRN Device Model to emulate COM1 as a User VM stdio I/O. Hypervisor global emulation will take priority over this VM setting.\n

\n
\n" }, "usb_xhci": { "type": "string", "pattern": "^([\\d]+-[\\d]+){0,1}(:[\\d]+-[\\d]+)*$", "title": "Virtual USB HCI", - "description": "

Select the USB physical bus and port number that will be emulated by the ACRN Device Model for this VM. USB 3.0, 2.0, and 1.0 are supported.

" + "description": "
\n

\n Select the USB physical bus and port number that will be emulated by the ACRN Device Model for this VM. USB 3.0, 2.0, and 1.0 are supported.\n

\n
\n" }, "virtio_devices": { "type": "object", @@ -1310,7 +1310,7 @@ }, "type": "array", "title": "Virtio console device", - "description": "

Virtio console device for data input and output.\nThe virtio console BE driver copies data from the frontend's transmitting virtqueue when it receives a kick on virtqueue (implemented as a vmexit).\nThe BE driver then writes the data to backend, and can be implemented as PTY, TTY, STDIO, and regular file.\nFor details, see Virtio-Console.

" + "description": "
\n

\n Virtio console device for data input and output.\nThe virtio console BE driver copies data from the frontend's transmitting virtqueue when it receives a kick on virtqueue (implemented as a vmexit).\nThe BE driver then writes the data to backend, and can be implemented as PTY, TTY, STDIO, and regular file.\nFor details, see\n \n Virtio-Console\n \n .\n

\n
\n" }, "network": { "items": { @@ -1318,7 +1318,7 @@ }, "type": "array", "title": "Virtio network device", - "description": "

The virtio network device emulates a virtual network interface card (NIC) for the VM. The frontend\nis the virtio network driver, simulating the virtual NIC. The backend could be: tap device /dev/net/tun,\nMacVTap device /dev/tapx, or vhost device /dev/vhost-net

" + "description": "
\n

\n The virtio network device emulates a virtual network interface card (NIC) for the VM. The frontend\nis the virtio network driver, simulating the virtual NIC. The backend could be:\n \n tap\n \n device /dev/net/tun,\n \n MacVTap\n \n device /dev/tapx, or\n \n vhost\n \n device /dev/vhost-net\n

\n
\n" }, "input": { "items": { @@ -1326,7 +1326,7 @@ }, "type": "array", "title": "Virtio input device", - "description": "

The virtio input device creates a virtual human interface device such as a keyboard,\nmouse, and tablet. It sends Linux input layer events over virtio.

" + "description": "
\n

\n The virtio input device creates a virtual human interface device such as a keyboard,\nmouse, and tablet. It sends Linux input layer events over virtio.\n

\n
\n" }, "block": { "items": { @@ -1334,16 +1334,16 @@ }, "type": "array", "title": "Virtio block device", - "description": "

The virtio-blk device presents a block device to the VM. Each virtio-blk device appears as a disk inside the VM.

" + "description": "
\n

\n The virtio-blk device presents a block device to the VM. Each virtio-blk device appears as a disk inside the VM.\n

\n
\n" }, "gpu": { "type": "string", "title": "Virtio GPU device", - "description": "
\n
The virtio GPU device presents a GPU device to the VM.
\n

This feature enables you to view the VM's GPU output in the Service VM.

\n
\n
" + "description": "
\n
\n
\n The virtio GPU device presents a GPU device to the VM.\n
\n
\n

\n This feature enables you to view the VM's GPU output in the Service VM.\n

\n
\n
\n
\n" } }, "title": "Virt-IO devices", - "description": "

Enable virt-IO devices in post-launched VMs.

" + "description": "
\n

\n Enable virt-IO devices in post-launched VMs.\n

\n
\n" } } }, @@ -1357,7 +1357,7 @@ "hv": { "$ref": "#/definitions/HVConfigType", "title": "Hypervisor Options", - "description": "

The hypervisor configuration defines a working scenario and target\nboard by configuring the hypervisor image features and capabilities such as\nsetting up the log and the serial port.

" + "description": "
\n

\n The hypervisor configuration defines a working scenario and target\nboard by configuring the hypervisor image features and capabilities such as\nsetting up the log and the serial port.\n

\n
\n" }, "vm": { "items": { @@ -1402,7 +1402,7 @@ }, "type": "array", "title": "Virtual Machine Options", - "description": "

VM configuration includes scenario-based VM configuration\ninformation that is used to describe the characteristics and attributes for\nall VMs in a user scenario. It also includes launch script-based VM\nconfiguration information, where parameters are passed to the device model\nto launch post-launched User VMs.

" + "description": "
\n

\n VM configuration includes\n \n scenario-based\n \n VM configuration\ninformation that is used to describe the characteristics and attributes for\nall VMs in a user scenario. It also includes\n \n launch script-based\n \n VM\nconfiguration information, where parameters are passed to the device model\nto launch post-launched User VMs.\n

\n
\n" } } }, @@ -1420,12 +1420,12 @@ "load_order": { "$ref": "#/definitions/LoadOrderType", "title": "Load order", - "description": "

Specify the load_order.

" + "description": "
\n

\n Specify the VM load order.\n

\n
\n" }, "vm_type": { "$ref": "#/definitions/VMType", "title": "VM type", - "description": "

Select the VM type. A standard VM (STANDARD_VM) is for general-purpose applications, such as human-machine interface (HMI). A real-time VM (RTVM) offers special features for time-sensitive applications.

" + "description": "
\n

\n Select the VM type. A standard VM (\n \n STANDARD_VM\n \n ) is for general-purpose applications, such as human-machine interface (HMI). A real-time VM (\n \n RTVM\n \n ) offers special features for time-sensitive applications.\n

\n
\n" }, "name": { "type": "string", @@ -1433,96 +1433,96 @@ "maxLength": 15, "pattern": "^\\S+$", "title": "VM name", - "description": "

Specify the name used to identify this VM. The VM name will be shown in the hypervisor console vm_list command.

" + "description": "
\n

\n Specify the name used to identify this VM. The VM name will be shown in the hypervisor console vm_list command.\n

\n
\n" }, "lapic_passthrough": { "$ref": "#/definitions/Boolean", "default": "n", "title": "LAPIC passthrough", - "description": "

Enable LAPIC passthrough for this VM. This feature is required for VMs with stringent real-time performance needs.

" + "description": "
\n

\n Enable LAPIC passthrough for this VM. This feature is required for VMs with stringent real-time performance needs.\n

\n
\n" }, "io_completion_polling": { "$ref": "#/definitions/Boolean", "default": "n", "title": "I/O completion polling", - "description": "

Enable polling mode for I/O completion for this VM. This feature is required for VMs with stringent real-time performance needs.

" + "description": "
\n

\n Enable polling mode for I/O completion for this VM. This feature is required for VMs with stringent real-time performance needs.\n

\n
\n" }, "virtual_cat_support": { "$ref": "#/definitions/Boolean", "default": "n", - "title": "Virtual Cache Allocation Tech", - "description": "

Enable virtualization of the Cache Allocation Technology (CAT) feature in RDT. CAT enables you to allocate cache to VMs, providing isolation to avoid performance interference from other VMs.

" + "title": "VM Virtual Cache Allocation Tech", + "description": "
\n

\n Enable virtualization of the Cache Allocation Technology (CAT) feature in RDT. CAT enables you to allocate cache to VMs, providing isolation to avoid performance interference from other VMs.\n

\n
\n" }, "secure_world_support": { "$ref": "#/definitions/Boolean", "default": "n", "title": "secure_world_support", - "description": "

Specify secure world support for trusty OS.

" + "description": "
\n

\n Specify secure world support for trusty OS.\n

\n
\n" }, "hide_mtrr_support": { "$ref": "#/definitions/Boolean", "default": "n", "title": "hide_mtrr_support", - "description": "

Specify MTRR capability to hide for VM.

" + "description": "
\n

\n Specify MTRR capability to hide for VM.\n

\n
\n" }, "security_vm": { "$ref": "#/definitions/Boolean", "default": "n", "title": "security_vm", - "description": "

Specify TPM2 FIXUP for VM.

" + "description": "
\n

\n Specify TPM2 FIXUP for VM.\n

\n
\n" }, "cpu_affinity": { "$ref": "#/definitions/CPUAffinityConfigurations", "title": "Physical CPU affinity", - "description": "

Select a subset of physical CPUs that this VM can use. More than one can be selected.

" + "description": "
\n

\n Select a subset of physical CPUs that this VM can use. More than one can be selected.\n

\n
\n" }, "clos": { "$ref": "#/definitions/CLOSConfiguration", "title": "clos", - "description": "

Class of Service for Cache Allocation Technology.\nRefer SDM 17.19.2 for details, and use with caution.

" + "description": "
\n

\n Class of Service for Cache Allocation Technology.\nRefer SDM 17.19.2 for details, and use with caution.\n

\n
\n" }, "epc_section": { "$ref": "#/definitions/EPCSection", "title": "epc_section", - "description": "

Specify the Intel Software Guard Extensions (SGX) enclave page cache (EPC) section settings.

" + "description": "
\n

\n Specify the Intel Software Guard Extensions (SGX) enclave page cache (EPC) section settings.\n

\n
\n" }, "memory": { "$ref": "#/definitions/MemoryInfo", "title": "memory", - "description": "

Specify memory information for User VMs.

" + "description": "
\n

\n Specify memory information for User VMs.\n

\n
\n" }, "priority": { "$ref": "#/definitions/PriorityType", "default": "PRIO_LOW", "title": "priority", - "description": "

Specify the VM vCPU priority for scheduling.

" + "description": "
\n

\n Specify the VM vCPU priority for scheduling.\n

\n
\n" }, "companion_vmid": { "type": "integer", "default": 65535, "title": "companion_vmid", - "description": "

Specify the companion VM id of this VM.

" + "description": "
\n

\n Specify the companion VM id of this VM.\n

\n
\n" }, "os_config": { "$ref": "#/definitions/OSConfigurations", "title": "OS Configuration", - "description": "

General information for host kernel, boot\nargument and memory.

" + "description": "
\n

\n General information for host kernel, boot\nargument and memory.\n

\n
\n" }, "console_vuart": { "$ref": "#/definitions/ConsoleVuartConfiguration", "default": "None", "title": "Console virtual UART type", - "description": "

Select the console virtual UART (vUART) type. Add the console settings to the kernel command line by typing them in the \"Linux kernel command-line parameters\" text box (for example, console=ttyS0 for COM port 1).

" + "description": "
\n

\n Select the console virtual UART (vUART) type. Add the console settings to the kernel command line by typing them in the \"Linux kernel command-line parameters\" text box (for example,\n \n console=ttyS0\n \n for COM port 1).\n

\n
\n" }, "mmio_resources": { "$ref": "#/definitions/MMIOResourcesConfiguration", "title": "mmio_resources", - "description": "

MMIO resources to passthrough.

" + "description": "
\n

\n MMIO resources to passthrough.\n

\n
\n" }, "pt_intx": { "type": "string", "title": "pt_intx", - "description": "

Specify the pre-launched VM owned IOAPIC pins and the corresponding mapping between physical GSI and virtual GSI.

" + "description": "
\n

\n Specify the pre-launched VM owned IOAPIC pins and the corresponding mapping between physical GSI and virtual GSI.\n

\n
\n" }, "pci_devs": { "$ref": "#/definitions/PCIDevsConfiguration", @@ -1533,7 +1533,7 @@ "$ref": "#/definitions/Boolean", "default": "y", "title": "Precision Time Measurement", - "description": "

Enable virtualization of PCIe Precision Time Measurement (PTM) mechanism for devices with PTM capability and for real-time application. The hypervisor provides PCIe root port emulation instead of host bridge emulation for the VM. PTM coordinates timing between the device and root port with the device's local timebases without relying on software.

" + "description": "
\n

\n Enable virtualization of PCIe Precision Time Measurement (PTM) mechanism for devices with PTM capability and for real-time application. The hypervisor provides PCIe root port emulation instead of host bridge emulation for the VM. PTM coordinates timing between the device and root port with the device's local timebases without relying on software.\n

\n
\n" } } }, @@ -1551,12 +1551,12 @@ "load_order": { "$ref": "#/definitions/LoadOrderType", "title": "Load order", - "description": "

Specify the load_order.

" + "description": "
\n

\n Specify the VM load order.\n

\n
\n" }, "vm_type": { "$ref": "#/definitions/VMType", "title": "VM type", - "description": "

Select the VM type. A standard VM (STANDARD_VM) is for general-purpose applications, such as human-machine interface (HMI). A real-time VM (RTVM) offers special features for time-sensitive applications.

" + "description": "
\n

\n Select the VM type. A standard VM (\n \n STANDARD_VM\n \n ) is for general-purpose applications, such as human-machine interface (HMI). A real-time VM (\n \n RTVM\n \n ) offers special features for time-sensitive applications.\n

\n
\n" }, "name": { "type": "string", @@ -1564,64 +1564,64 @@ "maxLength": 15, "pattern": "^\\S+$", "title": "VM name", - "description": "

Specify the name used to identify this VM. The VM name will be shown in the hypervisor console vm_list command.

" + "description": "
\n

\n Specify the name used to identify this VM. The VM name will be shown in the hypervisor console vm_list command.\n

\n
\n" }, "nested_virtualization_support": { "$ref": "#/definitions/Boolean", "default": "n", "title": "Nested virtualization", - "description": "

Enable nested virtualization for KVM.

" + "description": "
\n

\n Enable nested virtualization for KVM.\n

\n
\n" }, "secure_world_support": { "$ref": "#/definitions/Boolean", "default": "n", "title": "secure_world_support", - "description": "

Specify secure world support for trusty OS.

" + "description": "
\n

\n Specify secure world support for trusty OS.\n

\n
\n" }, "hide_mtrr_support": { "$ref": "#/definitions/Boolean", "default": "n", "title": "hide_mtrr_support", - "description": "

Specify MTRR capability to hide for VM.

" + "description": "
\n

\n Specify MTRR capability to hide for VM.\n

\n
\n" }, "security_vm": { "$ref": "#/definitions/Boolean", "default": "n", "title": "security_vm", - "description": "

Specify TPM2 FIXUP for VM.

" + "description": "
\n

\n Specify TPM2 FIXUP for VM.\n

\n
\n" }, "cpu_affinity": { "$ref": "#/definitions/CPUAffinityConfigurations", "title": "Physical CPU affinity", - "description": "

Select a subset of physical CPUs that this VM can use. More than one can be selected.

" + "description": "
\n

\n Select a subset of physical CPUs that this VM can use. More than one can be selected.\n

\n
\n" }, "clos": { "$ref": "#/definitions/CLOSConfiguration", "title": "clos", - "description": "

Class of Service for Cache Allocation Technology.\nRefer SDM 17.19.2 for details, and use with caution.

" + "description": "
\n

\n Class of Service for Cache Allocation Technology.\nRefer SDM 17.19.2 for details, and use with caution.\n

\n
\n" }, "priority": { "$ref": "#/definitions/PriorityType", "default": "PRIO_LOW", "title": "priority", - "description": "

Specify the VM vCPU priority for scheduling.

" + "description": "
\n

\n Specify the VM vCPU priority for scheduling.\n

\n
\n" }, "companion_vmid": { "type": "integer", "default": 65535, "title": "companion_vmid", - "description": "

Specify the companion VM id of this VM.

" + "description": "
\n

\n Specify the companion VM id of this VM.\n

\n
\n" }, "os_config": { "$ref": "#/definitions/OSConfigurations", "title": "OS Configuration", - "description": "

General information for host kernel, boot\nargument and memory.

" + "description": "
\n

\n General information for host kernel, boot\nargument and memory.\n

\n
\n" }, "console_vuart": { "$ref": "#/definitions/ConsoleVuartConfiguration", "default": "None", "title": "Console virtual UART type", - "description": "

Select the console virtual UART (vUART) type. Add the console settings to the kernel command line by typing them in the \"Linux kernel command-line parameters\" text box (for example, console=ttyS0 for COM port 1).

" + "description": "
\n

\n Select the console virtual UART (vUART) type. Add the console settings to the kernel command line by typing them in the \"Linux kernel command-line parameters\" text box (for example,\n \n console=ttyS0\n \n for COM port 1).\n

\n
\n" } } }, @@ -1632,7 +1632,7 @@ "type": "integer", "default": 256, "title": "Memory size (MB)", - "description": "

Specify the physical memory size allocated to this VM in megabytes.

" + "description": "
\n

\n Specify the physical memory size allocated to this VM in megabytes.\n

\n
\n" } } }, @@ -1654,12 +1654,12 @@ "load_order": { "$ref": "#/definitions/LoadOrderType", "title": "Load order", - "description": "

Specify the load_order.

" + "description": "
\n

\n Specify the VM load order.\n

\n
\n" }, "vm_type": { "$ref": "#/definitions/VMType", "title": "VM type", - "description": "

Select the VM type. A standard VM (STANDARD_VM) is for general-purpose applications, such as human-machine interface (HMI). A real-time VM (RTVM) offers special features for time-sensitive applications.

" + "description": "
\n

\n Select the VM type. A standard VM (\n \n STANDARD_VM\n \n ) is for general-purpose applications, such as human-machine interface (HMI). A real-time VM (\n \n RTVM\n \n ) offers special features for time-sensitive applications.\n

\n
\n" }, "name": { "type": "string", @@ -1667,76 +1667,76 @@ "maxLength": 15, "pattern": "^\\S+$", "title": "VM name", - "description": "

Specify the name used to identify this VM. The VM name will be shown in the hypervisor console vm_list command.

" + "description": "
\n

\n Specify the name used to identify this VM. The VM name will be shown in the hypervisor console vm_list command.\n

\n
\n" }, "lapic_passthrough": { "$ref": "#/definitions/Boolean", "default": "n", "title": "LAPIC passthrough", - "description": "

Enable LAPIC passthrough for this VM. This feature is required for VMs with stringent real-time performance needs.

" + "description": "
\n

\n Enable LAPIC passthrough for this VM. This feature is required for VMs with stringent real-time performance needs.\n

\n
\n" }, "io_completion_polling": { "$ref": "#/definitions/Boolean", "default": "n", "title": "I/O completion polling", - "description": "

Enable polling mode for I/O completion for this VM. This feature is required for VMs with stringent real-time performance needs.

" + "description": "
\n

\n Enable polling mode for I/O completion for this VM. This feature is required for VMs with stringent real-time performance needs.\n

\n
\n" }, "virtual_cat_support": { "$ref": "#/definitions/Boolean", "default": "n", - "title": "Virtual Cache Allocation Tech", - "description": "

Enable virtualization of the Cache Allocation Technology (CAT) feature in RDT. CAT enables you to allocate cache to VMs, providing isolation to avoid performance interference from other VMs.

" + "title": "VM Virtual Cache Allocation Tech", + "description": "
\n

\n Enable virtualization of the Cache Allocation Technology (CAT) feature in RDT. CAT enables you to allocate cache to VMs, providing isolation to avoid performance interference from other VMs.\n

\n
\n" }, "secure_world_support": { "$ref": "#/definitions/Boolean", "default": "n", "title": "secure_world_support", - "description": "

Specify secure world support for trusty OS.

" + "description": "
\n

\n Specify secure world support for trusty OS.\n

\n
\n" }, "hide_mtrr_support": { "$ref": "#/definitions/Boolean", "default": "n", "title": "hide_mtrr_support", - "description": "

Specify MTRR capability to hide for VM.

" + "description": "
\n

\n Specify MTRR capability to hide for VM.\n

\n
\n" }, "security_vm": { "$ref": "#/definitions/Boolean", "default": "n", "title": "security_vm", - "description": "

Specify TPM2 FIXUP for VM.

" + "description": "
\n

\n Specify TPM2 FIXUP for VM.\n

\n
\n" }, "cpu_affinity": { "$ref": "#/definitions/CPUAffinityConfigurations", "title": "Physical CPU affinity", - "description": "

Select a subset of physical CPUs that this VM can use. More than one can be selected.

" + "description": "
\n

\n Select a subset of physical CPUs that this VM can use. More than one can be selected.\n

\n
\n" }, "clos": { "$ref": "#/definitions/CLOSConfiguration", "title": "clos", - "description": "

Class of Service for Cache Allocation Technology.\nRefer SDM 17.19.2 for details, and use with caution.

" + "description": "
\n

\n Class of Service for Cache Allocation Technology.\nRefer SDM 17.19.2 for details, and use with caution.\n

\n
\n" }, "memory": { "$ref": "#/definitions/PostLaunchedMemoryInfo", "title": "memory", - "description": "

Specify memory information for User VMs.

" + "description": "
\n

\n Specify memory information for User VMs.\n

\n
\n" }, "priority": { "$ref": "#/definitions/PriorityType", "default": "PRIO_LOW", "title": "priority", - "description": "

Specify the VM vCPU priority for scheduling.

" + "description": "
\n

\n Specify the VM vCPU priority for scheduling.\n

\n
\n" }, "companion_vmid": { "type": "integer", "default": 65535, "title": "companion_vmid", - "description": "

Specify the companion VM id of this VM.

" + "description": "
\n

\n Specify the companion VM id of this VM.\n

\n
\n" }, "console_vuart": { "$ref": "#/definitions/ConsoleVuartConfiguration", "default": "None", "title": "Console virtual UART type", - "description": "

Select the console virtual UART (vUART) type. Add the console settings to the kernel command line by typing them in the \"Linux kernel command-line parameters\" text box (for example, console=ttyS0 for COM port 1).

" + "description": "
\n

\n Select the console virtual UART (vUART) type. Add the console settings to the kernel command line by typing them in the \"Linux kernel command-line parameters\" text box (for example,\n \n console=ttyS0\n \n for COM port 1).\n

\n
\n" }, "pci_devs": { "$ref": "#/definitions/PCIDevsConfiguration", @@ -1747,31 +1747,31 @@ "$ref": "#/definitions/Boolean", "default": "y", "title": "Precision Time Measurement", - "description": "

Enable virtualization of PCIe Precision Time Measurement (PTM) mechanism for devices with PTM capability and for real-time application. The hypervisor provides PCIe root port emulation instead of host bridge emulation for the VM. PTM coordinates timing between the device and root port with the device's local timebases without relying on software.

" + "description": "
\n

\n Enable virtualization of PCIe Precision Time Measurement (PTM) mechanism for devices with PTM capability and for real-time application. The hypervisor provides PCIe root port emulation instead of host bridge emulation for the VM. PTM coordinates timing between the device and root port with the device's local timebases without relying on software.\n

\n
\n" }, "os_type": { "$ref": "#/definitions/OSType", "default": "Non-Windows OS", "title": "OS type", - "description": "

Select the OS type for this VM. This is required to run Windows in a User VM. See Device Model Parameters for how to include this in the Device Model arguments.

" + "description": "
\n

\n Select the OS type for this VM. This is required to run Windows in a User VM. See\n \n Device Model Parameters\n \n for how to include this in the Device Model arguments.\n

\n
\n" }, "vbootloader": { "$ref": "#/definitions/Boolean", "default": "y", "title": "Enable Open Virtual Machine FW", - "description": "

Use virtual bootloader OVMF (Open Virtual Machine Firmware) to boot this VM.

" + "description": "
\n

\n Use virtual bootloader OVMF (Open Virtual Machine Firmware) to boot this VM.\n

\n
\n" }, "vuart0": { "$ref": "#/definitions/Boolean", "default": "y", "title": "Emulate COM1 as stdio I/O", - "description": "

Enable the ACRN Device Model to emulate COM1 as a User VM stdio I/O. Hypervisor global emulation will take priority over this VM setting.

" + "description": "
\n

\n Enable the ACRN Device Model to emulate COM1 as a User VM stdio I/O. Hypervisor global emulation will take priority over this VM setting.\n

\n
\n" }, "usb_xhci": { "type": "string", "pattern": "^([\\d]+-[\\d]+){0,1}(:[\\d]+-[\\d]+)*$", "title": "Virtual USB HCI", - "description": "

Select the USB physical bus and port number that will be emulated by the ACRN Device Model for this VM. USB 3.0, 2.0, and 1.0 are supported.

" + "description": "
\n

\n Select the USB physical bus and port number that will be emulated by the ACRN Device Model for this VM. USB 3.0, 2.0, and 1.0 are supported.\n

\n
\n" }, "virtio_devices": { "type": "object", @@ -1782,7 +1782,7 @@ }, "type": "array", "title": "Virtio console device", - "description": "

Virtio console device for data input and output.\nThe virtio console BE driver copies data from the frontend's transmitting virtqueue when it receives a kick on virtqueue (implemented as a vmexit).\nThe BE driver then writes the data to backend, and can be implemented as PTY, TTY, STDIO, and regular file.\nFor details, see Virtio-Console.

" + "description": "
\n

\n Virtio console device for data input and output.\nThe virtio console BE driver copies data from the frontend's transmitting virtqueue when it receives a kick on virtqueue (implemented as a vmexit).\nThe BE driver then writes the data to backend, and can be implemented as PTY, TTY, STDIO, and regular file.\nFor details, see\n \n Virtio-Console\n \n .\n

\n
\n" }, "network": { "items": { @@ -1790,7 +1790,7 @@ }, "type": "array", "title": "Virtio network device", - "description": "

The virtio network device emulates a virtual network interface card (NIC) for the VM. The frontend\nis the virtio network driver, simulating the virtual NIC. The backend could be: tap device /dev/net/tun,\nMacVTap device /dev/tapx, or vhost device /dev/vhost-net

" + "description": "
\n

\n The virtio network device emulates a virtual network interface card (NIC) for the VM. The frontend\nis the virtio network driver, simulating the virtual NIC. The backend could be:\n \n tap\n \n device /dev/net/tun,\n \n MacVTap\n \n device /dev/tapx, or\n \n vhost\n \n device /dev/vhost-net\n

\n
\n" }, "input": { "items": { @@ -1798,7 +1798,7 @@ }, "type": "array", "title": "Virtio input device", - "description": "

The virtio input device creates a virtual human interface device such as a keyboard,\nmouse, and tablet. It sends Linux input layer events over virtio.

" + "description": "
\n

\n The virtio input device creates a virtual human interface device such as a keyboard,\nmouse, and tablet. It sends Linux input layer events over virtio.\n

\n
\n" }, "block": { "items": { @@ -1806,16 +1806,16 @@ }, "type": "array", "title": "Virtio block device", - "description": "

The virtio-blk device presents a block device to the VM. Each virtio-blk device appears as a disk inside the VM.

" + "description": "
\n

\n The virtio-blk device presents a block device to the VM. Each virtio-blk device appears as a disk inside the VM.\n

\n
\n" }, "gpu": { "type": "string", "title": "Virtio GPU device", - "description": "
\n
The virtio GPU device presents a GPU device to the VM.
\n

This feature enables you to view the VM's GPU output in the Service VM.

\n
\n
" + "description": "
\n
\n
\n The virtio GPU device presents a GPU device to the VM.\n
\n
\n

\n This feature enables you to view the VM's GPU output in the Service VM.\n

\n
\n
\n
\n" } }, "title": "Virt-IO devices", - "description": "

Enable virt-IO devices in post-launched VMs.

" + "description": "
\n

\n Enable virt-IO devices in post-launched VMs.\n

\n
\n" } } }, @@ -1826,7 +1826,7 @@ "type": "integer", "default": 256, "title": "Memory size (MB)", - "description": "

Specify the physical memory size allocated to this VM in megabytes.

" + "description": "
\n

\n Specify the physical memory size allocated to this VM in megabytes.\n

\n
\n" } } }, @@ -1839,22 +1839,22 @@ "kern_type": { "$ref": "#/definitions/BasicVMKernelType", "title": "Kernel image type", - "description": "

Select the kernel image type so that the hypervisor can load it correctly.

" + "description": "
\n

\n Select the kernel image type so that the hypervisor can load it correctly.\n

\n
\n" }, "kern_mod": { "type": "string", "title": "Kernel module tag", - "description": "

Specify the tag for the kernel image that is used as a multiboot module. The tag's spelling must exactly match the module tag in the GRUB multiboot cmdline.

" + "description": "
\n

\n Specify the tag for the kernel image that is used as a multiboot module. The tag's spelling must exactly match the module tag in the GRUB multiboot cmdline.\n

\n
\n" }, "ramdisk_mod": { "type": "string", "title": "RAMdisk module tag", - "description": "

Specify the tag for the RAMdisk image that is used as a multiboot module. The tag's spelling must exactly match the module tag in the GRUB multiboot cmdline.

" + "description": "
\n

\n Specify the tag for the RAMdisk image that is used as a multiboot module. The tag's spelling must exactly match the module tag in the GRUB multiboot cmdline.\n

\n
\n" }, "bootargs": { "type": "string", "title": "Kernel command-line parameters", - "description": "

Specify the command-line parameters that will be used to boot the kernel for this VM. See Linux documentation for a list of parameters.

" + "description": "
\n

\n Specify the command-line parameters that will be used to boot the kernel for this VM. See\n \n Linux documentation\n \n for a list of parameters.\n

\n
\n" } } }, @@ -1872,7 +1872,7 @@ "vm_type": { "$ref": "#/definitions/BasicVMType", "title": "VM type", - "description": "

Select the VM type. A standard VM (STANDARD_VM) is for general-purpose applications, such as human-machine interface (HMI). A real-time VM (RTVM) offers special features for time-sensitive applications.

" + "description": "
\n

\n Select the VM type. A standard VM (\n \n STANDARD_VM\n \n ) is for general-purpose applications, such as human-machine interface (HMI). A real-time VM (\n \n RTVM\n \n ) offers special features for time-sensitive applications.\n

\n
\n" }, "name": { "type": "string", @@ -1880,33 +1880,33 @@ "maxLength": 15, "pattern": "^\\S+$", "title": "VM name", - "description": "

Specify the name used to identify this VM. The VM name will be shown in the hypervisor console vm_list command.

" + "description": "
\n

\n Specify the name used to identify this VM. The VM name will be shown in the hypervisor console vm_list command.\n

\n
\n" }, "cpu_affinity": { "$ref": "#/definitions/CPUAffinityConfigurations", "title": "Physical CPU affinity", - "description": "

Select a subset of physical CPUs that this VM can use. More than one can be selected.

" + "description": "
\n

\n Select a subset of physical CPUs that this VM can use. More than one can be selected.\n

\n
\n" }, "memory": { "$ref": "#/definitions/BasicMemoryInfo", "title": "memory", - "description": "

Specify memory information for User VMs.

" + "description": "
\n

\n Specify memory information for User VMs.\n

\n
\n" }, "os_config": { "$ref": "#/definitions/BasicOSConfigurations", "title": "OS Configuration", - "description": "

General information for host kernel, boot\nargument and memory.

" + "description": "
\n

\n General information for host kernel, boot\nargument and memory.\n

\n
\n" }, "console_vuart": { "$ref": "#/definitions/ConsoleVuartConfiguration", "default": "None", "title": "Console virtual UART type", - "description": "

Select the console virtual UART (vUART) type. Add the console settings to the kernel command line by typing them in the \"Linux kernel command-line parameters\" text box (for example, console=ttyS0 for COM port 1).

" + "description": "
\n

\n Select the console virtual UART (vUART) type. Add the console settings to the kernel command line by typing them in the \"Linux kernel command-line parameters\" text box (for example,\n \n console=ttyS0\n \n for COM port 1).\n

\n
\n" }, "mmio_resources": { "$ref": "#/definitions/MMIOResourcesConfiguration", "title": "mmio_resources", - "description": "

MMIO resources to passthrough.

" + "description": "
\n

\n MMIO resources to passthrough.\n

\n
\n" }, "pci_devs": { "$ref": "#/definitions/PCIDevsConfiguration", @@ -1917,25 +1917,25 @@ "$ref": "#/definitions/OSType", "default": "Non-Windows OS", "title": "OS type", - "description": "

Select the OS type for this VM. This is required to run Windows in a User VM. See Device Model Parameters for how to include this in the Device Model arguments.

" + "description": "
\n

\n Select the OS type for this VM. This is required to run Windows in a User VM. See\n \n Device Model Parameters\n \n for how to include this in the Device Model arguments.\n

\n
\n" }, "vbootloader": { "$ref": "#/definitions/Boolean", "default": "y", "title": "Enable Open Virtual Machine FW", - "description": "

Use virtual bootloader OVMF (Open Virtual Machine Firmware) to boot this VM.

" + "description": "
\n

\n Use virtual bootloader OVMF (Open Virtual Machine Firmware) to boot this VM.\n

\n
\n" }, "vuart0": { "$ref": "#/definitions/Boolean", "default": "y", "title": "Emulate COM1 as stdio I/O", - "description": "

Enable the ACRN Device Model to emulate COM1 as a User VM stdio I/O. Hypervisor global emulation will take priority over this VM setting.

" + "description": "
\n

\n Enable the ACRN Device Model to emulate COM1 as a User VM stdio I/O. Hypervisor global emulation will take priority over this VM setting.\n

\n
\n" }, "usb_xhci": { "type": "string", "pattern": "^([\\d]+-[\\d]+){0,1}(:[\\d]+-[\\d]+)*$", "title": "Virtual USB HCI", - "description": "

Select the USB physical bus and port number that will be emulated by the ACRN Device Model for this VM. USB 3.0, 2.0, and 1.0 are supported.

" + "description": "
\n

\n Select the USB physical bus and port number that will be emulated by the ACRN Device Model for this VM. USB 3.0, 2.0, and 1.0 are supported.\n

\n
\n" }, "virtio_devices": { "type": "object", @@ -1946,7 +1946,7 @@ }, "type": "array", "title": "Virtio console device", - "description": "

Virtio console device for data input and output.\nThe virtio console BE driver copies data from the frontend's transmitting virtqueue when it receives a kick on virtqueue (implemented as a vmexit).\nThe BE driver then writes the data to backend, and can be implemented as PTY, TTY, STDIO, and regular file.\nFor details, see Virtio-Console.

" + "description": "
\n

\n Virtio console device for data input and output.\nThe virtio console BE driver copies data from the frontend's transmitting virtqueue when it receives a kick on virtqueue (implemented as a vmexit).\nThe BE driver then writes the data to backend, and can be implemented as PTY, TTY, STDIO, and regular file.\nFor details, see\n \n Virtio-Console\n \n .\n

\n
\n" }, "network": { "items": { @@ -1954,7 +1954,7 @@ }, "type": "array", "title": "Virtio network device", - "description": "

The virtio network device emulates a virtual network interface card (NIC) for the VM. The frontend\nis the virtio network driver, simulating the virtual NIC. The backend could be: tap device /dev/net/tun,\nMacVTap device /dev/tapx, or vhost device /dev/vhost-net

" + "description": "
\n

\n The virtio network device emulates a virtual network interface card (NIC) for the VM. The frontend\nis the virtio network driver, simulating the virtual NIC. The backend could be:\n \n tap\n \n device /dev/net/tun,\n \n MacVTap\n \n device /dev/tapx, or\n \n vhost\n \n device /dev/vhost-net\n

\n
\n" }, "input": { "items": { @@ -1962,7 +1962,7 @@ }, "type": "array", "title": "Virtio input device", - "description": "

The virtio input device creates a virtual human interface device such as a keyboard,\nmouse, and tablet. It sends Linux input layer events over virtio.

" + "description": "
\n

\n The virtio input device creates a virtual human interface device such as a keyboard,\nmouse, and tablet. It sends Linux input layer events over virtio.\n

\n
\n" }, "block": { "items": { @@ -1970,16 +1970,16 @@ }, "type": "array", "title": "Virtio block device", - "description": "

The virtio-blk device presents a block device to the VM. Each virtio-blk device appears as a disk inside the VM.

" + "description": "
\n

\n The virtio-blk device presents a block device to the VM. Each virtio-blk device appears as a disk inside the VM.\n

\n
\n" }, "gpu": { "type": "string", "title": "Virtio GPU device", - "description": "
\n
The virtio GPU device presents a GPU device to the VM.
\n

This feature enables you to view the VM's GPU output in the Service VM.

\n
\n
" + "description": "
\n
\n
\n The virtio GPU device presents a GPU device to the VM.\n
\n
\n

\n This feature enables you to view the VM's GPU output in the Service VM.\n

\n
\n
\n
\n" } }, "title": "Virt-IO devices", - "description": "

Enable virt-IO devices in post-launched VMs.

" + "description": "
\n

\n Enable virt-IO devices in post-launched VMs.\n

\n
\n" } } }, @@ -1993,7 +1993,7 @@ "vm_type": { "$ref": "#/definitions/BasicVMType", "title": "VM type", - "description": "

Select the VM type. A standard VM (STANDARD_VM) is for general-purpose applications, such as human-machine interface (HMI). A real-time VM (RTVM) offers special features for time-sensitive applications.

" + "description": "
\n

\n Select the VM type. A standard VM (\n \n STANDARD_VM\n \n ) is for general-purpose applications, such as human-machine interface (HMI). A real-time VM (\n \n RTVM\n \n ) offers special features for time-sensitive applications.\n

\n
\n" }, "name": { "type": "string", @@ -2001,33 +2001,33 @@ "maxLength": 15, "pattern": "^\\S+$", "title": "VM name", - "description": "

Specify the name used to identify this VM. The VM name will be shown in the hypervisor console vm_list command.

" + "description": "
\n

\n Specify the name used to identify this VM. The VM name will be shown in the hypervisor console vm_list command.\n

\n
\n" }, "cpu_affinity": { "$ref": "#/definitions/CPUAffinityConfigurations", "title": "Physical CPU affinity", - "description": "

Select a subset of physical CPUs that this VM can use. More than one can be selected.

" + "description": "
\n

\n Select a subset of physical CPUs that this VM can use. More than one can be selected.\n

\n
\n" }, "memory": { "$ref": "#/definitions/BasicMemoryInfo", "title": "memory", - "description": "

Specify memory information for User VMs.

" + "description": "
\n

\n Specify memory information for User VMs.\n

\n
\n" }, "os_config": { "$ref": "#/definitions/BasicOSConfigurations", "title": "OS Configuration", - "description": "

General information for host kernel, boot\nargument and memory.

" + "description": "
\n

\n General information for host kernel, boot\nargument and memory.\n

\n
\n" }, "console_vuart": { "$ref": "#/definitions/ConsoleVuartConfiguration", "default": "None", "title": "Console virtual UART type", - "description": "

Select the console virtual UART (vUART) type. Add the console settings to the kernel command line by typing them in the \"Linux kernel command-line parameters\" text box (for example, console=ttyS0 for COM port 1).

" + "description": "
\n

\n Select the console virtual UART (vUART) type. Add the console settings to the kernel command line by typing them in the \"Linux kernel command-line parameters\" text box (for example,\n \n console=ttyS0\n \n for COM port 1).\n

\n
\n" }, "mmio_resources": { "$ref": "#/definitions/MMIOResourcesConfiguration", "title": "mmio_resources", - "description": "

MMIO resources to passthrough.

" + "description": "
\n

\n MMIO resources to passthrough.\n

\n
\n" }, "pci_devs": { "$ref": "#/definitions/PCIDevsConfiguration", @@ -2046,7 +2046,7 @@ "vm_type": { "$ref": "#/definitions/BasicVMType", "title": "VM type", - "description": "

Select the VM type. A standard VM (STANDARD_VM) is for general-purpose applications, such as human-machine interface (HMI). A real-time VM (RTVM) offers special features for time-sensitive applications.

" + "description": "
\n

\n Select the VM type. A standard VM (\n \n STANDARD_VM\n \n ) is for general-purpose applications, such as human-machine interface (HMI). A real-time VM (\n \n RTVM\n \n ) offers special features for time-sensitive applications.\n

\n
\n" }, "name": { "type": "string", @@ -2054,23 +2054,23 @@ "maxLength": 15, "pattern": "^\\S+$", "title": "VM name", - "description": "

Specify the name used to identify this VM. The VM name will be shown in the hypervisor console vm_list command.

" + "description": "
\n

\n Specify the name used to identify this VM. The VM name will be shown in the hypervisor console vm_list command.\n

\n
\n" }, "cpu_affinity": { "$ref": "#/definitions/CPUAffinityConfigurations", "title": "Physical CPU affinity", - "description": "

Select a subset of physical CPUs that this VM can use. More than one can be selected.

" + "description": "
\n

\n Select a subset of physical CPUs that this VM can use. More than one can be selected.\n

\n
\n" }, "os_config": { "$ref": "#/definitions/BasicOSConfigurations", "title": "OS Configuration", - "description": "

General information for host kernel, boot\nargument and memory.

" + "description": "
\n

\n General information for host kernel, boot\nargument and memory.\n

\n
\n" }, "console_vuart": { "$ref": "#/definitions/ConsoleVuartConfiguration", "default": "None", "title": "Console virtual UART type", - "description": "

Select the console virtual UART (vUART) type. Add the console settings to the kernel command line by typing them in the \"Linux kernel command-line parameters\" text box (for example, console=ttyS0 for COM port 1).

" + "description": "
\n

\n Select the console virtual UART (vUART) type. Add the console settings to the kernel command line by typing them in the \"Linux kernel command-line parameters\" text box (for example,\n \n console=ttyS0\n \n for COM port 1).\n

\n
\n" } } }, @@ -2088,7 +2088,7 @@ "vm_type": { "$ref": "#/definitions/BasicVMType", "title": "VM type", - "description": "

Select the VM type. A standard VM (STANDARD_VM) is for general-purpose applications, such as human-machine interface (HMI). A real-time VM (RTVM) offers special features for time-sensitive applications.

" + "description": "
\n

\n Select the VM type. A standard VM (\n \n STANDARD_VM\n \n ) is for general-purpose applications, such as human-machine interface (HMI). A real-time VM (\n \n RTVM\n \n ) offers special features for time-sensitive applications.\n

\n
\n" }, "name": { "type": "string", @@ -2096,23 +2096,23 @@ "maxLength": 15, "pattern": "^\\S+$", "title": "VM name", - "description": "

Specify the name used to identify this VM. The VM name will be shown in the hypervisor console vm_list command.

" + "description": "
\n

\n Specify the name used to identify this VM. The VM name will be shown in the hypervisor console vm_list command.\n

\n
\n" }, "cpu_affinity": { "$ref": "#/definitions/CPUAffinityConfigurations", "title": "Physical CPU affinity", - "description": "

Select a subset of physical CPUs that this VM can use. More than one can be selected.

" + "description": "
\n

\n Select a subset of physical CPUs that this VM can use. More than one can be selected.\n

\n
\n" }, "memory": { "$ref": "#/definitions/PostLaunchedMemoryInfo", "title": "memory", - "description": "

Specify memory information for User VMs.

" + "description": "
\n

\n Specify memory information for User VMs.\n

\n
\n" }, "console_vuart": { "$ref": "#/definitions/ConsoleVuartConfiguration", "default": "None", "title": "Console virtual UART type", - "description": "

Select the console virtual UART (vUART) type. Add the console settings to the kernel command line by typing them in the \"Linux kernel command-line parameters\" text box (for example, console=ttyS0 for COM port 1).

" + "description": "
\n

\n Select the console virtual UART (vUART) type. Add the console settings to the kernel command line by typing them in the \"Linux kernel command-line parameters\" text box (for example,\n \n console=ttyS0\n \n for COM port 1).\n

\n
\n" }, "pci_devs": { "$ref": "#/definitions/PCIDevsConfiguration", @@ -2123,25 +2123,25 @@ "$ref": "#/definitions/OSType", "default": "Non-Windows OS", "title": "OS type", - "description": "

Select the OS type for this VM. This is required to run Windows in a User VM. See Device Model Parameters for how to include this in the Device Model arguments.

" + "description": "
\n

\n Select the OS type for this VM. This is required to run Windows in a User VM. See\n \n Device Model Parameters\n \n for how to include this in the Device Model arguments.\n

\n
\n" }, "vbootloader": { "$ref": "#/definitions/Boolean", "default": "y", "title": "Enable Open Virtual Machine FW", - "description": "

Use virtual bootloader OVMF (Open Virtual Machine Firmware) to boot this VM.

" + "description": "
\n

\n Use virtual bootloader OVMF (Open Virtual Machine Firmware) to boot this VM.\n

\n
\n" }, "vuart0": { "$ref": "#/definitions/Boolean", "default": "y", "title": "Emulate COM1 as stdio I/O", - "description": "

Enable the ACRN Device Model to emulate COM1 as a User VM stdio I/O. Hypervisor global emulation will take priority over this VM setting.

" + "description": "
\n

\n Enable the ACRN Device Model to emulate COM1 as a User VM stdio I/O. Hypervisor global emulation will take priority over this VM setting.\n

\n
\n" }, "usb_xhci": { "type": "string", "pattern": "^([\\d]+-[\\d]+){0,1}(:[\\d]+-[\\d]+)*$", "title": "Virtual USB HCI", - "description": "

Select the USB physical bus and port number that will be emulated by the ACRN Device Model for this VM. USB 3.0, 2.0, and 1.0 are supported.

" + "description": "
\n

\n Select the USB physical bus and port number that will be emulated by the ACRN Device Model for this VM. USB 3.0, 2.0, and 1.0 are supported.\n

\n
\n" }, "virtio_devices": { "type": "object", @@ -2152,7 +2152,7 @@ }, "type": "array", "title": "Virtio console device", - "description": "

Virtio console device for data input and output.\nThe virtio console BE driver copies data from the frontend's transmitting virtqueue when it receives a kick on virtqueue (implemented as a vmexit).\nThe BE driver then writes the data to backend, and can be implemented as PTY, TTY, STDIO, and regular file.\nFor details, see Virtio-Console.

" + "description": "
\n

\n Virtio console device for data input and output.\nThe virtio console BE driver copies data from the frontend's transmitting virtqueue when it receives a kick on virtqueue (implemented as a vmexit).\nThe BE driver then writes the data to backend, and can be implemented as PTY, TTY, STDIO, and regular file.\nFor details, see\n \n Virtio-Console\n \n .\n

\n
\n" }, "network": { "items": { @@ -2160,7 +2160,7 @@ }, "type": "array", "title": "Virtio network device", - "description": "

The virtio network device emulates a virtual network interface card (NIC) for the VM. The frontend\nis the virtio network driver, simulating the virtual NIC. The backend could be: tap device /dev/net/tun,\nMacVTap device /dev/tapx, or vhost device /dev/vhost-net

" + "description": "
\n

\n The virtio network device emulates a virtual network interface card (NIC) for the VM. The frontend\nis the virtio network driver, simulating the virtual NIC. The backend could be:\n \n tap\n \n device /dev/net/tun,\n \n MacVTap\n \n device /dev/tapx, or\n \n vhost\n \n device /dev/vhost-net\n

\n
\n" }, "input": { "items": { @@ -2168,7 +2168,7 @@ }, "type": "array", "title": "Virtio input device", - "description": "

The virtio input device creates a virtual human interface device such as a keyboard,\nmouse, and tablet. It sends Linux input layer events over virtio.

" + "description": "
\n

\n The virtio input device creates a virtual human interface device such as a keyboard,\nmouse, and tablet. It sends Linux input layer events over virtio.\n

\n
\n" }, "block": { "items": { @@ -2176,16 +2176,16 @@ }, "type": "array", "title": "Virtio block device", - "description": "

The virtio-blk device presents a block device to the VM. Each virtio-blk device appears as a disk inside the VM.

" + "description": "
\n

\n The virtio-blk device presents a block device to the VM. Each virtio-blk device appears as a disk inside the VM.\n

\n
\n" }, "gpu": { "type": "string", "title": "Virtio GPU device", - "description": "
\n
The virtio GPU device presents a GPU device to the VM.
\n

This feature enables you to view the VM's GPU output in the Service VM.

\n
\n
" + "description": "
\n
\n
\n The virtio GPU device presents a GPU device to the VM.\n
\n
\n

\n This feature enables you to view the VM's GPU output in the Service VM.\n

\n
\n
\n
\n" } }, "title": "Virt-IO devices", - "description": "

Enable virt-IO devices in post-launched VMs.

" + "description": "
\n

\n Enable virt-IO devices in post-launched VMs.\n

\n
\n" } } }, @@ -2198,7 +2198,7 @@ "IVSHMEM": { "$ref": "#/definitions/IVSHMEMInfo", "title": "Inter-VM shared memory", - "description": "

Configure shared memory regions for inter-VM communication.

" + "description": "
\n

\n Configure shared memory regions for inter-VM communication.\n

\n
\n" } } }, @@ -2213,17 +2213,17 @@ "DEBUG_OPTIONS": { "$ref": "#/definitions/DebugOptionsType", "title": "Debug options", - "description": "

Configure the debug facilities.

" + "description": "
\n

\n Configure the debug facilities.\n

\n
\n" }, "FEATURES": { "$ref": "#/definitions/BasicFeatureOptionsType", "title": "Hypervisor features", - "description": "

Enable hypervisor features.

" + "description": "
\n

\n Enable hypervisor features.\n

\n
\n" }, "vuart_connections": { "$ref": "#/definitions/VuartConnectionsType", "title": "Inter-VM virtual UART connection", - "description": "

Specify the vUART connection settings.\nRefer to Enable vUART Configurations for detailed vUART settings.

" + "description": "
\n

\n Specify the vUART connection settings.\nRefer to\n \n Enable vUART Configurations\n \n for detailed vUART settings.\n

\n
\n" }, "CACHE_REGION": { "items": { @@ -2232,7 +2232,7 @@ "type": "array", "maxItems": 1, "title": "CACHE_REGION", - "description": "

Specify the cache setting.

" + "description": "
\n

\n Specify the cache setting.\n

\n
\n" } } }, @@ -2245,7 +2245,7 @@ }, "type": "array", "title": "Physical memory segmentation", - "description": "

Specify Physical memory information for Prelaunched VM

" + "description": "
\n

\n Specify Physical memory information for Prelaunched VM\n

\n
\n" } } }, @@ -2259,40 +2259,40 @@ "$ref": "#/definitions/Boolean", "default": "n", "title": "LAPIC passthrough", - "description": "

Enable LAPIC passthrough for this VM. This feature is required for VMs with stringent real-time performance needs.

" + "description": "
\n

\n Enable LAPIC passthrough for this VM. This feature is required for VMs with stringent real-time performance needs.\n

\n
\n" }, "io_completion_polling": { "$ref": "#/definitions/Boolean", "default": "n", "title": "I/O completion polling", - "description": "

Enable polling mode for I/O completion for this VM. This feature is required for VMs with stringent real-time performance needs.

" + "description": "
\n

\n Enable polling mode for I/O completion for this VM. This feature is required for VMs with stringent real-time performance needs.\n

\n
\n" }, "nested_virtualization_support": { "$ref": "#/definitions/Boolean", "default": "n", "title": "Nested virtualization", - "description": "

Enable nested virtualization for KVM.

" + "description": "
\n

\n Enable nested virtualization for KVM.\n

\n
\n" }, "virtual_cat_support": { "$ref": "#/definitions/Boolean", "default": "n", - "title": "Virtual Cache Allocation Tech", - "description": "

Enable virtualization of the Cache Allocation Technology (CAT) feature in RDT. CAT enables you to allocate cache to VMs, providing isolation to avoid performance interference from other VMs.

" + "title": "VM Virtual Cache Allocation Tech", + "description": "
\n

\n Enable virtualization of the Cache Allocation Technology (CAT) feature in RDT. CAT enables you to allocate cache to VMs, providing isolation to avoid performance interference from other VMs.\n

\n
\n" }, "clos": { "$ref": "#/definitions/CLOSConfiguration", "title": "clos", - "description": "

Class of Service for Cache Allocation Technology.\nRefer SDM 17.19.2 for details, and use with caution.

" + "description": "
\n

\n Class of Service for Cache Allocation Technology.\nRefer SDM 17.19.2 for details, and use with caution.\n

\n
\n" }, "epc_section": { "$ref": "#/definitions/EPCSection", "title": "epc_section", - "description": "

Specify the Intel Software Guard Extensions (SGX) enclave page cache (EPC) section settings.

" + "description": "
\n

\n Specify the Intel Software Guard Extensions (SGX) enclave page cache (EPC) section settings.\n

\n
\n" }, "memory": { "$ref": "#/definitions/AdvancedMemoryInfo", "title": "memory", - "description": "

Specify memory information for User VMs.

" + "description": "
\n

\n Specify memory information for User VMs.\n

\n
\n" } } }, @@ -2306,34 +2306,34 @@ "$ref": "#/definitions/Boolean", "default": "n", "title": "LAPIC passthrough", - "description": "

Enable LAPIC passthrough for this VM. This feature is required for VMs with stringent real-time performance needs.

" + "description": "
\n

\n Enable LAPIC passthrough for this VM. This feature is required for VMs with stringent real-time performance needs.\n

\n
\n" }, "io_completion_polling": { "$ref": "#/definitions/Boolean", "default": "n", "title": "I/O completion polling", - "description": "

Enable polling mode for I/O completion for this VM. This feature is required for VMs with stringent real-time performance needs.

" + "description": "
\n

\n Enable polling mode for I/O completion for this VM. This feature is required for VMs with stringent real-time performance needs.\n

\n
\n" }, "virtual_cat_support": { "$ref": "#/definitions/Boolean", "default": "n", - "title": "Virtual Cache Allocation Tech", - "description": "

Enable virtualization of the Cache Allocation Technology (CAT) feature in RDT. CAT enables you to allocate cache to VMs, providing isolation to avoid performance interference from other VMs.

" + "title": "VM Virtual Cache Allocation Tech", + "description": "
\n

\n Enable virtualization of the Cache Allocation Technology (CAT) feature in RDT. CAT enables you to allocate cache to VMs, providing isolation to avoid performance interference from other VMs.\n

\n
\n" }, "clos": { "$ref": "#/definitions/CLOSConfiguration", "title": "clos", - "description": "

Class of Service for Cache Allocation Technology.\nRefer SDM 17.19.2 for details, and use with caution.

" + "description": "
\n

\n Class of Service for Cache Allocation Technology.\nRefer SDM 17.19.2 for details, and use with caution.\n

\n
\n" }, "epc_section": { "$ref": "#/definitions/EPCSection", "title": "epc_section", - "description": "

Specify the Intel Software Guard Extensions (SGX) enclave page cache (EPC) section settings.

" + "description": "
\n

\n Specify the Intel Software Guard Extensions (SGX) enclave page cache (EPC) section settings.\n

\n
\n" }, "memory": { "$ref": "#/definitions/AdvancedMemoryInfo", "title": "memory", - "description": "

Specify memory information for User VMs.

" + "description": "
\n

\n Specify memory information for User VMs.\n

\n
\n" } } }, @@ -2347,12 +2347,12 @@ "$ref": "#/definitions/Boolean", "default": "n", "title": "Nested virtualization", - "description": "

Enable nested virtualization for KVM.

" + "description": "
\n

\n Enable nested virtualization for KVM.\n

\n
\n" }, "clos": { "$ref": "#/definitions/CLOSConfiguration", "title": "clos", - "description": "

Class of Service for Cache Allocation Technology.\nRefer SDM 17.19.2 for details, and use with caution.

" + "description": "
\n

\n Class of Service for Cache Allocation Technology.\nRefer SDM 17.19.2 for details, and use with caution.\n

\n
\n" } } }, @@ -2366,24 +2366,24 @@ "$ref": "#/definitions/Boolean", "default": "n", "title": "LAPIC passthrough", - "description": "

Enable LAPIC passthrough for this VM. This feature is required for VMs with stringent real-time performance needs.

" + "description": "
\n

\n Enable LAPIC passthrough for this VM. This feature is required for VMs with stringent real-time performance needs.\n

\n
\n" }, "io_completion_polling": { "$ref": "#/definitions/Boolean", "default": "n", "title": "I/O completion polling", - "description": "

Enable polling mode for I/O completion for this VM. This feature is required for VMs with stringent real-time performance needs.

" + "description": "
\n

\n Enable polling mode for I/O completion for this VM. This feature is required for VMs with stringent real-time performance needs.\n

\n
\n" }, "virtual_cat_support": { "$ref": "#/definitions/Boolean", "default": "n", - "title": "Virtual Cache Allocation Tech", - "description": "

Enable virtualization of the Cache Allocation Technology (CAT) feature in RDT. CAT enables you to allocate cache to VMs, providing isolation to avoid performance interference from other VMs.

" + "title": "VM Virtual Cache Allocation Tech", + "description": "
\n

\n Enable virtualization of the Cache Allocation Technology (CAT) feature in RDT. CAT enables you to allocate cache to VMs, providing isolation to avoid performance interference from other VMs.\n

\n
\n" }, "clos": { "$ref": "#/definitions/CLOSConfiguration", "title": "clos", - "description": "

Class of Service for Cache Allocation Technology.\nRefer SDM 17.19.2 for details, and use with caution.

" + "description": "
\n

\n Class of Service for Cache Allocation Technology.\nRefer SDM 17.19.2 for details, and use with caution.\n

\n
\n" } } }, @@ -2406,65 +2406,65 @@ "$ref": "#/definitions/Boolean", "default": "y", "title": "Hypervisor relocation", - "description": "

Enable hypervisor relocation in memory. The bootloader may need to change the location of the hypervisor because of other firmware.

" + "description": "
\n

\n Enable hypervisor relocation in memory. The bootloader may need to change the location of the hypervisor because of other firmware.\n

\n
\n" }, "SCHEDULER": { "$ref": "#/definitions/AdvancedSchedulerType", "default": "SCHED_BVT", "title": "Virtual CPU scheduler", - "description": "

Select the scheduling algorithm for determining the priority of User VMs running on a shared virtual CPU.

" + "description": "
\n

\n Select the scheduling algorithm for determining the priority of User VMs running on a shared virtual CPU.\n

\n
\n" }, "MULTIBOOT2_ENABLED": { "$ref": "#/definitions/Boolean", "default": "y", "title": "Multiboot2", - "description": "

Enable multiboot2 protocol support (with multiboot1 downward compatibility). If multiboot1 meets your requirements, disable this feature to reduce hypervisor code size.

" + "description": "
\n

\n Enable multiboot2 protocol support (with multiboot1 downward compatibility). If multiboot1 meets your requirements, disable this feature to reduce hypervisor code size.\n

\n
\n" }, "ENFORCE_TURNOFF_AC": { "$ref": "#/definitions/Boolean", "default": "y", "title": "Split lock detection", - "description": "

Enable detection of split locks. A split lock can negatively affect an application's real-time performance. If a lock is detected, an alignment check exception #AC occurs.

" + "description": "
\n

\n Enable detection of split locks. A split lock can negatively affect an application's real-time performance. If a lock is detected, an alignment check exception #AC occurs.\n

\n
\n" }, "ENFORCE_TURNOFF_GP": { "$ref": "#/definitions/Boolean", "default": "n", "title": "UC lock detection", - "description": "

Enable detection of uncacheable-memory (UC) locks. A UC lock can negatively affect an application's real-time performance. If a lock is detected, a general-protection exception #GP occurs.

" + "description": "
\n

\n Enable detection of uncacheable-memory (UC) locks. A UC lock can negatively affect an application's real-time performance. If a lock is detected, a general-protection exception #GP occurs.\n

\n
\n" }, "RDT": { "$ref": "#/definitions/RDTType", "title": "Intel Resource Director Tech", - "description": "

Intel Resource Director Technology (RDT) provides cache and memory bandwidth allocation features. The features can be used to improve an application's real-time performance.

" + "description": "
\n

\n Intel Resource Director Technology (RDT) provides cache and memory bandwidth allocation features. The features can be used to improve an application's real-time performance.\n

\n
\n" }, "HYPERV_ENABLED": { "$ref": "#/definitions/Boolean", "default": "y", "title": "Hyper-V", - "description": "

Enable Microsoft Hyper-V Hypervisor Top-Level Functional Specification (TFLS) for User VMs running Windows.

" + "description": "
\n

\n Enable Microsoft Hyper-V Hypervisor Top-Level Functional Specification (TFLS) for User VMs running Windows.\n

\n
\n" }, "ACPI_PARSE_ENABLED": { "$ref": "#/definitions/Boolean", "default": "y", "title": "Parse ACPI tables", - "description": "

Enable ACPI runtime parsing to get DMAR (DMA remapping) configuration data from the APCI tables. Otherwise, use existing, static information from the associated board configuration file.

" + "description": "
\n

\n Enable ACPI runtime parsing to get DMAR (DMA remapping) configuration data from the APCI tables. Otherwise, use existing, static information from the associated board configuration file.\n

\n
\n" }, "L1D_VMENTRY_ENABLED": { "$ref": "#/definitions/Boolean", "default": "y", "title": "Mitigate L1 terminal fault", - "description": "

Enable L1 cache flush before VM entry to prevent L1 terminal fault. L1 terminal fault is a hardware vulnerability that could allow unauthorized disclosure of information residing in the L1 data cache.

" + "description": "
\n

\n Enable L1 cache flush before VM entry to prevent L1 terminal fault. L1 terminal fault is a hardware vulnerability that could allow unauthorized disclosure of information residing in the L1 data cache.\n

\n
\n" }, "MCE_ON_PSC_DISABLED": { "$ref": "#/definitions/Boolean", "default": "y", "title": "MCE workaround", - "description": "

Enable the software workaround for Machine Check Error on Page Size Change (erratum in some processor families).

" + "description": "
\n

\n Enable the software workaround for Machine Check Error on Page Size Change (erratum in some processor families).\n

\n
\n" }, "SSRAM": { "$ref": "#/definitions/SSRAMInfo", "title": "Software SRAM", - "description": "

Configure Software SRAM. This feature reserves memory buffers as always-cached memory to improve an application's real-time performance.

" + "description": "
\n

\n Configure Software SRAM. This feature reserves memory buffers as always-cached memory to improve an application's real-time performance.\n

\n
\n" } } }, @@ -2478,7 +2478,7 @@ "$ref": "#/definitions/HexFormat", "default": "0x2000", "title": "CPU memory stack size (bytes)", - "description": "

Specify the size of the memory stack in bytes for each physical CPU. For example, if you specify 8 kilobytes, each CPU will get its own 8-kilobyte stack.

" + "description": "
\n

\n Specify the size of the memory stack in bytes for each physical CPU. For example, if you specify 8 kilobytes, each CPU will get its own 8-kilobyte stack.\n

\n
\n" } } }, @@ -2497,13 +2497,13 @@ "maximum": 1024, "default": 96, "title": "Max PCI devices", - "description": "

Specify the maximum number of PCI devices. This impacts the amount of memory used to maintain information about these PCI devices. The default value is calculated from the board configuration file. If you have PCI devices that were not detected by the Board Inspector, you may need to change this maximum value.

" + "description": "
\n

\n Specify the maximum number of PCI devices. This impacts the amount of memory used to maintain information about these PCI devices. The default value is calculated from the board configuration file. If you have PCI devices that were not detected by the Board Inspector, you may need to change this maximum value.\n

\n
\n" }, "MAX_PT_IRQ_ENTRIES": { "type": "integer", "default": 256, "title": "Max passthrough IRQ entries", - "description": "

Specify the maximum number of interrupt request (IRQ) entries from all passthrough devices.

" + "description": "
\n

\n Specify the maximum number of interrupt request (IRQ) entries from all passthrough devices.\n

\n
\n" }, "MAX_MSIX_TABLE_NUM": { "type": "integer", @@ -2511,7 +2511,7 @@ "maximum": 2048, "default": 64, "title": "Max MSI-X tables", - "description": "

Specify the maximum number of Message Signaled Interrupt MSI-X tables per device. The default value is calculated from the board configuration file.

" + "description": "
\n

\n Specify the maximum number of Message Signaled Interrupt MSI-X tables per device. The default value is calculated from the board configuration file.\n

\n
\n" }, "MAX_EMULATED_MMIO": { "type": "integer", @@ -2519,7 +2519,7 @@ "maximum": 128, "default": 16, "title": "Max emulated MMIO regions", - "description": "

Specify the maximum number of emulated MMIO regions for device virtualization. The default value is calculated from the board configuration file.

" + "description": "
\n

\n Specify the maximum number of emulated MMIO regions for device virtualization. The default value is calculated from the board configuration file.\n

\n
\n" } } }, @@ -2534,17 +2534,17 @@ "FEATURES": { "$ref": "#/definitions/AdvancedFeatureOptionsType", "title": "Hypervisor features", - "description": "

Enable hypervisor features.

" + "description": "
\n

\n Enable hypervisor features.\n

\n
\n" }, "MEMORY": { "$ref": "#/definitions/AdvancedMemoryOptionsType", "title": "Memory options", - "description": "

Configure memory used by the hypervisor.

" + "description": "
\n

\n Configure memory used by the hypervisor.\n

\n
\n" }, "CAPACITIES": { "$ref": "#/definitions/AdvancedCapacitiesOptionsType", "title": "Hypervisor capacities", - "description": "

Configure the capacities of the hypervisor.

" + "description": "
\n

\n Configure the capacities of the hypervisor.\n

\n
\n" }, "CACHE_REGION": { "items": { @@ -2553,7 +2553,7 @@ "type": "array", "maxItems": 1, "title": "CACHE_REGION", - "description": "

Specify the cache setting.

" + "description": "
\n

\n Specify the cache setting.\n

\n
\n" } } } diff --git a/misc/config_tools/configurator/src/components/common/ControlBar.vue b/misc/config_tools/configurator/src/components/common/ControlBar.vue index e1f3b3a06..0c45aeecb 100644 --- a/misc/config_tools/configurator/src/components/common/ControlBar.vue +++ b/misc/config_tools/configurator/src/components/common/ControlBar.vue @@ -1,5 +1,5 @@