1
0
mirror of https://github.com/projectacrn/acrn-hypervisor.git synced 2025-05-03 05:56:57 +00:00
Commit Graph

1556 Commits

Author SHA1 Message Date
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
Chuang Ke
c411dbdfbf [config_tool] Configurator creates duplicate VM name
1.add condition to recalculate maxVMID from saved VM name,  so that vm name could be update correctly
if there is VM names "service VM" "real-time VM" "VM11", the new VM will be named "VM12"

2. support calculate VM name when changing any VM name.
if there is VM names "service VM" "real-time VM" , the new VM will be named "VM2",count from 0.

Tracked-On: 
Signed-off-by: Chuang-Ke <chuangx.ke@intel.com>
Reviewed-by: Junjie Mao <junjie.mao@intel.com>
2022-08-26 10:59:28 +08:00
Chuang Ke
68a7854052 [Workshop] Configurator create scenario popup window disappear sometimes
fix: 1. popup window won't be close when user click  background
2.close popup window do cancel function related

Tracked-On: 
Signed-off-by: Chuang-Ke <chuangx.ke@intel.com>
Reviewed-by: Junjie Mao <junjie.mao@intel.com>
2022-08-24 11:05:28 +08:00
Chuang Ke
2e4a373abb [config_tool] vUART widget address for pre-launched VM doesn't update
when the VM of a vUART endpoint changes the configurator can clear its corresponding I/O port or BDF settings automatically

Tracked-On: 
Signed-off-by: Chuang-Ke <chuangx.ke@intel.com>
Reviewed-by: Junjie Mao <junjie.mao@intel.com>
2022-08-24 10:27:52 +08:00
Chenli Wei
0609250743 misc: add assert to check the RTVM CPU affinity
The current ACRN Configurator have no warning when the user set CPU zero
to RTVM.

This patch add an assert to check the above.

Tracked-On: 
Signed-off-by: Chenli Wei <chenli.wei@linux.intel.com>
Reviewed-by: Junjie Mao <junjie.mao@intel.com>
2022-08-24 08:28:26 +08:00
Chenli Wei
e44b1b84ea misc: add cpu details to launch script
The current code use cpu_id in scenario xml and use apic_id of the pCPU
in the launched script, this confuses the user, especially the same name
"cpu_affinity" is used for these script.

So this patch add some comment to launched script to explain the
relationship between cpu_id and apic_id.

Tracked-On: 
Signed-off-by: Chenli Wei <chenli.wei@linux.intel.com>
2022-08-23 16:40:25 +08:00
Chenli Wei
fa818d7b83 misc: refine the ACRN Configurator error message
The current ACRN Configurator show the XML name instead of DX-friendly
name when user delete the default value of some numeric field.

This patch add some "acrn:errormsg" which will show the DX-friendly name
to fix the above issue.

Tracked-On: 
Signed-off-by: Chenli Wei <chenli.wei@linux.intel.com>
Reviewed-by: Junjie Mao <junjie.mao@intel.com>
2022-08-22 15:33:23 +08:00
David B. Kinder
946d5f274a Fix sample app histogram display
Improve graph labels and align histogram bars on x-axis labels
Add n= value to show it's not a static image.

Tracked-On: 

Signed-off-by: David B. Kinder <david.b.kinder@intel.com>
2022-08-20 11:56:56 +08:00
Yuanyuan Zhao
1993bc8283 config_tools: change some default value
Change default user vm memory size from 256 to 1024.

Tracked-On: 
Signed-off-by: Yuanyuan Zhao <yuanyuan.zhao@linux.intel.com>
Reviewed-by: Junjie Mao <junjie.mao@intel.com>
2022-08-19 12:28:45 +08:00
Yuanyuan Zhao
32bc596129 config_tool: add MAX_PCI_BUS_NUM in UI
Add MAX_PCI_BUS_NUM in UI for user.
If user defined MAX_PCI_BUS_NUM is greater than the value
calculated by board.xml, use user defined MAX_PCI_BUS_NUM.

Tracked-On: 
Signed-off-by: Yuanyuan Zhao <yuanyuan.zhao@linux.intel.com>
Reviewed-by: Junjie Mao <junjie.mao@intel.com>
2022-08-19 12:28:45 +08:00
Liu Long
42f0878f0a SampleApplication: Disable the schroot mapping.
Disable the schroot mapping data from native env to the
chroot env.

Tracked-On: 
Signed-off-by: Liu Long <long.liu@linux.intel.com>
2022-08-18 11:27:09 +08:00
Chenli Wei
93b4a6e45d SampleApplication: Update the image create scripts
Update the rc.local for User VM, check the echo result and try again
if the echo failed.

Tracked-On: 
Signed-off-by: Chenli Wei <chenli.wei@linux.intel.com>
2022-08-18 09:32:42 +08:00
Liu Long
e6de2e5798 SampleApplication: Update the image create scripts
1. Delete the generated images if the create scripts failed.
2. Enable root user login on GUI.
3. Enable systemd service in case there are many error logs.

Tracked-On: 
Signed-off-by: Liu Long <long.liu@linux.intel.com>
2022-08-17 18:30:14 +08:00
Chenli Wei
7f3174f740 misc: add a uio init setting
We need set uio when the hmi and rt user VM setup, so creat a rc.local
in the '/etc' and run it after system setup.

