1
0
mirror of https://github.com/projectacrn/acrn-hypervisor.git synced 2025-05-02 21:46:58 +00:00
Commit Graph

1556 Commits

Author SHA1 Message Date
Jiaqing Zhao
1b2b20b07d misc: life_mngr: skip windows build if LDFLAGS contains -z option
Linker option "-z,relro" will be automatically added to LDFLAGS when
building debian packages. Since x86_64-w64-mingw32-ld does not support
"-z" option, it causes failure in building the life_mngr windows exe.
And compared with ld, only "-z" option is not supported. This patch
fixes it by skipping the windows build of life_mngr if LDFLAGS contains
any "-z" option.

Tracked-On: 
Signed-off-by: Jiaqing Zhao <jiaqing.zhao@linux.intel.com>
Reviewed-by: Junjie Mao <junjie.mao@intel.com>
2023-05-19 16:33:19 +08:00
Jiaqing Zhao
a41f600a3c config_tools: remove rstcloth package
9c2d0f8858 ("config_tools: replace RstCloth library with class.")
removes all usage of rstcloth in code, but the rstcloth package is not
removed from acrn-configurator and it will still download dependencies
for rstcloth. This patch simply removes it.

Tracked-On: 
Signed-off-by: Jiaqing Zhao <jiaqing.zhao@linux.intel.com>
Reviewed-by: Junjie Mao <junjie.mao@intel.com>
2023-05-16 11:54:00 +08:00
Kunhui-Li
9c2d0f8858 config_tools: replace RstCloth library with class.
Currently, Configurator load fail because it needs to download
RstCloth related packages. This patch defines Doc class to replace
RstCloth library to fix this issue.

Tracked-On: 
Signed-off-by: Kunhui-Li <kunhuix.li@intel.com>
Reviewed-by: Junjie Mao <junjie.mao@intel.com>
2023-05-11 15:25:44 +08:00
dependabot[bot]
b2aecb2731 build(deps): bump openssl
Bumps [openssl](https://github.com/sfackler/rust-openssl) from 0.10.38 to 0.10.51.
- [Release notes](https://github.com/sfackler/rust-openssl/releases)
- [Commits](https://github.com/sfackler/rust-openssl/compare/openssl-v0.10.38...openssl-v0.10.51)

---
updated-dependencies:
- dependency-name: openssl
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-05-08 11:12:55 +08:00
Kunhui-Li
b1ad671736 config_tools: capture the IOError exception
If no TURBO_RATIO_LIMIT and TURBO_ACTIVATION_RATIO MSRs info
on target, board inspector will crash because of the IOError exception.

This patch captures the IOError exception to handle this error.

Tracked-On: 
Signed-off-by: Kunhui-Li <kunhuix.li@intel.com>
Reviewed-by: Junjie Mao <junjie.mao@intel.com>
2023-05-04 14:35:29 +08:00
Kunhui-Li
8aa716f88e config_tools: filter non-ascii characters in iomem infomation
If we use 5.15 kernel on rpl-p platform, some iomem info dumped with
non-ascii characters, then tool will raise a decode error.

So this patch filters non-ascii characters to handle this error.

Tracked-On: 
Signed-off-by: Kunhui-Li <kunhuix.li@intel.com>
Reviewed-by: Junjie Mao <junjie.mao@intel.com>
2023-04-25 18:41:25 +08:00
Chenli Wei
c9e5fd1469 misc: fix the summary issue after update board xml
The new board xml have add a "module" node under the "processors/die"
which has cause an issue when we run the summary, this patch  use "//"
to select all "cpu_id" under the "processors".

Tracked-On: 
Signed-off-by: Chenli Wei <chenli.wei@intel.com>
2023-04-24 15:43:09 +08:00
Junjie Mao
de0a765010 config_tools: adapt to elementpath >= 4.0.0
Starting from elementpath 4.0.0, the XPath2Parser class no longer has a
SYMBOLS member and completeness checking based on that are removed as
well. This patch updates the elementpath_overlay in the config tools to fix
the compilation issue when using recent elementpath versions.

Tracked-On: 
Signed-off-by: Junjie Mao <junjie.mao@intel.com>
2023-04-24 11:46:56 +08:00
Jiaqing Zhao
d4fa35ad5b misc: life_mngr: fix use-after-free in uart channel
LIST_FOREACH() doesn't allow var to be removed or freed within the
loop, but c_dev is freed inside the loop here. gcc 12 also reports
error on it. This patch uses list_foreach_safe() macro instead for
freeing var within the loop safely.

Tracked-On: 
Signed-off-by: Jiaqing Zhao <jiaqing.zhao@linux.intel.com>
Reviewed-by: Junjie Mao <junjie.mao@intel.com>
2023-04-21 23:30:57 +08:00
dependabot[bot]
c8bf91c788 build(deps): bump tokio
Bumps [tokio](https://github.com/tokio-rs/tokio) from 1.24.1 to 1.25.0.
- [Release notes](https://github.com/tokio-rs/tokio/releases)
- [Commits](https://github.com/tokio-rs/tokio/compare/tokio-1.24.1...tokio-1.25.0)

---
updated-dependencies:
- dependency-name: tokio
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-02-09 18:38:55 +08:00
dependabot[bot]
5b89fb0bae build(deps): bump bumpalo
Bumps [bumpalo](https://github.com/fitzgen/bumpalo) from 3.9.1 to 3.12.0.
- [Release notes](https://github.com/fitzgen/bumpalo/releases)
- [Changelog](https://github.com/fitzgen/bumpalo/blob/main/CHANGELOG.md)
- [Commits](https://github.com/fitzgen/bumpalo/compare/3.9.1...3.12.0)

---
updated-dependencies:
- dependency-name: bumpalo
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-02-07 13:49:51 +08:00
dependabot[bot]
90c9f99a8d build(deps): bump tokio
Bumps [tokio](https://github.com/tokio-rs/tokio) from 1.17.0 to 1.24.1.
- [Release notes](https://github.com/tokio-rs/tokio/releases)
- [Commits](https://github.com/tokio-rs/tokio/compare/tokio-1.17.0...tokio-1.24.1)

---
updated-dependencies:
- dependency-name: tokio
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-01-10 16:19:18 +08:00
David B. Kinder
e9b4f5bff1 Update sample app scripts for Ubuntu 22.04
The switch to Ubuntu 22.04 for ACRN v3.2 requires a few changes to the
sample application scripts:

- user _apt cannot access debian packages in user directories, so copy
  them to /tmp to install
- HMI-VM image size needs to be bigger (running out of space during
  image update)

Tracked-On: 

Signed-off-by: David B. Kinder <david.b.kinder@intel.com>
2022-12-01 17:00:11 +08:00
Yuanyua Zhao
07bf31da1f config_tools: set 'own_pcpu' of RTVM
For STANDARD_VM 'own_pcpu' default value is 'n'. But RTVM always own pCPUs.
So check 'own_pcpu' of RTVM and make sure it's set to 'y'.

Tracked-On: 
Signed-off-by: Yuanyua Zhao <yuanyuan.zhao@linux.intel.com>
Reviewed-by: Junjie Mao <junjie.mao@intel.com>
2022-11-30 16:35:02 +08:00
Junjie Mao
f4f828f762 config_tools/schema: fix division operator in error messages
The division operator in XPATH is `div`, not `/`. Fix it in an error
message of the assertions.

Tracked-On: 
Signed-off-by: Junjie Mao <junjie.mao@intel.com>
2022-11-22 16:06:48 +08:00
Junjie Mao
4c54dae5cf board_inspector: fix the invocation to rdmsr
Commit ce6500893 ("board_inspector: use executables found under system
paths") unintendedly changes how acpi.py invokes `rdmsr` and that impacts
the type of the execution results and causes incompatible method calls when
the results are parsed.

Convert the invocation back to shell-style.

Fixes: ce6500893 ("board_inspector: use executables found under system paths")
Tracked-On: 
Signed-off-by: Junjie Mao <junjie.mao@intel.com>
2022-11-22 15:32:24 +08:00
Xie, nanlin
a58d2ebddc misc: Update sample launch scripts into generic_board folder.
Currently we use configurator to generate sample launch scripts and
configuration code, remove old ones and put all generated launch scripts
into generic_board.

Tracked-On: 
Signed-off-by: Xie, nanlin <nanlin.xie@intel.com>
2022-11-21 11:51:33 +08:00
yuchuyang
796fb2971c config-tools: board inspector exits if the VMD is configured
Board inspector does not support multiple PCI segment. Stop running and
throw out the message for user to disable VMD from BIOS setting.

Tracked-On: 
Signed-off-by: yuchuyang <yu-chu.yang@intel.com>
Reviewed-by: Junjie Mao <junjie.mao@intel.com>
2022-11-21 10:03:39 +08:00
yuchuyang
9d8ddeabdc config-tools: board inspector does not exit if a usb device is unplugged
Board inspector may throw an error if a usb device is unplugged or
disconnected while extracting usb device information. Print out the
debug message and continue parsing.

Tracked-On: 
Signed-off-by: yuchuyang <yu-chu.yang@intel.com>
Reviewed-by: Junjie Mao <junjie.mao@intel.com>
2022-11-18 19:22:44 +08:00
dependabot[bot]
43aec3d2a3 build(deps-dev): bump vite in /misc/config_tools/configurator
Bumps [vite](https://github.com/vitejs/vite/tree/HEAD/packages/vite) from 2.9.6 to 2.9.13.
- [Release notes](https://github.com/vitejs/vite/releases)
- [Changelog](https://github.com/vitejs/vite/blob/main/packages/vite/CHANGELOG.md)
- [Commits](https://github.com/vitejs/vite/commits/v2.9.13/packages/vite)

---
updated-dependencies:
- dependency-name: vite
  dependency-type: direct:development
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-11-17 16:57:48 +08:00
Junjie Mao
ce6500893f board_inspector: use executables found under system paths
Using partial executable paths in the board inspector may cause unintended
results when another executable has the same name and is also detectable in
the search paths.

Introduce a wrapper module (`external_tools`) which locates executables
only under system paths such as /usr/bin and /usr/sbin and converts partial
executable paths to absolute ones before executing them via the subprocess
module. All invocations to `subprocess.run` or `subprocess.Popen`
throughout the board inspector are replaced with `external_tools.run`, with
the only exception being the invocation to the legacy board parser which
already uses an absolute path to the current Python interpreter.

Tracked-On: 
Signed-off-by: Junjie Mao <junjie.mao@intel.com>
2022-11-16 11:02:42 +08:00
Junjie Mao
32edd75f7f static_allocator/gpa: deduplicate secondary PCI window list
When one single device being connected after multiple-levels of PCI-to-PCI
bridges, all those bridges may have the same MMIO window. That causes the
current static allocator not to consider that window being occupied because
of how it detects nested MMIO regions.

Remove duplicates in the list of secondary bus MMIO windows to fix that
issue.

Tracked-On: 
Signed-off-by: Junjie Mao <junjie.mao@intel.com>
2022-11-15 09:57:51 +08:00
Chenli Wei
6d57f8254b misc: rename common.py to avoid private library conflict
The offline tool use a utility libary and use "common" to named it, this
name conflict with some customer's local library, so we rename it to a
better and clear name.

Tracked-On: 
Signed-off-by: Chenli Wei <chenli.wei@intel.com>
2022-11-14 12:03:51 +08:00
Chenli Wei
25445eefe7 misc: fix the vCPU number issue of document
Current code use a invalid parameter to print the vCPU number, this
patch use the length of vCPU list to fix the above issue.

Tracked-On: 
Signed-off-by: Chenli Wei <chenli.wei@intel.com>
2022-11-14 11:34:15 +08:00
Chenli Wei
174917726d misc: refine the calculate logic of hv_ram_size
The legacy logic use double IVSHMEM_SIZE to calculate the HV RAM, it can't
match the current code.

This patch use the IVSHMEM_SIZE size only.

Tracked-On: 
Signed-off-by: Chenli Wei <chenli.wei@intel.com>
2022-11-14 10:41:49 +08:00
yuchuyang
504e49a567 config-tools: generate config_summary.rst
Generate config_summary.rst when saving scneario XML and launch scripts.

Tracked-On: 
Signed-off-by: yuchuyang <yu-chu.yang@intel.com>
Reviewed-by: Junjie Mao <junjie.mao@intel.com>
2022-11-14 09:53:53 +08:00
yuchuyang
638567e425 config-tools: refine print out message after running board inspector
1. Generate success message when there is no critical error.
2. Generate note when there is error(s).

Tracked-On: 
Signed-off-by: yuchuyang <yu-chu.yang@intel.com>
2022-11-09 09:19:52 +08:00
hangliu1
808b4f6628 config tool: combine multiple xhci to one line
generate one line of parameter in launch scipt for
multiple xchi configs in scenario.xml.

Signed-off-by: hangliu1 <hang1.liu@linux.intel.com>
Reviewed-by: Junjie Mao <junjie.mao@intel.com>
Tracked-On: 
2022-11-08 10:43:29 +08:00
yuchuyang
089ea130a7 config-tools: fix virio GPU rendering issue
Fix the following issues:
1. <gpu> and <displays> elements are added to scenario XML when they are not configured.
2. Virtio GPU components disappears after switching to another tab and switching back to
   previous tab.
3. Wrong error message of vertical offset checking.

Improve the error check in virtio_devices.xsd:
1. Every window virtual display need to configure window resolution, horizontal offset
   and vertical offset.
2. Any display's elements need to be configured. The existing code
   only check the first window resolution, horizontal offset, vertical
   offset and monitor id.

Tracked-On: 
Signed-off-by: yuchuyang <yu-chu.yang@intel.com>
Reviewed-by: Junjie Mao <junjie.mao@intel.com>
2022-11-08 09:45:54 +08:00
Junjie Mao
0cee1f8080 static_allocator: skip ACPI objects referring all functions of a PCI device
According to section 6.1.1, ACPI Spec 6.4, _ADR of a device object under
PCI/PCIe bus can use a special function number 0xFFFF to refer to all
functions of a certain device. Such objects will have their own nodes in
the board XML, and that causes build-time issues when a static allocator
attempts to get all BDFs occupied under the root bus because 0xFFFF is not
a valid function number (which ranges from 0 to 7).

This patch skips ACPI devices with such addresses when listing existing
BDFs.

Tracked-On: 
Signed-off-by: Junjie Mao <junjie.mao@intel.com>
2022-11-07 16:22:27 +08:00
Yuanyuan Zhao
4083da9470 config_tools: offline CPUs owned by User VMs
When launch a User VM own pCPUs, offline Service VM vCPUs which use
the same pCPUs by launch script.

Tracked-On: 
Signed-off-by: Yuanyuan Zhao <yuanyuan.zhao@linux.intel.com>
Reviewed-by: Junjie Mao <junjie.mao@intel.com>
2022-11-04 12:44:54 +08:00
Yuanyuan Zhao
138499f886 config_tools: add own_pcpu widget
Add "exclusively owns physical CPUs" checkbox to pre-launched VMs
and post-launched VMs. RTVM will not display this checkbox.
If this checkbox is set, the VM will use all the pCPUs assigned to
it alone.

Tracked-On: 
Signed-off-by: Yuanyuan Zhao <yuanyuan.zhao@linux.intel.com>
Reviewed-by: Junjie Mao <junjie.mao@intel.com>
2022-11-04 12:44:54 +08:00
Chenli Wei
ea7e9540a0 misc: update ASRock board XML
This patch update the board.xml for ASRock.

Tracked-On: 
Signed-off-by: Chenli Wei <chenli.wei@intel.com>
2022-11-04 12:14:50 +08:00
yuchuyang
3bb70efa12 config-tools: re-rendering the data after importing different board XML
Switch tag in order to trigger the component re-rendering after importing
different board XML.

Tracked-On: 
Signed-off-by: Yang, Yu-chu <yu-chu.yang@intel.com>
Reviewed-by: Junjie Mao <junjie.mao@intel.com>
2022-11-04 11:33:02 +08:00
hangliu1
0aa5ec5bda config tool:add debug mode limitation for PMU
In release mode, "GUEST_FLAG_PMU_PASSTHROUGH" is
not generated for specific VM.

Signed-off-by: hangliu1 <hang1.liu@linux.intel.com>
Tracked-On:#6690
2022-11-02 15:50:30 +08:00
zhangrouyu
e5c1eafba3 doc: update changes to 22.04 on sample app guide
Tracked-On: 
Signed-off-by: zhangrouyu <rouyu.zhang@intel.com>
2022-11-01 09:56:07 +08:00
Yang,Yu-chu
aada036ac6 config-tools: clean up the vm names which do not exist
Clean up vm_name of vuart and/or VM_NAME of IVSHMEM which is not defined in
//vm/name while loading scenario XML.

Signed-off-by: Yang,Yu-chu <yu-chu.yang@intel.com>
Rviewed-by: Junjie Mao <junjie.mao@intel.com>
Tracked-On: 
2022-10-28 11:17:46 +08:00
zhangrouyu
5a452e5e32 Create a requirements.txt for python package on GSG
Tracked-On: 
Signed-off-by: zhangrouyu <rouyu.zhang@intel.com>
2022-10-27 16:15:40 +08:00
Junjie Mao
cdf7796a62 Makefile: clean up unnecessary phony targets
Phony targets are mostly for recipes that are expected to be invoked
directly from the command line as a target and will always be executed. As
a result, it is in most cases not appropriate for a real file target to to
depend on a phony one, as that means the file will always be regenerated.

In the Makefile today, however, dependencies on phony targets are common
and cause the hypervisor to be fully rebuilt regardless of whether an
existing build exists or not.

This patch cleans up the following phony targets which are not meant to be
targets from the command line.

  - pre_build: This target has three outputs, namely the prebuild checker,
    the ACPI tables for pre-launched VMs and the serial.conf. It is split
    into three targets, one for each output.

  - headers: This target is an alias of dynamically-generated header
    files. It is replaced with a variable so that targets depending on
    "header" now depends on the actual header files generated.

With this patch, make will only rebuild modified files and targets
depending on them directly or indirectly.

Tracked-On: 
Signed-off-by: Junjie Mao <junjie.mao@intel.com>
2022-10-26 14:09:44 +08:00
Kunhui-Li
7c18e26044 config_tools: add assertions for virtio gpu
1. In the full screen mode, a VM supports 4 virtual displays at most.
2. A vm supports 2 virtual windows at most.
3. The monitor ID cannot be duplicated in the full screen mode.
4. All the display elements are in DisplayConfiguration of VMType.xsd. It
cannot be set as required. Using assertions to check if the sub-elements
are set for any type of virtual display accordingly.
 - check if a display has been added and a display type is set.
 - check if monitor ID is set for full screen virtual display.
 - check if resolution and offsets are set for window virtual display.

Tracked-On: 
Signed-off-by: Kunhui-Li <kunhuix.li@intel.com>
Signed-off-by: Yang,Yu-chu <yu-chu.yang@intel.com>
Reviewed-by: Junjie Mao <junjie.mao@intel.com>
2022-10-26 08:15:17 +08:00
Kunhui-Li
ad17268c5e config_tools: add virtio gpu widget
add virtio gpu widget for the new design.

Tracked-On: 
Signed-off-by: Kunhui-Li <kunhuix.li@intel.com>
Signed-off-by: Yang,Yu-chu <yu-chu.yang@intel.com>
Reviewed-by: Junjie Mao <junjie.mao@intel.com>
2022-10-26 08:15:17 +08:00
Kunhui-Li
f165ff3b5a config_tools: update the upgrader.py script for virtio gpu
this patch updates the upgrader.py script for virtio gpu.

Tracked-On: 
Signed-off-by: Kunhui-Li <kunhuix.li@intel.com>
Signed-off-by: Yang,Yu-chu <yu-chu.yang@intel.com>
Reviewed-by: Junjie Mao <junjie.mao@intel.com>
2022-10-26 08:15:17 +08:00
Kunhui-Li
5554040dbb config_tools: refine virtio gpu in launch script
If display type is "Windows", the generated launch script will follow
the below rule.
"virtio-gpu,geometry=<width>x<height>+<x_off>+<y_off>,geometry=<width>x<height>+<x_off>+<y_off>"

If display type is "Full screen", the generated launch script look like
this. For example:
"virtio-gpu,geometry=fullscreen:0,geometry=fullscreen:1"

Tracked-On: 
Signed-off-by: Kunhui-Li <kunhuix.li@intel.com>
Signed-off-by: Yang,Yu-chu <yu-chu.yang@intel.com>
Reviewed-by: Junjie Mao <junjie.mao@intel.com>
2022-10-26 08:15:17 +08:00
Kunhui-Li
4f3a28d29f config_tools: refine virtio gpu device in the schema
this patch refines virtio gpu device in the schema for new design.

Tracked-On: 
Signed-off-by: Kunhui-Li <kunhuix.li@intel.com>
Signed-off-by: Yang,Yu-chu <yu-chu.yang@intel.com>
Reviewed-by: Junjie Mao <junjie.mao@intel.com>
2022-10-26 08:15:17 +08:00
Fei Li
c76f26bdad life_mngr: permit life_mngr in windows to assign VM name
Permit life_mngr in windows to assign the VM name which configure
in scenario XML.

Tracked-On: 
Signed-off-by: Fei Li <fei1.li@intel.com>
2022-10-25 16:01:21 +08:00
Yuanyuan Zhao
b5c70650cd config_tool: bdf of ioport serial port
Little fix: bdf format of inport serial port in board_inspector.

Tracked-On: 
Signed-off-by: Yuanyuan Zhao <yuanyuan.zhao@linux.intel.com>
2022-10-21 22:49:55 +08:00
TrellixVulnTeam
a4f1a2f185 Adding tarfile member sanitization to extractall() 2022-10-20 14:58:52 +08:00
Yuanyuan Zhao
b16aae48d0 config_tools: add pio serial port bdf to config.h
Add bdf info of pio serial port to config.h.

Tracked-On: 
Signed-off-by: Yuanyuan Zhao <yuanyuan.zhao@linux.intel.com>
Reviewed-by: Junjie Mao junjie.mao@intel.com
2022-10-19 17:23:11 +08:00
Yuanyuan Zhao
f9e16db9e1 config_tools: board_inspector: parse bdf for ioport serial controler
Add bdf infomation to ioport serial controler.

Tracked-On: 
Signed-off-by: Yuanyuan Zhao <yuanyuan.zhao@linux.intel.com>
Reviewed-by: Junjie Mao junjie.mao@intel.com
2022-10-19 17:23:11 +08:00
Chenli Wei
7ae785a452 misc: refine the allocate logic of offline tool
The current code use VM number to calculate HV_RAM_SIZE, this is not
match the HV logic.

This patch use the max number of trusty VMs to calculate the size of
sworld memory and assume 4M ram / VM to calculate the final ACRN ram
size.

Tracked-On: 
Signed-off-by: Chenli Wei <chenli.wei@intel.com>
Reviewed-by: Junjie Mao <junjie.mao@intel.com>
2022-10-19 15:58:25 +08:00
Junjie Mao
dea357fa3b board-inspector: fix a branch condition that checks existence of HWP
Evaluating an XPATH on a tree results an empty list (rather than None) when
that tree does not contain any matching node. This patch fixes a branch
condition that does not check the XPATH evaluation result properly.

Tracked-On: 
Signed-off-by: Junjie Mao <junjie.mao@intel.com>
2022-10-14 15:56:43 +08:00
Junjie Mao
1c532da088 board_inspector: tolerate PCI functions with undefined header layout
While PCIe specification defines only type 0 and type 1 configuration space
headers, there can be cases where a PCI function has a different header
type. As an example, that device itself is under development or is a
special emulated device.

This patch makes the board inspector gracefully skips those PCIe functions
and continue scanning the rest in such cases, as the only impact of the
anomaly is the prevention of ACRN from passing through that PCIe function
to any VM. It is an overkill to crash the board inspector.

Tracked-On: 
Signed-off-by: Junjie Mao <junjie.mao@intel.com>
2022-10-14 15:56:43 +08:00
Junjie Mao
7ce49f8c3c config_tools: determine SSRAM_ENABLED automatically
Today users are able to tweak whether the hypervisor includes support to
software SRAM (SSRAM). This, however, gives rise to potential functional
incorrectness when the hypervisor is not built with such support but a
service VM attempts to assign SSRAM to a post-launched VM (which is
possible as the service VM can still see the SSRAM-related ACPI tables). In
such cases the SSRAM assigned to a post-launched VM is not properly
initialized and thus not locked in cache.

As makes little sense for a user to configure the SSRAM support in the
hypervisor in a different way as the presence of SSRAM on hardware, this
patch removes the "SSRAM support" option from the configurator. The config
tools will now automatically enable the SSRAM support if the hardware
supports the feature and disable that otherwise.

Tracked-On: 
Signed-off-by: Junjie Mao <junjie.mao@intel.com>
2022-10-14 15:20:48 +08:00
Yang,Yu-chu
ce5b4435bc config-tools: add topology extract_display
This method gets connected displays andis add them as child nodes to
a corresponding graphics card.

Tracked-On: 
Signed-off-by: Yang,Yu-chu <yu-chu.yang@intel.com>
Reviewed-by: Junjie Mao <junjie.mao@intel.com>
2022-10-14 08:57:42 +08:00
Yang,Yu-chu
b235e88f24 config-tools: add new extractors helpers
Add 2 helplers:
1. get_realpath: this method returns the realpath of paramenter
if it's a valid path string
2. get_bdf_from_realpath: this method returns the bus, device, function
number if the parameter is a path to /sys/devices

Tracked-On: 
Signed-off-by: Yang,Yu-chu <yu-chu.yang@intel.com>
Reviewed-by: Junjie Mao <junjie.mao@intel.com>
2022-10-14 08:57:42 +08:00
Chenli Wei
34e5061418 misc: modify hidden_pdev_list to fix build issue
This patch remove a invalid variable from hidden_pdev_list to fix an
build issue.

Tracked-On: 
Signed-off-by: Chenli Wei <chenli.wei@intel.com>
2022-10-08 17:26:08 +08:00
Wu Zhou
41b2d6baee config-tools: generate CPU frequency limits
This patch is to generates frequency limits for each CPU, as a set of
data structure in hypervisor .c code.

With the frequency limits data, the hypervisor performance manager does
not have to deal with the CPU/board info. It just choose the
highest/lowest/guaranteed performance level and performance/nominal
p-state, and use them to construct HWP_REQUEST/PERF_CTL reg value.

How are frequency limits decided:
  - For CPUs in standard VMs, frequency limits are just decided by
    CPU/board info.
  - For CPUs assigned to RTVMs, we want certainty in latency, so just
    set its frequency to nominal/guaranteed by letting highest=lowest.
  - In some cases, CPUs are sharing frequency on hardware level
    (e.g. ADL e-cores in group of 4). This is described as _PSD in ACPI
    spec, or 'frequency domain' in Linux cpufreq driver. Thoese CPUs'
    frequency are linked together. If one of them are running RTVM,
    all other CPUs in the domain should be set to the same frequency.

Tracked-On: 
Signed-off-by: Wu Zhou <wu.zhou@intel.com>
Reviewed-by: Junjie Mao <junjie.mao@intel.com>
2022-10-08 11:13:21 +08:00
Wu Zhou
635120e3f2 config-tools: extract CPU frequency info in board_inspector
This patch adds CPU frequency info extraction for board_inspector.

It is supposed to be used by ACRN CPU performance management.

Including those:
  - Capabilities for HWP base regs, and turbo boost, by reading cpuids.
  - Reporting all CPUID bits in LEAF 06H.
  - Max none turbo ratio and max turbo ratio, by reading MSRs.
  - HWP capabilities, by reading IA32_HWP_CAPABILITIES. Reading this
    register requires HWP enabled in IA32_PM_ENABLE. (SDM Vol3 14.4.2:
    Additional MSRs associated with HWP may only be accessed after HWP
    is enabled)
  - ACPI _PSD info, by reading sys nodes of Linux acpi-pstate driver.
    This table describes frequency domains in which CPUs shares the same
    frequency.

Tracked-On: 
Signed-off-by: Wu Zhou <wu.zhou@intel.com>
Reviewed-by: Junjie Mao <junjie.mao@intel.com>
2022-10-08 11:13:21 +08:00
Wu Zhou
dd7a71900b config-tools: genertate performance policy parameter
This patch is to generate an ACRN CPU performance policy type boot
parameter.

The generated parameter is either 'cpu_perf_policy=Performance’ or
‘cpu_perf_policy=Nominal’, according to the 'CPU performance policy type'
config item in configurator.

It will then be packed into acrn-hypervisor deb file, and will be
automatically added to grub cfg file through installation.

Tracked-On: 
Signed-off-by: Wu Zhou <wu.zhou@intel.com>
Reviewed-by: Junjie Mao <junjie.mao@intel.com>
2022-10-08 11:13:21 +08:00
Wu Zhou
a971e12fc6 config-tools: add CPU performance policy option
Add 'CPU performance policy type' option to configurator. User can choose
from 'Performance' or 'Nominal' as the CPU performance policy for ACRN to
apply.

Tracked-On: 
Signed-off-by: Wu Zhou <wu.zhou@intel.com>
Reviewed-by: Junjie Mao <junjie.mao@intel.com>
2022-10-08 11:13:21 +08:00
Yang,Yu-chu
914e7a1d25 config-tools: check if the cpu_affinity is null
The cpu_affinity is null when creating a new scenario. Do not update the
pcpu properties if the cpu_affinity is null.

Tracked-On: 
Signed-off-by: Yang,Yu-chu <yu-chu.yang@intel.com>
2022-10-08 10:31:11 +08:00
Yang,Yu-chu
3d8ea54f74 config-tools: reserve the secondary PCI bus mmio windows
Prevent allocator to allocate PCI bus mmio windows to other devices.

Tracked-On: 
Signed-off-by: Yang,Yu-chu <yu-chu.yang@intel.com>
Reviewed-by: Junjie Mao <junjie.mao@intel.com>
2022-09-30 11:51:47 +08:00
zihengL1
bef352481f config-tools: Missing tqdm python package in board_inspector.deb
Added python3-tqdm depend in gen_acrn_deb.py

Tracked-On: 
Reviewed-by: Junjie Mao <junjie.mao@intel.com>
Signed-off-by: Ziheng Li <ziheng.li@intel.com>
2022-09-30 11:20:46 +08:00
Chenli Wei
b287e6f8ec misc: add documentation element for CACHE_REGION
Some member of CACHE_REGION have no documentation element, this cause
some issue when we generate documentation for user.

This patch add some documentation to fix the above issue.

Tracked-On: 
Signed-off-by: Chenli Wei <chenli.wei@intel.com>
2022-09-30 10:49:05 +08:00
Chuang Ke
50cdcb3660 [config_tool] Message when CAT not supported
use better wording instead the message when CAT not supported

Tracked-On: 
Signed-off-by: Chuang-Ke <chuangx.ke@intel.com>
2022-09-22 23:14:01 +08:00
Chuang Ke
a35f3c0d65 [config_tool] vCAT widget behavior
let vCAT chunk no longer  fixed-drag

Tracked-On: 
Signed-off-by: Chuang-Ke <chuangx.ke@intel.com>
Reviewed-by: Junjie Mao <junjie.mao@intel.com>
2022-09-21 16:51:03 +08:00
Junjie Mao
3a4b84e078 config_tools: handle multiple xs:documentation properly
With multiple xs:documentation nodes under the same xs:annotation, xs2js
will convert the XML into a dict where the key `xs:documentation` maps to a
list rather than a string. This patch enhances the converter.py to handle
such case properly.

Tracked-On: 
Signed-off-by: Junjie Mao <junjie.mao@intel.com>
2022-09-21 15:15:38 +08:00
Reyes, Amy
f0eddc6a4c doc: Update acrnctrl readme
- Update broken link and minor editorial changes

Tracked-On: 

Signed-off-by: Reyes, Amy <amy.reyes@intel.com>
2022-09-20 09:09:47 -07:00
zhangrouyu
7aa3df8d7d Add configuration files for ASRock system, with Intel(R) 12th Gen Core(TM)CPU(formerly known as Alder Lake) and 32G memory.
Tracked-On: 
Signed-off-by: zhangrouyu <rouyu.zhang@intel.com>
2022-09-19 21:48:17 +08:00
zhangrouyu
8d0131e7fb improve the document of acrnd
Tracked-On:#8148
Signed-off-by: zhangrouyu <rouyu.zhang@intel.com>
2022-09-19 12:10:59 +08:00
zhangrouyu
34776484df GSG document revision 2022-09-16 13:28:14 -07:00
zhangrouyu
ef41f87171 improve the document of acrnd 2022-09-16 13:28:14 -07:00
Yang,Yu-chu
0d7527ce2f config-tools: diable real_time_vcpu for non real-time VM
Reset the real_time_vcpu to 'n' if the VM is not a real-time VM.

Tracked-On: 
Signed-off-by: Yang,Yu-chu <yu-chu.yang@intel.com>
Reviewed-by: Junjie Mao <junjie.mao@intel.com>
2022-09-16 10:18:01 +08:00
Chenli Wei
122e97e5a1 misc: add assertion to check the BDF value
The BDF of user setting should skip the slot '00', '01', '02', '1f', all
these slots should select one of the 03~1e.

This patch add an assertion to check the above policy.

Tracked-On: 
Signed-off-by: Chenli Wei <chenli.wei@intel.com>
2022-09-14 18:15:29 +08:00
Yang,Yu-chu
c17c8e321c config-tools: fix typos of UI and README
1. In the title "Create a new Scenario", capitalize the "N" in "new".
2. Fix the file path to the installer.

Tracked-On: 
Signed-off-by: Yang,Yu-chu <yu-chu.yang@intel.com>
Reviewed-by: Junjie Mao <junjie.mao@intel.com>
2022-09-14 08:44:57 +08:00
Chuang Ke
8577e158df [config_tool] v2 UART widget address for pre-launched VM doesn't update
the configurator can clear its corresponding I/O port or BDF settings automatically when the VM of a vUART endpoint changes
v1-->v2: support the result working on multiple VUART Connections

Tracked-On: 
Signed-off-by: Chuang-Ke <chuangx.ke@intel.com>
Reviewed-by: Junjie Mao <junjie.mao@intel.com>
2022-09-09 14:04:54 +08:00
zihengL1
86314b2f18 config-tools: Fix error reporting for memory addresses below 4G
Now, if you use a memory address below 4G, there will be a warning,
but the build process of the hypervisor will not be interrupted.

Tracked-On: 
Signed-off-by: Ziheng Li <ziheng.li@intel.com>
2022-09-08 20:59:47 +08:00
Chuang Ke
cafb562597 [config_tool] Duplicate error for vUART connection
improve the translateError function by adding a condition: if there are errors describing the same error and same paths, remove the repeat one.

Tracked-On: 
Signed-off-by: Chuang-Ke <chuangx.ke@intel.com>
Reviewed-by: Junjie Mao <junjie.mao@intel.com>
2022-09-08 18:52:21 +08:00
Chenli Wei
7a99e1b1d8 misc: refine upgrade script
There is some issue when use upgrade to update some old xml version to
release_3.1, this patch modify the upgrade script to fix these issue.

Tracked-On: 
Signed-off-by: Chenli Wei <chenli.wei@intel.com>
2022-09-08 18:10:56 +08:00
Chenli Wei
c0e0c1a92a misc: add assertion to check the CDP Enable
The current code have not check whether all cache region has "Code and
Data Prioritization", it's an issue for some platform which have only
L2 or L3 "Code and Data Prioritization" capability.

This patch add assertion to check whether all L2, L3 cache could be set
CDP_ENABLE.

Tracked-On: 
Signed-off-by: Chenli Wei <chenli.wei@intel.com>
2022-09-04 21:41:12 +08:00
David B. Kinder
b7d65b9d79 misc: restore HIDDEN_PDEV_REGION and type
Restore a hidden option and its type accidentally removed by PR  and 

Tracked-On: 

Signed-off-by: David B. Kinder <david.b.kinder@intel.com>
2022-09-02 09:56:45 +08:00
Junjie Mao
4f1be92b67 config_tools: fix a typo in cache info extractor
Commit 2a8b80d0c ("config_tools: board_inspector: guess L3 CAT parameters
if not reported via CPUID") refactors the implementation of `--add-llc-cat`
option of the board inspector but does not update the referenced XML nodes
properly. This patch fixes a using-undefined-variable issue introduced by
that commit.

Tracked-On: 
Signed-off-by: Junjie Mao <junjie.mao@intel.com>
2022-09-01 15:26:39 +08:00
zihengL1
4f1e4eefc5 config-tools: generate config_summary.rst
Generate config_summary.py script in misc/config-tools/scenario_config
directory. This script can extract important information from scenario
and board xml to summary it into RST format text.

Tracked-On: 
Reviewed-by: Junjie Mao <junjie.mao@intel.com>
Signed-off-by: Ziheng Li <ziheng.li@intel.com>
2022-09-01 12:18:58 +08:00
David B. Kinder
aac37cbfe5 doc: remove use of :ref: in tooltips
The configurator build requires the released documentation to be
published before it normally would so it can resolve :ref: links in
tooltips.  Move these :ref: links into a second xs:documentation tag so
the reference will appear in the option documentation but not in the
tooltip (and break this premature dependency in the configurator build).

Tracked-On: 

Signed-off-by: David B. Kinder <david.b.kinder@intel.com>
2022-09-01 09:01:27 +08:00
David B. Kinder
b48f0f5345 config: update CPU and memory assert messages
Improve consistency and clarity in CPU and memory assert messages.

Tracked-On: 

Signed-off-by: David B. Kinder <david.b.kinder@intel.com>
2022-08-31 11:39:43 +08:00
Chenli Wei
de93ac1edf misc: add config for P2SB
Currently we have to use additional patch to change config tool python
code to enable P2SB hidden device.

This patch have add an element, user could config the P2SB device in
the scenario XML.

Tracked-On: 
Signed-off-by: Chenli Wei <chenli.wei@linux.intel.com>
Reviewed-by: Junjie Mao <junjie.mao@intel.com>
2022-08-31 10:43:33 +08:00
Chuang Ke
d60f769179 config_tools: enable RDT and CDP after launch scenario
Before, the logic automatically sets RDT as y if CDP is y. when the user imports a scenario, the CDP is y and RDT is y, the view will set CDP as y and RDT as y.
After fixing, the logic won't set RDT as y if CDP is y, which means the RDT won't be changed no matter if CDP is y or n(only when import scenario) .

Tracked-On: 
Signed-off-by: Chuang-Ke <chuangx.ke@intel.com>
Reviewed-by: Junjie Mao <junjie.mao@intel.com>
2022-08-30 20:05:24 +08:00
Chenli Wei
a75660be58 misc: refine the vCPU sort for cpu_affinity and CAT
The current code sort cpu list by string order, this is an issue when
we want to assign more then 10 vCPUs for some VM.

So this patch rewrite the sort of these list, now the cpu list order
by int type.

Tracked-On: 
Signed-off-by: Chenli Wei <chenli.wei@linux.intel.com>
Reviewed-by: Junjie Mao <junjie.mao@intel.com>
2022-08-30 16:36:53 +08:00
Zhang Wei
7b8b489508 config_tool: modify the launchscript template
Change  ">>/dev/stderr" to ">&2"
    Although it seems that the two have the same effects, the way they work is different.
    The ">/dev/stderr" does an open(), it goes to the filesystem look for that file, opens and write to it. The second way, ">&2",just uses file descriptor 2.
    The acrnd deamon outputs the stdin and stderr messages to journal through socket. And the socket cannot be manipulated with open methods.So acrnd cannot open the "/dev/stderr" which has redirected to a socket.
    
    For successfully excuting the create_tap function in acrnd deamon, We change ">> /dev/stderr" to ">&2".
    For the remain ">> /dev/stderr", they all follow the echo command and will not harm the launchscript functionality.
    
    Tracked-On: 
    
    Signed-off-by: Zhang Wei <wei6.zhang@intel.com>
2022-08-30 11:24:04 +08:00
Chenli Wei
7b69ca390a misc: update elementpath to 2.5.0
The current elementpath of ACRN Configurator use 2.4.0 which can's
support some new python interface, this patch update it to 2.5.0 to
fix the above issue.

Tracked-On: 
Signed-off-by: Chenli Wei <chenli.wei@linux.intel.com>
2022-08-29 23:24:40 +08:00
Yuanyuan Zhao
dd77eb3478 config_tools: UC_LOCK_DETECTION_ENABLED default value
Disable UC lock detection(UC_LOCK_DETECTION_ENABLED) by default.

Tracked-On: 
Signed-off-by: Yuanyuan Zhao <yuanyuan.zhao@linux.intel.com>
2022-08-29 17:48:12 +08:00
Yuanyuan Zhao
580088a862 config_tools: update the comment of cpu_affintiy in launch_script
The parameter for cpu_affinity is apicid of processor now.
Update the comment.

Tracked-On: 
Signed-off-by: Yuanyuan Zhao <yuanyuan.zhao@linux.intel.com>
Reviewed-by: Junjie Mao <junjie.mao@intel.com>
2022-08-29 17:48:12 +08:00
Yuanyuan Zhao
4c17ab47eb config_tools: Add core type infomation to pCPU
If a platform has both P-core and E-core,
prompt user about the core type when set the CPU affinity for VMs.

Tracked-On: 
Signed-off-by: Yuanyuan Zhao <yuanyuan.zhao@linux.intel.com>
Reviewed-by: Junjie Mao <junjie.mao@intel.com>
2022-08-29 17:48:12 +08:00
Junjie Mao
f78c8f4660 config_tools: support dynamic enum names in XML schema
The dynamic enum mechanism today only allows specifying the enum values
using XPATH. While this is sufficient from functionality point of view, it
may not provide the best experience as users have to understand the raw
data used internally. The typical way to present more informational labels
of enum values to users is enum names which cannot be supported by the
current XML schema to JSONSchema converter.

This patch allows the XML schema to specify dynamic enum names by adding an
`acrn:option-names` attribute to an element. The attribute is interpreted
as an XPATH which evaluates to a sequence of the same length of
`acrn-options`. The element at index i in that sequence is considered the
enum name of the enum value at index i of the results of `acrn:options`.

This mechanism is first applied to the `pcpu_id` element to indicate
whether a physical CPU is P-core or E-core.

Tracked-On: 
Signed-off-by: Junjie Mao <junjie.mao@intel.com>
2022-08-29 17:48:12 +08:00
Liu Long
7ad100b1a9 SampleApplicaton: Change schroot data mapping to desktop
1.Use desktop profie to repalce the default profile.
2.Change the flask images path as a absolute path.
3.Add the ssh config function to enable the ssh.

Tracked-On: 
Signed-off-by: Liu Long <long.liu@linux.intel.com>
2022-08-29 15:14:05 +08:00
Junjie Mao
065bcaa2ce config_tools/upgrader: keep cache allocation policies properly
The current generic data moving policy in the upgrader do not work well
with complex nodes having multiple-occurred descendants. That causes the
lost of cache allocation policies in scenario XMLs when upgrading a v3.0
scenario XML to the coming v3.1.

This patch adds another generic-purpose mover that simply copies a whole
subtree unchanged.

Most nodes of this kind are handled by special movers as their formats
changed dramatically in v3.0, which is why that issue is not identified
earlier.

Tracked-On: 
Signed-off-by: Junjie Mao <junjie.mao@intel.com>
2022-08-26 21:46:56 +08:00
Chenli Wei
79acefaa73 misc: add assert to check the total memory size of User VMs
The current code does not detect the memory applied by all VMs, if it
exceeds the native memory, there will be an allocate failed and these
VMs can't run.

Tracked-On: 
Signed-off-by: Chenli Wei <chenli.wei@linux.intel.com>
Reviewed-by: Junjie Mao junjie.mao@intel.com
2022-08-26 21:17:18 +08:00
Chuang Ke
3942af905c [config_tool] Imported scenarios not populating CAT widget
fix CAT widget data doesn't refresh after import another scenario

the focus will go to "Basic Parameters" tab after import a scenario everytime. so that data could be refresh.

Tracked-On: 
Signed-off-by: Chuang-Ke <chuangx.ke@intel.com>
2022-08-26 20:47:17 +08:00
zihengL1
c24aa87a65 config-tools: add progress bar and timeout mechanism for board_inspector
Added progress bar for board_inspector.py in all extractors and
some detailed step.
Added timeout mechanism for update-pciids command.

Tracked-On: 
Reviewed-by: Junjie Mao <junjie.mao@intel.com>
Signed-off-by: Ziheng Li <ziheng.li@intel.com>
2022-08-26 18:36:34 +08:00
zihengL1
b16fcda6b5 config-tools: modified requirements.txt and update GSG
Modified misc/config_tools/configurator/requirements.txt
and misc/config_tools/requirements.txt. Updated getting-started.rst
and acrn_configurator_tool.rst.

Tracked-On: 
Signed-off-by: Ziheng Li <ziheng.li@intel.com>
2022-08-26 16:56:16 +08:00