Tracked-On: 
Signed-off-by: Chenli Wei <chenli.wei@linux.intel.com>
2022-08-17 18:00:39 +08:00
Chuang Ke
e47d0e2b2a [config_tool] v2 show warning message when users attempt to create a new scenario
fix warning message when users attempt to create a new scenario, or import an existing scenario, for an existing configuration
v1-->v2: update text to align with the design prototype spec.

Tracked-On: 
Signed-off-by: Chuang-Ke chuangx.ke@intel.com
Reviewed-by: Junjie Mao junjie.mao@intel.com
2022-08-17 16:48:43 +08:00
Chuang Ke
731d2171c7 [config_tool] Real time vCPU checkbox is confusing to users
add tooltip to explain "Real-time vCPU"
use the one generated from the XSD files to generate tooltip infomation.

Signed-off-by: Chuang-Ke <chuangx.ke@intel.com>
Reviewed-by: Junjie Mao <junjie.mao@intel.com>
Tracked-On: 
2022-08-17 16:13:43 +08:00
David B. Kinder
9f0998af3e doc: remove use of :term: role in tooltip
The configurator can't process :term: glossary references, so remove it.

Tracked-On: 

Signed-off-by: David B. Kinder <david.b.kinder@intel.com>
2022-08-17 10:51:26 +08:00
David B. Kinder
b82805f77b doc: add tooltip for real-time vCPU option checkbox
Tracked-On: 

Signed-off-by: David B. Kinder <david.b.kinder@intel.com>
2022-08-17 10:20:56 +08:00
chuangxke
206505453e Focus change to new VM when added
the focus  change to that new VM on the Basic tab when the new VM  added

Tracked-On: 
Signed-off-by: Chuang-Ke <chuangx.ke@intel.com>
Reviewed-by: Junjie Mao <junjie.mao@intel.com>
2022-08-17 10:04:51 +08:00
Wu Zhou
c7b00e134f config-tools: change 'DISABLED' settings to 'ENABLED' in config xml
In order to improve DX, 'DISABLED' style configurator settings are
changed to 'ENABLED' style. The config xml files need too be changed
accordingly.

Including:
  - MCE_ON_PSC_DISABLED -> MCE_ON_PSC_ENABLED
  - ENFORCE_TURNOFF_AC -> SPLIT_LOCK_DETECTION_ENABLED
  - ENFORCE_TURNOFF_GP -> UC_LOCK_DETECTION_ENABLED

Tracked-On: 

Signed-off-by: Wu Zhou <wu.zhou@intel.com>
2022-08-17 09:23:33 +08:00
Wu Zhou
21d10af9d5 config-tools: change 'DISABLED' settings to 'ENABLED'
Some configurator settings are defined as 'feature DISABLED' style, which
could cause confusion to developers. This patch is to change them into
straightforward 'ENABLED' style.

Including:
  - MCE_ON_PSC_DISABLED -> MCE_ON_PSC_ENABLED
  - ENFORCE_TURNOFF_AC -> SPLIT_LOCK_DETECTION_ENABLED
  - ENFORCE_TURNOFF_GP -> UC_LOCK_DETECTION_ENABLED

Tracked-On: 

Signed-off-by: Wu Zhou <wu.zhou@intel.com>
2022-08-17 09:23:33 +08:00
zihengL1
b026238a69 config-tools: modified requirements.txt and update GSG
Modified requirements.txt in misc/config_tools/configurator
directory and add GSG requirements.txt inmisc/config_tools
directory.
Relevant python package installing steps in GSG.

Tracked-On: 
Reviewed-by: Junjie Mao junjie.mao@intel.com
Signed-off-by: Ziheng Li <ziheng.li@intel.com>
2022-08-16 17:20:23 +08:00
Chuang Ke
815d9b45c6 configurator does not consider L3 CAT config when opening an exiting configuration
1. rewrite function to match xml data structure  to fix the bug
2. fix inconsistency in one function ( data push order change accordingly)

Tracked-On: 
Signed-off-by: Chuang-Ke <chuangx.ke@intel.com>
Reviewed-by: Junjie Mao <junjie.mao@intel.com>
2022-08-16 16:21:48 +08:00
Kunhui-Li
e906270dd3 config_tools: highlight success or fail status in save window
changing the green or yellow icon to highlight success or fail status
in save window.

Tracked-On: 
Signed-off-by: Kunhui-Li <kunhuix.li@intel.com>
2022-08-15 14:15:25 +08:00
Liu Long
237d07b9bd ACRN:SampleApplication: Copy RT kernel scripts
Add the copy RT kernel for the create image scripts.

Tracked-On: 
Signed-off-by: Liu Long <long.liu@linux.intel.com>
2022-08-15 11:17:51 +08:00
Liu Long
c59dcc0042 ACRN:SampleApplication: Update the image build scripts
1. Add the generic extra kernel modules for HMI VM, in case the
uio_pci_generic modules is missed.
2. Add ssh server for HMI VM.
3. Add specific version for python numy modules.

Tracked-On: 
Signed-off-by: Liu Long <long.liu@linux.intel.com>
2022-08-15 09:19:15 +08:00
Liu Long
a4094b9eeb ACRN: Scripts: Modify the create images scripts
1. Create a build directory for store images so that the git will not trace the
images.
2. Disable more systemd server in RT-VM in case the error output in
console.
3. Add the make sampleapplication command in the scripts.

Tracked-On: 
Signed-off-by: Liu Long <long.liu@linux.intel.com>
2022-08-15 09:19:15 +08:00
David B. Kinder
4ef991effb doc: add MCE check avoidance explanation
Add a reference to the intel.com white paper on MCE avoidance to the
Disable MCE Workaround configuration option

Tracked-On: 

Signed-off-by: David B. Kinder <david.b.kinder@intel.com>
2022-08-12 16:48:49 +08:00
zihengL1
22184ac99a config-tools: solve hv and vm memory address conflict
Fixed the problem that acrn can still build normally
when the memory addresses of HV and VM conflict, which
causes the hypervisor to hang.

At the same time, defined a class to process memory to
obtain and check the available memory range.
Memory range obtain and check related functions are
defined as class methods.

Tracked-On: 
Reviewed-by: Junjie Mao <junjie.mao@intel.com>
Signed-off-by: Ziheng Li <ziheng.li@intel.com>
2022-08-12 16:26:50 +08:00
Chenli Wei
a7397dedf0 misc: add assert to check the vBDF conflict
The current ACRN-Configurator just check the conflict of user setting.
have not check the conflict with native PCI device's bdf.

This patch add an assert to check the above conflict.

Tracked-On: 
Signed-off-by: Chenli Wei <chenli.wei@linux.intel.com>
Reviewed-by: Junjie Mao <junjie.mao@intel.com>
2022-08-11 15:34:21 +08:00
Liu Long
a72a2e1795 SampleApplication: Add the proxy setting for HMI
Add the proxy config file for the HMI VM images, in case install
the packages failed.

Tracked-On: 
Signed-off-by: Liu Long <long.liu@linux.intel.com>
2022-08-10 16:21:37 +08:00
David B. Kinder
b8c85135d9 doc: update Security VM Features config option
Updated the description of Security VM Features per review comments, and
made the option visible (again) in the configurator as an advanced
hypervisor option.

Created a new glossary entry for "Security VM", referenced by this new
description and tooltip.

Tweak wording of virtio console and input device descriptions.

Signed-off-by: David B. Kinder <david.b.kinder@intel.com>

Tracked-On: 
2022-08-10 10:09:58 +08:00
Chuang Ke
481173bf50 v2-config_tool-Instruction-missing-for-L2-only-users
v1-->v2:
1. instruction displayed regardless of if L3 or L2 cache were available, now it displayed instructions accordingly no matter how many caches
2. let instructions displayed only once above the topmost CAT configuration table

Tracked-On: 
Signed-off-by: Chuang-Ke <chuangx.ke@intel.com>
Reviewed-by: Junjie Mao <junjie.mao@intel.com>
2022-08-09 22:15:27 +08:00
Kunhui-Li
b5097ee3e3 config_tools: fix vBDF schema pattern issue
add escape charater to fix vBDF pattern match any character issue
for vUART and ivshmem.

Tracked-On: 
Signed-off-by: Kunhui-Li <kunhuix.li@intel.com>
Reviewed-by: Junjie Mao <junjie.mao@intel.com>
2022-08-09 21:45:47 +08:00
Junjie Mao
3f0eb96d85 sample_app: Add scripts to create RT and HMI VM images
Creating VM images is always a pain to users, and it is especially the case
for those who want to set up the ACRN sample application which needs two
different VM images, one with graphical desktop and the other optimized for
real-time.

This patch introduces the so-called "image builder" utility which is a set
of scripts that can automate the creation of those VM images. The scripts
will take care of:

  - Forking image files based on Ubuntu cloud images and enlarge the root
    file system per needs.

  - Setting up users and passwords.

  - Installing necessary packages to run either the graphical desktop or
    real-time applications.

  - Specific to the RT VM image, disabling services and tweaking kernel
    command line for optimized real-time performance.

  - Copying the sample applications into the images so that users can
    start them directly, after they launch the VMs.

Tracked-On: 
Signed-off-by: Junjie Mao <junjie.mao@intel.com>
2022-08-08 08:26:43 +08:00
Chuang Ke
88ed588711 vUART and IVSHMEM widgets don't generate address
[config_tool] vUART and IVSHMEM widgets don't generate address

Tracked-On: 
Signed-off-by: Chuang-Ke <chuangx.ke@intel.com>
Reviewed-by: Junjie Mao <junjie.mao@intel.com>
2022-08-05 16:43:32 +08:00
weizhang
ddefbfa6b9 SampleApplication: Change the unit of result
Correct the unit of sample-application result, which should be us(microseconds).

Tracked-On 
Signed-off-by: Zhang Wei <wei6.zhang@linux.intel.com>
2022-08-05 10:35:10 +08:00
Junjie Mao
2a8b80d0c1 config_tools: board_inspector: guess L3 CAT parameters if not reported via CPUID
On some platforms the L3 CAT capabilities are not reported via CPUID even
though they are present. The public real-time tuning guide suggests to try
accessing the MSRs directly to detect if L3 CAT is available or not.

This patch implements such guessing logic in the board inspector in order
to enable CAT for users with those kinds of platforms.

Tracked-On: 
Signed-off-by: Junjie Mao <junjie.mao@intel.com>
2022-08-05 07:36:40 +08:00
Junjie Mao
67d7b8f4c8 config_tools: board_inspector: fix MSR reads and writes
The MSR reading and writing routines today has the following issues:

  1. The missing of /dev/cpu/*/msr is not properly captured as it is
     reported via FileNotFoundError rather than IOError.

  2. The wrmsr logic is not updated to use the tmpdevfs msr file.

This patch fixes the issues above which is a prerequisite of adding
additional MSR parsing classes.

Tracked-On: 
Signed-off-by: Junjie Mao <junjie.mao@intel.com>
2022-08-05 07:36:40 +08:00
Junjie Mao
a6614e7e2f config_tools: board_inspector: refactors MSR utilities
In v3.0 the msrfield class has its initializer changed in a way that is
incompatible with the parameter names or the getter/setter. When introduced
from the BITS project, that class allows specifying an MSR field of
arbitrary length by being given the index of the most and least significant
bits.

This patch restores the original behavior of that msrfield class and moves
the use-case specific methods, namely is_vmx_cap_supported and
is_ctrl_setting_allowed, to a helper class.

Parsing of the VMX capability reporting MSRs in msr.py are updated
accordingly, and brief documentation of the MSR fields are added as well.

Tracked-On: 
Signed-off-by: Junjie Mao <junjie.mao@intel.com>
2022-08-05 07:36:40 +08:00
Junjie Mao
4369896549 config_tools: acpi_gen: generate vRTCT instead of copying a physical one
As the last step to simplify the steps to enable software SRAM passthrough
to a pre-launched RT VM, this patch generates a virtual RTCT which only
contains a compatibility entry (to indicate that the format of the RTCT is
v2) and a couple of SSRAM or SSRAM waymask entries to report the software
SRAM blocks that pre-launched VM has access. That follows the practice how
ACRN device model generates virtual RTCT for post-launched VMs today.

In case RTCT v1 is used physically, this patch still generates a v2 RTCT
for the pre-launched VM but does not add an SSRAM waymask entry there
due to lack of information.

Tracked-On: 
Signed-off-by: Junjie Mao <junjie.mao@intel.com>
2022-08-05 07:36:40 +08:00
Junjie Mao
eff353700e config_tools: acpi_gen: refactor ACPI table generation logic
While functionally correct, the ACPI table (mostly DSDT) generation logic
in asl_gen.py contains multiple occurrences that share the same code
structure as follows:

    cls = <class of the table>
    length = ctypes.sizeof(cls)
    data = bytearray(length)
    res = cls.from_buffer(data)
    <setting multiple fields in res>

To minimize code duplication, this patch refactors the logic by abstracting
the creation of an ACPI table into a method which returns a newly created
object of the given class after setting the specified fields.

Tracked-On: 
Signed-off-by: Junjie Mao <junjie.mao@intel.com>
2022-08-05 07:36:40 +08:00
Junjie Mao
89d54aa5d1 config_tools: board_inspector: record all details from RTCT in board XML
Today users still need to manually copy the RTCT binary file when they want
to passthrough software SRAM to a pre-launched RTVM, which is far from
being user friendly.

To get rid of that step, this patch extracts all information from the RTCT
table and format them in the board XML which is the only file users need to
copy from their target platform to build the hypervisor. The patch that
immediately follows will then use such information to generate vRTCT for
the pre-launched VM.

A side effect of this change is that more ranges, which represents those
reported by RTCT such as the CRL binary or the error log area, will be
added to the `memory` section of the board XML. The `id` attributes of
those range will be used to identify what that range is for. As a result,
getting RAM of the physical platform from the board XML requires additional
conditions on the `id` attributes to avoid counting non-RAM regions
unintendedly.

Tracked-On: 
Signed-off-by: Junjie Mao <junjie.mao@intel.com>
2022-08-05 07:36:40 +08:00
Junjie Mao
d7bac88e5e config_tools: board_inspector: refactor ACPI RTCT parser
This patch refactors and fixes the following in the ACPI RTCT parser of the
board inspector.

  1. Refactor to expose the RTCTSubtableSoftwareSRAM_v2 class directly as
     it is a fixed-size entry. There is no need to create a dynamic class
     which is mostly for variable-length entries.

  2. Rename the "format" field in RTCT entry header to "format_or_version",
     as that field actually means "version" in RTCT v2.

  3. Properly parse the RTCT compatibility entry which is currently parsed
     as an unknown entry with raw data.

Tracked-On: 
Signed-off-by: Junjie Mao <junjie.mao@intel.com>
2022-08-05 07:36:40 +08:00
Liu Long
b7d70385d9 SampleApplication: Add Makefile for the entire SampleApplication
Add the Makefile in the SampleApplication root directory. User
don't need to separate build the userapp and rtapp, just need make
once at the SampleApplication root directory.

Tracked-On 
Signed-off-by: Liu Long <long.liu@linux.intel.com>
2022-08-04 14:22:39 +08:00
Chenli Wei
6ac196d982 misc: add assert to check the duplicate devices
The current ACRN-Configurator allow user add duplicate PCI devices to
passthrough which it is not correct.

This patch add an assert to check the duplicate of PCI devices.

Tracked-On: 
Signed-off-by: Chenli Wei <chenli.wei@linux.intel.com>
Reviewed-by: Junjie Mao <junjie.mao@intel.com>
2022-08-03 15:34:06 +08:00
Chuang Ke
670ccf21f8 config_tool: Instruction missing for L2-only users
In the cache widget, there are instructions: "Drag the ends of the boxes to cover the cache chunks you want to allocate to specific VMs. If you have a real-time VM,ensure its cache chunks do not overlap with any other VM's cache chunks."

Tracked-On: 
Signed-off-by: Chuang-Ke <chuangx.ke@intel.com>
Reviewed-by: Junjie Mao <junjie.mao@intel.com>
2022-08-02 08:43:53 +08:00
Kunhui-Li
fa8c149a38 cofig_tools: apply vBDF pattern check to vUART and ivshmem
apply vBDF pattern check to vUART and ivshmem.

Tracked-On: 
Signed-off-by: Kunhui-Li <kunhuix.li@intel.com>
Reviewed-by: Junjie Mao <junjie.mao@intel.com>
2022-07-29 17:33:07 +08:00
Kunhui-Li
9a5f42e187 config_tools: add tooltips for cpu affinity
add tooltips for cpu affinity and tiny fix for virtio console device.

Tracked-On: 
Signed-off-by: Kunhui-Li <kunhuix.li@intel.com>
2022-07-29 17:33:07 +08:00
Kunhui-Li
e83bea0882 config_tools: remove invaild hugepage check
Currently, on the whl-ipc-i5 platform, we found a warning message when
building ACRN with the shared scenario XML file from github.
However, this doesn't affect any feature of ACRN according to the QA's
test result.

So this patch removes this check in order not to confuse users at the first.
If necessary, we will add back the check after getting more detail.

v1-->v2
degrade the log level to debug.

Tracked-On: 
Signed-off-by: Kunhui-Li <kunhuix.li@intel.com>
Reviewed-by: Junjie Mao <junjie.mao@intel.com>
2022-07-29 17:33:07 +08:00
Chenli Wei
da44d6337a misc: refine slot issue of launch script
The current launch script allocate bdf for ivshmem by itself and have
not get bdf from scenario.

This patch refine the above logic and generate slot by user settings.

Tracked-On: 
Signed-off-by: Chenli Wei <chenli.wei@linux.intel.com>
Reviewed-by: Junjie Mao <junjie.mao@intel.com>
2022-07-29 17:03:45 +08:00
Chuang Ke
c46c78591d [config_tool] Order of plus and minus icons is inconsistent
let minus icons in front of plus icons in those views below: Virtio input device, Virtio network device, Virtio console device, CPU affinity.

Tracked-On: projectacrn#7917
Signed-off-by: Chuang-Ke <chuangx.ke@intel.com>
Reviewed-by: Junjie Mao <junjie.mao@intel.com>
2022-07-27 20:57:25 +08:00
chuangxke
e5a9c36095 show warning message when users attempt to create a new scenario
fix warning message when users attempt to create a new scenario, or import an existing scenario, for an existing configuration

Tracked-On: 
Signed-off-by: Chuang-Ke chuangx.ke@intel.com
Reviewed-by: Junjie Mao junjie.mao@intel.com
2022-07-27 20:22:35 +08:00
Weiyi Feng
715a597e37 config_tools: fix CAT data can not be load back issue
fix CAT data can not be load back issue

Tracked-On: 
Signed-off-by: Weiyi Feng <fwy1998@gmail.com>
Signed-off-by: Weiyi Feng <weiyix.feng@intel.com>
2022-07-27 09:54:36 +08:00
chuangxke
a3449c4893 config_tools: add two spaces for error messgae.
add two spacings in alert sentence.

Tracked-On: 
Signed-off-by: Chuang-Ke <chuangx.ke@intel.com>
Reviewed-by:Junjie Mao <junjie.mao@intel.com>
2022-07-25 10:32:26 +08:00
zihengL1
6ced747e10 config-tools: fix board inspector crashed error
Fixed the problem of exception handling of the
incoming type error in reading GSI number method
in 40-acpi-tables.py line 37 when dmesg command
line is too long.

Tracked-On: 
Reviewed-by: Junjie Mao <junjie.mao@intel.com>
Signed-off-by: Ziheng Li <ziheng.li@intel.com>
2022-07-22 10:15:21 +08:00
Kunhui-Li
de8877e71a config_tools: add tooltips for virtio devices
add tooltips for virtio network, input and console.

Tracked-On: 
Signed-off-by: Kunhui-Li <kunhuix.li@intel.com>
Reviewed-by: Junjie Mao <junjie.mao@intel.com>
2022-07-21 16:49:36 +08:00
Kunhui-Li
3aee139da9 config_tools: left-align the plus icon in the virtio devices
left-align the plus icon in the virtio devices so that they
match the alignment in the IVSHMEM widget.

Tracked-On: 
Signed-off-by: Kunhui-Li <kunhuix.li@intel.com>
Reviewed-by: Junjie Mao <junjie.mao@intel.com>
2022-07-21 16:49:36 +08:00
Yifan Liu
2edd704a3b misc: configurator: bugfix: incorrect path split
Board files with multiple dots in their name may be splitted
incorrectly, and os.path.basename assumes os.name == posix in pyodide
environment. This workaround partially fixes this problem whenever the
the board filename does not contain '\' character.

Tracked-On: 
Signed-off-by: Yifan Liu <yifan1.liu@intel.com>
2022-07-20 12:19:42 +08:00
Yifan Liu
63ff99a8da misc: configurator: fix minor typo
Tracked-On: 
Signed-off-by: Yifan Liu <yifan1.liu@intel.com>
2022-07-20 12:19:42 +08:00
Weiyi Feng
fd8c9800ae config_tools: add icon for configurator
add icon for configurator

Tracked-On: 
Signed-off-by: Weiyi Feng <weiyix.feng@intel.com>
2022-07-20 11:48:27 +08:00
David B. Kinder
fed4f81e30 doc: include sample app doc but unhook from toctree
Documentation for the sample app isn't ready for the public, so let's
not add it to the toctree yet (use the :orphan: role to stop Sphinx from
complaining about an unreferenced .rst file)

Tracked-On: 

Signed-off-by: David B. Kinder <david.b.kinder@intel.com>
2022-07-20 09:36:03 +08:00
Geoffroy Van Cutsem
7b25da00ae doc: add ACRN Sample App doc to toctree
Add the ACRN Sample App document (README.rst) to the toctree
Convert the README.rst from Dos to Unix text file format

Tracked-On: 
Signed-off-by: Geoffroy Van Cutsem <geoffroy.vancutsem@intel.com>
2022-07-20 09:36:03 +08:00
Matthew Leon
0e0bf3321f Fix string bug in webapp
Tracked-On: 
Signed-off-by: Matthew Leon <matthew.leon@intel.com>
2022-07-20 09:36:03 +08:00
Matthew Leon
dcb01e1de2 Fix bugs and clean up code
Tracked-On: 
Signed-off-by: Matthew Leon <matthew.leon@intel.com>
2022-07-20 09:36:03 +08:00
Matthew Leon
905b31549e sample app: conform README to repo RST standard
This commit changes the README from Markdown to RST.

Tracked-On 
Signed-off-by: Matthew Leon <matthew.leon@intel.com>
2022-07-20 09:36:03 +08:00
Matthew Leon
d8f55c7bca sample app: initial import of the sample app
This sample application allows the user to get the hypervisor and a simple Virtual Machine Scenario to run
This sample application assumes the user is following the sample app guide in the acrn hypervisor documentation

Tracked-On: 
Signed-off-by: Matthew Leon <matthew.leon@intel.com>
2022-07-20 09:36:03 +08:00
Kunhui-Li
39626609d0 config_tools: apply pattern check to virtio input id
this patch applies pattern check to virtio input id. Report error if
regex doesn't match.

Tracked-On: 
Signed-off-by: Kunhui-Li <kunhuix.li@intel.com>
2022-07-18 18:01:24 +08:00
Kunhui-Li
df0c683c6c config_tools: apply pattern check to interface name
This patch applies pattern check to network interface name.
Report error if regex doesn't match.

Tracked-On: 
Signed-off-by: Kunhui-Li <kunhuix.li@intel.com>
2022-07-18 18:01:24 +08:00
zihengL1
047a11dff3 config-tools: hide the 'update-pciids: download failed' message
Use stderror to redirect error message to subprocess.DEVNULL
to hide it when the "update pciids" command is called.

Tracked-On: 
Reviewed-by: Junjie Mao <junjie.mao@intel.com>
Signed-off-by: Ziheng Li <ziheng.li@intel.com>
2022-07-17 16:30:53 +08:00
Ziheng Li
eb8bcb06b3 Update copyright year range in code headers
Modified the copyright year range in code, and corrected "int32_tel"
into "Intel" in two "hypervisor/include/debug/profiling.h" and
"hypervisor/include/debug/profiling_internal.h".

Tracked-On: 
Signed-off-by: Ziheng Li <ziheng.li@intel.com>
2022-07-15 11:48:35 +08:00
Ziheng Li
d5f3643e4f config_tool: Move "BIOS Revision" line in Configurator UI
Placed the "BIOS Revision:" at the top line of BIOS
information, and change the order of the information to have
the board information to the left, and BIOS information to the right.

Tracked-On: 
Signed-off-by: Ziheng Li <ziheng.li@intel.com>
2022-07-15 11:27:50 +08:00
Junjie Mao
df41ce807f config_tools: resolve incompatibility with elementpath 2.5.3
This patch adds to the customized function `number-of-clos-id-needed` more
robust checks, which ensures that a given node is a concrete element,
before that function passes the node to `get_policy_list`. This resolves
the incompatibility issue with elementpath 2.5.3 which is reported in v3.0.

Tracked-On: 
Signed-off-by: Junjie Mao <junjie.mao@intel.com>
2022-07-15 10:56:50 +08:00
Shiqing Gao
3eb1237db3 config_tools: verify "iasl" version against IASL_MIN_VER
To avoid hardcoding the minimum "iasl" version in multiple places, IASL_MIN_VER
is defined in the top-level Makefile and is passed to config_tools.

This patch verifies "iasl" version against IASL_MIN_VER directly in
config_tools.

Tracked-On: 

Signed-off-by: Shiqing Gao <shiqing.gao@intel.com>
Reviewed-by: Wang, Yu1 <yu1.wang@intel.com>
2022-07-13 14:01:01 +08:00
Shiqing Gao
3f0fae81b2 config_tools: use ASL_COMPILER as the path to the "iasl" compiler
At build time (on the *dev* machine), config_tools depends on "iasl" to
generate the binary of ACPI tables for pre-launched VMs.

This patch does:
- pass ASL_COMPILER to config_tools
  By default, ASL_COMPILER is initialized by "which iasl" at build time.
  User could override it by specifying ASL_COMPILER as the build option,
  like below:
    make BOARD=xxxx SCENARIO=yyyy ASL_COMPILER=/usr/local/bin/iasl

- use ASL_COMPILER as the path to the "iasl" compiler in config_tools

v1 -> v2:
 - add a check to make sure ASL_COMPILER is initialized to a value

Tracked-On: 

Signed-off-by: Shiqing Gao <shiqing.gao@intel.com>
Reviewed-by: Wang, Yu1 <yu1.wang@intel.com>
2022-07-13 14:01:01 +08:00
Ziheng Li
7cffac359b config-tools: refine memory allocation for pre-launch vm
Fixed a logic error in one line of code in
misc/config_tools/static_allocators/memory_allocator.py.

Tracked-On: 
Signed-off-by: Ziheng Li <ziheng.li@intel.com>
2022-07-13 11:29:39 +08:00
Geoffroy Van Cutsem
84ef1ec381 doc: add README.rst to misc/hv_prebuild
Add a basic README.rst to the misc/hv_prebuild folder to give a brief
explanation as to what is in there and to help users navigating to that folder
determine if they should care or not.

Tracked-On: 
Signed-off-by: Geoffroy Van Cutsem <geoffroy.vancutsem@intel.com>
2022-07-12 17:33:49 +08:00
Yuanyuan Zhao
d8761ed7f0 config_tools: hide required checkbox's & drop-down box label
Required fields with a checkbox or drop-down box will potentially
cause confusion. So hide the label when display them.

Tracked-On: 
Signed-off-by: Yuanyuan Zhao <yuanyuan.zhao@linux.intel.com>
2022-07-11 17:48:23 +08:00
Weiyi Feng
8adf40293c config_tools: try to fix dirty form data
try to fix dirty form data

Tracked-On: 
Signed-off-by: Weiyi Feng <weiyix.feng@intel.com>
2022-07-11 14:20:19 +08:00
Weiyi Feng
47337f55f5 config_tools: fix new working folder cancel button
fix new working folder cancel button

Tracked-On: 
Signed-off-by: Weiyi Feng <weiyix.feng@intel.com>
2022-07-11 14:20:19 +08:00
Chenli Wei
7be26940f7 misc: refine the assert of duplicate IO port
The current code judges an empty vm_name as a normal vm_name and assert
two endpoints with null name use the same IO port.

There was another which check wether the vm_name of endpoint is null, so
this patch break the assert if get null vm_name.

Tracked-On: 
Signed-off-by: Chenli Wei <chenli.wei@linux.intel.com>
2022-07-08 10:00:57 +08:00
Kunhui-Li
aeab5a29ae config_tools: update loading msr driver logic
load msr driver if not found cpu number.

Tracked-On: 
Signed-off-by: Kunhui-Li <kunhuix.li@intel.com>
2022-07-07 16:50:20 +08:00
Geoffroy Van Cutsem
ff07ccae0f Makefile: remove old samples (Apollo Lake)
Remove sample files and launch scripts related to the Apollo Lake (APL)
platform since ACRN no longer supports it. Clean the Makefile as well to not
install these files on the target system.

Tracked-On: 
Signed-off-by: Geoffroy Van Cutsem <geoffroy.vancutsem@intel.com>
2022-07-05 10:08:40 +08:00
Geoffroy Van Cutsem
873ddbb969 Remove "All Rights Reserved" string from license header
One had escaped from the global cleaning that commit 8b16be918 did.

Tracked-On: 
Signed-off-by: Geoffroy Van Cutsem <geoffroy.vancutsem@intel.com>
2022-07-04 16:17:05 +08:00
jackwhich
7d7c541615 config-tools: Fix release_3.0 vecow hybrid not working properly
Fix release_3.0 tgl-vecow-spc-7100-Corei7 hybrid not working properly

Tracked-On: 
Signed-off-by: zhongzhenx.liu <zhongzhenx.liu@intel.com>
2022-06-29 13:53:42 +08:00
Junjie Mao
fb3e3fcd3e config_tools: mark os_config item as required in scenario XML
Following the same logic of commit 59c7077e2 ("config_tools: remove
minOccurs from items that have default values"), this patch marks the
config item os_config, which is a collection of guest OS settings, as
required since subitems of it either have default values or are optional.

Tracked-On: 
Signed-off-by: Junjie Mao <junjie.mao@intel.com>
2022-06-29 13:53:42 +08:00
Weiyi Feng
35b8d53af3 config_tools: fix configForm character display issue
fix configForm character display issue

Tracked-On: 
Signed-off-by: Weiyi Feng <weiyix.feng@intel.com>
2022-06-29 13:53:42 +08:00
Kunhui-Li
b5b6503248 config_tools: add default value for virtio console
add default value for virtio console

Tracked-On: 
Signed-off-by: Kunhui-Li <kunhuix.li@intel.com>
2022-06-29 13:53:42 +08:00
Junjie Mao
541e9304f6 config_tools: remove minOccurs from items that have default values
With the default population stage today, the `default` and `minOccurs=0`
attributes are typically mutually exclusive:

  * A config item with a `default` attribute is guaranteed to exist after
    populating default values, making the `minOccurs` attribute meaningless.

  * A config item with a `minOccurs=0` attribute allows that item not to be
    present even after default values are populated.

This patch removes the `minOccurs=0` attributes from some config items that have
their default values recently added. This allows the default value populator to
fill in those items as expected if a user does not provide them explicitly.

Tracked-On: 
Signed-off-by: Junjie Mao <junjie.mao@intel.com>
2022-06-29 13:53:42 +08:00
Geoffroy Van Cutsem
c75965f1c8 acrn_config: update text when loading the Configurator
Update the text that shows up when loading the ACRN Configurator.

Tracked-On: 
Signed-off-by: Geoffroy Van Cutsem <geoffroy.vancutsem@intel.com>
Co-authored-by: David Kinder <david.b.kinder@intel.com>
2022-06-29 13:53:42 +08:00
Weiyi Feng
e3848feabf config_tools: disable cpu_affinity realtime vcpu column checkbox
disable cpu_affinity realtime vcpu column checkbox

Tracked-On: 
Signed-off-by: Weiyi Feng <weiyix.feng@intel.com>
2022-06-29 13:53:42 +08:00
Weiyi Feng
92f5c67af6 config_tools: set CAT's standard vm RTCore to standard group
set CAT's standard vm RTCore to standard group

Tracked-On: 
Signed-off-by: Weiyi Feng <weiyix.feng@intel.com>
2022-06-29 13:53:42 +08:00
Weiyi Feng
342e8c05f6 config_tools: refine cat widget
refine cat widget

Tracked-On: 
Signed-off-by: Weiyi Feng <weiyix.feng@intel.com>
2022-06-29 13:53:42 +08:00
Kunhui-Li
9f7c4b6bab config_tools: add default value for some elements
1. add default value for some elements.
2. update shared.xml for generic_board.

Tracked-On: 
Signed-off-by: Kunhui-Li <kunhuix.li@intel.com>
2022-06-29 13:53:42 +08:00
Chenli Wei
33086d5638 misc: fix PCI vUART issue
The current code can't config PCI vUART by a unified HV Config and there
is a conflict between the HV vUART Config and PCI vUART Config.

This patch use PCI vUART Config to replace the HV vUART Config when the
vUART connection type is PCI and modify the launch scenario to make sure
the BDF is correct when user launch post launched VMs.

Tracked-On: 
Signed-off-by: Chenli Wei <chenli.wei@linux.intel.com>
2022-06-29 13:53:42 +08:00
Junjie Mao
40225337d2 config-tools: fix assertions against scenario XML
This patch fixes the following issues in the existing scenario schema
assertions:

  1. The assertion that ensures the existence of pCPU affinity in all
     pre- and post-launched VMs does not count the pCPU settings under a
     VM properly.

  2. The assertion that ensures the presence of CAT settings of a defined
     VM is no longer needed as it was originally designed to capture
     configurator issues.

Tracked-On: 
Signed-off-by: Junjie Mao <junjie.mao@intel.com>
2022-06-29 13:53:42 +08:00
Chenli Wei
d43a141f85 misc: add assert to check the missing of CLOS MASK
The current UI there is an issue which have not sync and save the VMs
to RDT element, these issue will cause the missing of num_pclosids and
the HV can't start.

This patch add assert to check the the missing of CLOS MASK.
The UI issue will be fix by another patch.

Tracked-On: 
Signed-off-by: Chenli Wei <chenli.wei@linux.intel.com>
2022-06-29 13:53:42 +08:00
Chenli Wei
2efa77c86d misc: set the communication vUART default type to PCI
The current code use the legacy as the default type of communication
vUART, these were only 4 standard vUART ports, others should config by
the /etc/serial.conf, so this patch change the default type to PCI
which could be used without config files.

Tracked-On: 
Signed-off-by: Chenli Wei <chenli.wei@linux.intel.com>
2022-06-29 13:53:42 +08:00
David B. Kinder
dff6a31844 config: update error message when no serial console and debug build type
DX improvement to configurator UI error message

Tracked-On: 

Signed-off-by: David B. Kinder <david.b.kinder@intel.com>
2022-06-29 13:53:42 +08:00
Junjie Mao
5a01fa1a7a FIXME: packaging: generate a grub entry for shared scenario by default
The debian package created by misc/packaging today is supposed to add an
entry into grub.cfg for the installed hypervisor. Unfortunately, that is
done only when the given scenario XML is named shared, partitioned, hybrid
or hybrid_rt. In the rest of the cases, no entry is added while the default
boot option is still changed to ACRN_deb_multiboot2 which does not exist.

As a short-term workaround, this patch adjusts the branching structure of
the postinst script so that a grub entry is always generated. The entry for
shared scenario is chosen as the default if the scenario XML has a name
other than partitioned, hybrid or hybrid_rt.

This is a workaround only for release 3.0. In future releases we should
migrate to the dpkg-buildpackage using the scripts under debian/.

Tracked-On: 
Signed-off-by: Junjie Mao <junjie.mao@intel.com>
2022-06-29 13:53:42 +08:00
Weiyi Feng
b816a5ca09 config_tools: open scenario document in new window
open scenario document in new window

Tracked-On: 
Signed-off-by: Weiyi Feng <weiyix.feng@intel.com>
2022-06-29 13:53:42 +08:00