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: #7913
Reviewed-by: Junjie Mao <junjie.mao@intel.com>
Signed-off-by: Ziheng Li <ziheng.li@intel.com>
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: #6690
Signed-off-by: Chenli Wei <chenli.wei@linux.intel.com>
Reviewed-by: Junjie Mao <junjie.mao@intel.com>
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: #7968
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: #7921
Signed-off-by: Chuang-Ke <chuangx.ke@intel.com>
Reviewed-by: Junjie Mao <junjie.mao@intel.com>
add escape charater to fix vBDF pattern match any character issue
for vUART and ivshmem.
Tracked-On: #7925
Signed-off-by: Kunhui-Li <kunhuix.li@intel.com>
Reviewed-by: Junjie Mao <junjie.mao@intel.com>
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: #7948
Signed-off-by: Junjie Mao <junjie.mao@intel.com>
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: #7948
Signed-off-by: Junjie Mao <junjie.mao@intel.com>
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: #7948
Signed-off-by: Junjie Mao <junjie.mao@intel.com>
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: #7947
Signed-off-by: Junjie Mao <junjie.mao@intel.com>
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: #7947
Signed-off-by: Junjie Mao <junjie.mao@intel.com>
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: #7947
Signed-off-by: Junjie Mao <junjie.mao@intel.com>
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: #7947
Signed-off-by: Junjie Mao <junjie.mao@intel.com>
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: #6690
Signed-off-by: Chenli Wei <chenli.wei@linux.intel.com>
Reviewed-by: Junjie Mao <junjie.mao@intel.com>
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: #7921
Signed-off-by: Chuang-Ke <chuangx.ke@intel.com>
Reviewed-by: Junjie Mao <junjie.mao@intel.com>
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: #7926
Signed-off-by: Kunhui-Li <kunhuix.li@intel.com>
Reviewed-by: Junjie Mao <junjie.mao@intel.com>
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: #6690
Signed-off-by: Chenli Wei <chenli.wei@linux.intel.com>
Reviewed-by: Junjie Mao <junjie.mao@intel.com>
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>
fix warning message when users attempt to create a new scenario, or import an existing scenario, for an existing configuration
Tracked-On: #7898
Signed-off-by: Chuang-Ke chuangx.ke@intel.com
Reviewed-by: Junjie Mao junjie.mao@intel.com
fix CAT data can not be load back issue
Tracked-On: #6691
Signed-off-by: Weiyi Feng <fwy1998@gmail.com>
Signed-off-by: Weiyi Feng <weiyix.feng@intel.com>
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: #7906
Reviewed-by: Junjie Mao <junjie.mao@intel.com>
Signed-off-by: Ziheng Li <ziheng.li@intel.com>
left-align the plus icon in the virtio devices so that they
match the alignment in the IVSHMEM widget.
Tracked-On: #7897
Signed-off-by: Kunhui-Li <kunhuix.li@intel.com>
Reviewed-by: Junjie Mao <junjie.mao@intel.com>
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: #7582
Signed-off-by: Yifan Liu <yifan1.liu@intel.com>
Use stderror to redirect error message to subprocess.DEVNULL
to hide it when the "update pciids" command is called.
Tracked-On: #7886
Reviewed-by: Junjie Mao <junjie.mao@intel.com>
Signed-off-by: Ziheng Li <ziheng.li@intel.com>
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: #7559
Signed-off-by: Ziheng Li <ziheng.li@intel.com>
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: #7884
Signed-off-by: Ziheng Li <ziheng.li@intel.com>
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: #7893
Signed-off-by: Junjie Mao <junjie.mao@intel.com>
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: #7880
Signed-off-by: Shiqing Gao <shiqing.gao@intel.com>
Reviewed-by: Wang, Yu1 <yu1.wang@intel.com>
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: #7880
Signed-off-by: Shiqing Gao <shiqing.gao@intel.com>
Reviewed-by: Wang, Yu1 <yu1.wang@intel.com>
Fixed a logic error in one line of code in
misc/config_tools/static_allocators/memory_allocator.py.
Tracked-On: #7838
Signed-off-by: Ziheng Li <ziheng.li@intel.com>
Required fields with a checkbox or drop-down box will potentially
cause confusion. So hide the label when display them.
Tracked-On: #7864
Signed-off-by: Yuanyuan Zhao <yuanyuan.zhao@linux.intel.com>
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: #6690
Signed-off-by: Chenli Wei <chenli.wei@linux.intel.com>
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: #6175
Signed-off-by: Geoffroy Van Cutsem <geoffroy.vancutsem@intel.com>
One had escaped from the global cleaning that commit 8b16be918 did.
Tracked-On: #7254
Signed-off-by: Geoffroy Van Cutsem <geoffroy.vancutsem@intel.com>
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: #6690
Signed-off-by: Junjie Mao <junjie.mao@intel.com>
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: #6690
Signed-off-by: Junjie Mao <junjie.mao@intel.com>
Update the text that shows up when loading the ACRN Configurator.
Tracked-On: #6690
Signed-off-by: Geoffroy Van Cutsem <geoffroy.vancutsem@intel.com>
Co-authored-by: David Kinder <david.b.kinder@intel.com>
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: #6690
Signed-off-by: Chenli Wei <chenli.wei@linux.intel.com>
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: #6690
Signed-off-by: Junjie Mao <junjie.mao@intel.com>
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: #6690
Signed-off-by: Chenli Wei <chenli.wei@linux.intel.com>
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: #6690
Signed-off-by: Chenli Wei <chenli.wei@linux.intel.com>
The following issues are witnessed in the RDT assertions in XML schema
rdt_support.xsd:
* Some assertions still check data in vcpu_clos nodes which no longer
exist today because of the refinement of how RDT is configured.
* For those that still hold, acrn:severity and acrn:report-on are not
stated, which prevents the validation activity from reporting failures
against them.
This patch drops the assertions that no longer make sense today and add
ACRN-specific attributes to those that still hold.
Tracked-On: #6690
Signed-off-by: Junjie Mao <junjie.mao@intel.com>
Currently, if I update Pre-Launched VM type to real-time, select PCPU ID and
enable Real-time vCPU, then we update the name of sevice VM, finally, click the save button.
we will see the type of service vm is updated to RTVM. It is unexpected.
So this patch removes the logic of hiding service VM type, and only allows user
selecting Standard VM type to fix the issue that the service vm type is updated
by UI automatically.
Tracked-On: #6690
Signed-off-by: Kunhui-Li <kunhuix.li@intel.com>
There were some legacy logic of the current code, the PCI vUART index
in the launch script have not count the vUART of S5 and life_mngr_win
use the COM2 as default vUART.
This patch change the vUART index and irq to adapt above logic and all
of these legacy code will be refine next version.
Tracked-On: #6690
Signed-off-by: Chenli Wei <chenli.wei@intel.com>
update the hugepages algorithm as the following steps.
1. calculate the total hugepages of service vm using the formula.
"total memory*0.98 - the memory consumed by pre-launched VMs - 5G
-300M*num(number of virtio gpu instance)".
2. calculate hugepage 1G based post-launched vm memory setting.
3. check if the memory configured in post launch VMs is not larger than
the total hugepages.
Compared with the previous version, this patch removes the 2M hugepage
and the correction value, also update the formula of total hugepage.
Tracked-On: #7301
Signed-off-by: Kunhui-Li <kunhuix.li@intel.com>
The library module introduced by commit 2cd13026e ("misc: move the RDT
interface to common library") was put under the library/ directory which is
not by default searchable from elementpath_overlay. This patch works around
the issue by adding that path to sys.path.
Also fix a typo in the RDT checking assertion.
Tracked-On: #6690
Signed-off-by: Junjie Mao <junjie.mao@intel.com>
The current RDT class and interface was define by the clos.py which is
mix get and merge RDT policy, create clos nodes.
Now we need call these interface to check the CLOS IDs number after
merged RDT policy, so this patch abstract the RDT interface to common
and add an assert to check the CLOS IDs number.
Tracked-On: #6690
Signed-off-by: Chenli Wei <chenli.wei@intel.com>
Signed-off-by: Junjie Mao <junjie.mao@intel.com>
This patch makes the configurator validate both syntactically and
semantically the resulting scenario XML everytime users save their
configurations. This allows the validation to catch all errors and report
status properly.
While a full validation is conducted, the syntactic errors are not shown
at the top of the forms in the same way as the semantic ones. This is
because syntactic rules are already built into the JSON schema and
will be warned real-time under the corresponding widgets. There is
no need to duplicate such errors. At the same time, the messages of
syntactic errors are generated by xmlschema which may not look
friendly to end users who do not have knowledge about the internal
structures of scenario XMLs.
Tracked-On: #6691
Signed-off-by: Junjie Mao <junjie.mao@intel.com>
Today we are using, in the configurator, the complete scenario XML
schema to validate XML files given by users. While this helps identify
invalid XMLs at an early stage, such checks are too strict because the
configurator users may save invalid XMLs if they keep some errors in
the forms unresolved, and we do allow them to save anytime they
want. As a result, users may save something that they cannot load
back anymore.
This patch introduces a tailored version of the scenario XML schema
which only verifies the existence of the top-level nodes that the
configurator assumes to exist. This seems to be a good balance that
blocks XMLs that are broken or using old formats but permits those
that has local and fixable data issues.
Tracked-On: #6691
Signed-off-by: Junjie Mao <junjie.mao@intel.com>
1.refine IVSHMEM_REGION node. Now if "IVSHMEM_REGION" node is empty,
the method "add_ivshmem_region" won't show an error.
2.refine vm_type node. Add try expect into method "move_vm_type", and
now if there is no "vm_type" node, the .pop() operation won't lead
to an IndexError.
3.refine move_memory method. Add handling process of "size" node,
if it's text is a hex number.
Tracked-On: #6690
Signed-off-by: Ziheng Li <ziheng.li@intel.com>
1.The memory allocation effect is tested under XML files on multiple platforms.
2.Modified the conversion of memory units during memory reading and processing (MB to Byte).
Tracked-On: #7730
Signed-off-by: Ziheng Li <ziheng.li@intel.com>
When run the upgrader.py to merge scenario XML and launch XML files,
deleted "desc" text in "usb_xhci" node, and added the "vbootloader"
text from "Enable" to "y", from "Disable" to "n".
Tracked-On: #7660
Signed-off-by: Ziheng Li <ziheng.li@intel.com>
Missed a use of the XML element name instead of the DX-friendly title in
the option description. (For those paying attention, the default value
shown in the description also uses the XML element name, but we don't
have a convenient way to turn that string into the corresponding
acrn:title value.
Tracked-On: #5692
Signed-off-by: David B. Kinder <david.b.kinder@intel.com>
The current code use a start address and hv_ram_size to find the start
address of acrn.bin, the start address is 32M which leaving too much
memory and will be load modules by grub, sometimes these modules will
override the HV log region.
This patch set the start address to 4M to avoid the above issue as much
as possible.
This algorithm depend on the board info, so the board XML should be
generate again if user change the SSRAM.
Tracked-On: #6690
Signed-off-by: Chenli Wei <chenli.wei@linux.intel.com>
hide vm_type in UI for service vm, and change it to
required field, since lack of it in xml may lead to
wrong inference for vm severity.
Tracked-On: #6690
Signed-off-by: hangliu1 <hang1.liu@linux.intel.com>
IVSHMEM region name input value may be null after saving the scenario.
Add a null check to avoid marking empty input as correct.
Tracked-On: #7707
Signed-off-by: Yifan Liu <yifan1.liu@intel.com>
The current code assume there was one Console vUART all the time, and
there is an issue when the Console vUART is None.
This patch add the case of "None" and add assert to check no serial
console config.
Tracked-On: #6690
Signed-off-by: Chenli Wei chenli.wei@intel.com
Switch to basic form after switching VM or HV tabs to make the basic
form default view.
Tracked-On: #7712
Signed-off-by: Qiang Zhang <qiang4.zhang@intel.com>
Now in scenario XML file:
1.The vm memory node info has been transformed into a new form(
e.g. hpa_region, start_hpa, size_hpa, and size).
2.The clos node info will be dropped during the upgrade process,
and users can see the discard waring info.
3.During the upgrade process, the node "RELOC" will be renamed
to "RELOC_ENABLED", the node "MULTIBOOT2" will be renamed to
"MULTIBOOT2_ENABLED".
Tracked-On: #7660
Signed-off-by: Ziheng Li <ziheng.li@intel.com>
This patch applies pattern check to IVSHMEM name. Report error if regex
does not match.
Tracked-On: #7707
Signed-off-by: Yifan Liu <yifan1.liu@intel.com>
Current IVSHMEM region name does not have size limit. This patch limits
it to 27 characters so that land specifier ("hv:/" or "dm:/") plus region
name can fit into an array of 32 characters.
Also change some descriptive messages.
Tracked-On: #7707
Signed-off-by: Yifan Liu <yifan1.liu@intel.com>
The current code assume that there must be an HV_RAM_START element in
the scenario and we will generate it if user have not set, the default
value of HV_RAM_START is 0x00400000 which cause an overlap issue.
This patch remove the requires of HV_RAM_START element, calculate
HV_RAM_SIZE and find a region of e820 to run the ACRN which start
address will be HV_RAM_START.
It is still valid if the user set HV_RAM_START by XMLs.
Tracked-On: #6690
Signed-off-by: Chenli Wei <chenli.wei@intel.com>
ivshmem name and vuart connection vm name are required in UI, so
add the check in case user miss setting them.
Tracked-On: #7700
Signed-off-by: hangliu1 <hang1.liu@linux.intel.com>
Use DX names (acrn:title) instead of element names in messages.
Add missing message in rdt_support.xsd (all asserts need an annotation
with documentation for the error message that will be reported).
Tracked-On: #7685
Signed-off-by: David B. Kinder <david.b.kinder@intel.com>
The current code use COM1 or COM2 for LPC and there is an conflict with
S5 feature.
This patch filter these COM Ports and fix the above issue.
Tracked-On: #6690
Signed-off-by: Chenli Wei <chenli.wei@intel.com>
1. Fix the issue that when saving the configuration, the vBDF does not
display automatically in IVSHMEM region.
2. Chagne 'Region name' in IVSHMEM from optional to required.
3. Fix the wrong tooltip content for 'VM name'.
Tracked-On: #7673
Signed-off-by: Conghui <conghui.chen@intel.com>
CPU sharing among standard Pre-launched VMs and Post-launched VMs are
allowed by design. Revert 4e2abfb473 ('misc: configurator: add check
for uniqueness of cpus in Pre-launched VM')
Tracked-On: #7688
Signed-off-by: Qiang Zhang <qiang4.zhang@intel.com>
The current code allow the same region name for same VM, it's an issue
This patch add an assert to check the above issue and report it.
Tracked-On: #6690
Signed-off-by: Chenli Wei <chenli.wei@intel.com>
Changed default log level into "warning",
and fixed errors in warning log summary.
And further modified the log summary of checking
each message category.
Tracked-On: #7653
Signed-off-by: Ziheng Li <ziheng.li@intel.com>
When I build a release acrn with a debug scenario like this:
$ BOARD=nuc11tnbi5 SCENARIO=shared make -j1 RELEASE=y
Following logs are repeated endlessly.
/home/abc/workspace/mainline/acrn-hypervisor/build/hypervisor/configs/allocation.xml generated
/home/abc/workspace/mainline/acrn-hypervisor/build/hypervisor/configs/unified.xml generated
/home/abc/workspace/mainline/acrn-hypervisor/build/hypervisor/configs/config.mk generated
scripts/makefile/config.mk:191: The command line sets RELEASE to be 'y', but an existing build is configured with 'n'
scripts/makefile/config.mk:191: The configuration will be modified for RELEASE=y
Because "BUILD_TYPE" was moved out of "DEBUG_OPTIONS" in scenario file,
outdated transform script fails to extract information there and it always
set 'CONFIG_RELEASE=n'.
If a makefile is included with a rule for it, the rule will be executed
first to generated new makefile. If it's updated, the make process will
be reexecuted with new makefile.
In the case above, build/hypervisor/configs/config.mk rule is executed every
time make tries to include it. Unhandled different between `RELEASE` and
`CONFIG_RELEASE` causes determine_build_type to update .scenario.xml which
is a dependency of hypervisor/scripts/makefile/config.mk.
Tracked-On: #7657
Signed-off-by: Qiang Zhang <qiang4.zhang@intel.com>
The labels and titles in vuart widget are hard-coded in the .vue file
rather than exposing the text from XSD file. This patch fixed it.
Tracked-On: #7562
Signed-off-by: Wu Zhou <wu.zhou@intel.com>
Fix IVSHMEM size selection options missing bug due to data provider
being deleted by mistake.
Tracked-On: #7650
Signed-off-by: Yifan Liu <yifan1.liu@intel.com>
The clean scripts function is a async function, it may run after saving
launch scripts and remove all the launch scripts by accident.
So, add '.then' to make it work as a sync function.
Tracked-On: #7641
Signed-off-by: Conghui <conghui.chen@intel.com>
1. One VM can have multi vsock. Changed vsock UI to multi line.
2. Add verification that no repeated CID is allowed.
3. Refine the tooltip text.
Tracked-On: #7637
Signed-off-by: Wu Zhou <wu.zhou@intel.com>
The current code have remove the HV_RAM_START from config tool which
will cause the multiboot relocation issue.
This patch resume HV_RAM_START config to fix the above issue.
Tracked-On: #6690
Signed-off-by: Chenli Wei <chenli.wei@intel.com>
Similar to 5bd3e9642 ("config_tools: add default values to vBDF of vUART
and IVSHMEM"), this patch adds default values to the I/O ports of vUART
which shall also keep unique among all vUART endpoints of the same VM.
In order not to overlap with the (potentially used) COM ports, a different
range starting from 0x9200 is selected as defaults. Users are still free to
customize them to COM ports if intended.
Tracked-On: #7330
Signed-off-by: Junjie Mao <junjie.mao@intel.com>
"enable_ptm" and "d3hot_reset" failed to pass to acrn-dm because of
shell syntax error (arguments are separated by space, not comma).
Remove "igd-vf" as it's no longer needed.
Tracked-On: #7623
Signed-off-by: Calvin Zhang <calvinzhang.cool@gmail.com>
The default error messages provided by the ajv validation library read like
this:
* must have required property MEMORY.STACK_SIZE
* must match pattern "<a regular expression>"
Such messages may look confusing as users are not supposed to understand
the internal naming of the config items or the regular expressions used to
validate strings.
This patch enables the XML schema to include 'acrn:errormsg' annotations
which is a dictionary from error types to customized error messages. This
mechanism is used to show more user-friendly messages upon common errors
such as missing or invalid data in required config item.
Tracked-On: #6691
Signed-off-by: Junjie Mao <junjie.mao@intel.com>
When user adds a vUART or IVSHMEM region and select VMs in selection
list, deleting the selected VM could break the selection box.
This patch adds a state check against null and undefined value.
Tracked-On: #7624
Signed-off-by: Yifan Liu <yifan1.liu@intel.com>
Merge python packages list into one 'requirements.txt'.
And modify related document.
Tracked-On: #7508
Signed-off-by: Yuanyuan Zhao <yuanyuan.zhao@linux.intel.com>
The MCE, split lock, and UC lock checkboxes have a unique behavior.
Selecting the checkbox disables the feature. We proposed changing the
behavior, so that the checkbox enables the feature, but the fix is
postponed to v3.1. Change the sense of these option's tooltip and title
to reflect their current behavior (Disabling vs. normal Enabling).
Tracked-On: #7661
Signed-off-by: David B. Kinder <david.b.kinder@intel.com>
The current code use cache type to check whether enable the CDP mode,
then merge policy by clos_mask, sometimes the data and code CLOS is not
continuous.
This patch add a special CDP policy to record and merge policy to fix
this above issue.
Tracked-On: #6690
Signed-off-by: Chenli Wei <chenli.wei@intel.com>
The current code use a merge interface to merge policy which fix match
and merge in one function.
This patch split the merge interface and add a match interface to check
whether this policy could be merged.
Tracked-On: #6690
Signed-off-by: Chenli Wei <chenli.wei@intel.com>
Currently the empty cache_regions are saved to scenario file. It is
useless, and unable to pass the load/build validation check, causing
build fail.
This patch add a filter to the empty cache_region entry, so that the
load/build validation check may pass.
Tracked-On: #7609
Signed-off-by: Wu Zhou <wu.zhou@intel.com>
DX recommendation is to remove some extraneous titles from the
configurator UI, specifically "Memory", "Hypervisor Features", and "PCI
device assignment"
Tracked-On: #5692
Signed-off-by: David B. Kinder <david.b.kinder@intel.com>
The current UI allow user use duplicate vUART io_port for same VM, it's
an issue.
This patch add assert check it.
Tracked-On: #6690
Signed-off-by: Chenli Wei <chenli.wei@intel.com>
DX/UI recommendation is to move the build type parameter outside of the
debugoptions section. This breaks existing schema files, so also update
scenario XML files in the code tree to match.
Update the xforms xsl script with the same change to the buildtype
option location in schema XML files.
Tracked-On: #5692
Signed-off-by: David B. Kinder <david.b.kinder@intel.com>
The EnablementType is now obsolete and config items having this type have
been updated to use the Boolean type. However, the upgrader is not changed
accordingly and it still converts "y" or "n" of certain config items to
"Enable" or "Disable".
This patch drops the EnablementType in the schema and updates the upgrader
to respect the latest definitions.
Tracked-On: #6690
Signed-off-by: Junjie Mao <junjie.mao@intel.com>
Updated the scenario xml file in misc/config-tools/data folder,
and deleted the clos node in xml file.
Tracked-On: #6690
Signed-off-by: Ziheng Li <ziheng.li@intel.com>
The current UI "Maximum virtual CLOS" above the "VM Virtual Cache
Allocation Tech", it's not user-friendly, and the clos element was not
used by vCAT feature.
This patch move the "virtual_cat_number" element and remove the unused
node from schema.
Tracked-On: #6690
Signed-off-by: Chenli Wei <chenli.wei@intel.com>
For Service OS, 'vm_type' should not be modified.
Delete it from 'ServiceVMBasicConfigType' to forbid unexpected error.
Tracked-On: #7528
Signed-off-by: Yuanyuan Zhao <yuanyuan.zhao@linux.intel.com>
Delete old .board.xml after reselect a new one so that there will be
only one working .board.xml in working directory
Tracked-On: #7597
Signed-off-by: Calvin Zhang <calvinzhang.cool@gmail.com>
Add additional DX/UI option changes
* Remove description of hypervisor features
* Move vuart connection before debug options
* delete memory options description
* delete hypervisor capacities description
* move cpu affinity before virtual USB HDI
* move memory size right after os type
* add "device assignment" to virtual USB HDI title
* delete usb device assignment description
Also fixed some typos found in descriptions.
Tracked-On: #5692
Signed-off-by: David B. Kinder <david.b.kinder@intel.com>
It's unexpected to show the "PCI" option for Console virtual UART type
currently, so this patch hide it in configurator.
Tracked-On: #7592
Signed-off-by: Kunhui-Li <kunhuix.li@intel.com>
fix the issue that saves all enum values are saved in scenario xml file
if user doesn't select any value in configurator.
Tracked-On: #6690
Signed-off-by: Kunhui-Li <kunhuix.li@intel.com>
virtio serial port and virtio console are all based on virito serial port.
but virtio serial port functionally can not be used as console,
which may lead to user confusion, so explicitly specify the point by
changing the item name as follows:
Virtio console -> virtio serial port (as console)
Tracked-On: #7540
Signed-off-by: Kunhui-Li <kunhuix.li@intel.com>
Reviewed-by: Junjie Mao <junjie.mao@intel.com>
Add udmabuf.list_limit=8192 to ServiceVM bootargs for virtio gpu. It's
harmless if not used.
Tracked-On: #7581
Signed-off-by: Calvin Zhang <calvinzhang.cool@gmail.com>
The labels and titles in vuart widget are hard-coded in the .vue file
rather than exposing the text from XSD file. This patch fixed it.
Tracked-On: #7562
Signed-off-by: Wu Zhou <wu.zhou@intel.com>
bugfix for the generated launch script without uart parameters
after VUART is configured to "pci"
Tracked-On: #7556
Signed-off-by: Kunhui-Li <kunhuix.li@intel.com>
Reviewed-by: Junjie Mao <junjie.mao@intel.com>
The current UI display "report on" message, it's not by design, so this
patch remove these message.
Tracked-On: #6690
Signed-off-by: Chenli Wei <chenli.wei@intel.com>
The current UI force user input BDF which could automatically fill it
in if it is blank, so it an optional.
This patch change the BDF to an optional.
Tracked-On: #6690
Signed-off-by: Chenli Wei <chenli.wei@intel.com>
Add an explicit "None" entry in HV console selector if user would like
to disable debug console or there is no serial console available.
Tracked-On: #7546
Signed-off-by: Calvin Zhang <calvinzhang.cool@gmail.com>
Because SR-IOV is enabled to obtain board xml,
the xpath address cannot resolve the @address='0x20000' address.
cause the build to fail. fix build issues
Tracked-On: #7371
Signed-off-by: zhongzhenx.liu <zhongzhenx.liu@intel.com>
There are some scenarios XML that still sets cpu_affinity for Service
VM. Remove them as the Service VM CPU affinity will be automatically
calculated.
Tracked-On: #7538
Signed-off-by: Yifan Liu <yifan1.liu@intel.com>
Currently setting cpu_affinity for service vm has no effect. This patch
sets acrn:applicable-vms of cpu_affinity to pre-launched VMs and
post-launched VMs to restrict validation and UI display.
Tracked-On: #7538
Signed-off-by: Yifan Liu <yifan1.liu@intel.com>
The legacy code get all non-stand vUARTs from scenario_etree and generate
the serial.conf, now we need add more non-stand vUARTs which was config
by offline tool and record by allocation_etree.
This patch add allocation_etree to the list, then add all non-stand
vUART to serial.conf which will config by SERVICE VM.
Tracked-On: #6690
Signed-off-by: Chenli Wei <chenli.wei@intel.com>
The current RDT element display for basic and advance mode, it not
necessary, so this patch hide RDT for basic mode.
Tracked-On: #6690
Signed-off-by: Chenli Wei chenli.wei@intel.com
Current physical memory segmentation UI have an redundant title when
user select the advance mode, so we set the MemoryInfo element title
to NULL to fix this issue.
Tracked-On: #6690
Signed-off-by: Chenli Wei <chenli.wei@intel.com>
Reviewed-by: Junjie Mao <junjie.mao@intel.com>
Tooltip width was set to 50%. This could not just cut the line into
2 lines, for the line has to be cut by word. This would leave one
word on a new line, looks weird.
Set to 60% will solve this issue.
Tracked-On: #7541
Signed-off-by: Wu Zhou <wu.zhou@intel.com>
For virtio console, in order to hide tty and sock backend types,
change "xs:sequence" to "xs:all" in the XML schema
to slice the backend type list and update backend type to
"BasicVirtioConsoleBackendType" to call the sliced value.
Tracked-On: #6691
Signed-off-by: Kunhui-Li <kunhuix.li@intel.com>
Reviewed-by: Junjie Mao <junjie.mao@intel.com>
When user delete all the VMs from UI, and click 'Save' button, a warning
message should appear to show that at least one VM is needed.
Tracked-On: #7532
Signed-off-by: Conghui <conghui.chen@intel.com>
Clean all launch scripts before click "Save" button, the new launch
scripts will be created after that.
Add a blank line to the warning dialog box.
Tracked-On: #7532
Signed-off-by: Conghui <conghui.chen@intel.com>
vsock is the new socket address family for host/guest communication.
Configurator option for vsock CID is added in this patch.
Also vsock parameter is generated in script.
Tracked-On: #7535
Signed-off-by: Wu Zhou <wu.zhou@intel.com>
Use file name as the board xml name instead of using the name in
'board' field in board XML.
e.g.
1. Initial filename is "my_potato.xml"
2. User imports my_potato.xml into the Configurator
3. Resulting file is my_potato.board.xml
Tracked-On: #7521
Signed-off-by: Conghui <conghui.chen@intel.com>
When clicking the Save button in UI, the log message is incorrect for
pre-launched VM.
Do not show 'launch script' related message when there is only pre-launched
VMs.
Tracked-On: #7524
Signed-off-by: Conghui <conghui.chen@intel.com>
CPUs assigned to Pre-launched VM can not be shared. Add a xsd rule to
check it.
Tracked-On: #7526
Signed-off-by: Calvin Zhang <calvinzhang.cool@gmail.com>
Instead of removing all .xml and .sh files, just remove:
*.board.xml
scenario.xml
launch*.sh
Tracked-On: #7495
Signed-off-by: Calvin Zhang <calvinzhang.cool@gmail.com>
Generated launch scripts tracks the options to ACRN device model in an
array `dm_params`. Those scripts use `${dm_params[*]}` to join all
elements in the array and pass the joined string to acrn-dm.
One tricky thing about `${dm_params[*]}` is that it joins the array
elements as one single unquoted string. This means an option as a string
with whitespaces will be split by the shell and passed to acrn-dm as
multiple options. This does not happen to the options generated today, but
prevents users from using, e.g., the -B option to pass the full command
line options for the guest kernel.
Rather than joining all elements as an unquoted string, it is more
preferrable to treat each element in `dm_params` as a quoted string. This
patch does this by:
1. replacing `${dm_params[*]}` with `"{dm_params[@]}"`, and
2. removing the quotes around plaintext options in `dm_params`.
Tracked-On: #6690
Signed-off-by: Junjie Mao <junjie.mao@intel.com>
update activeVMID to make the delete vm button disappear
when all VMs are deleted.
Tracked-On: #7516
Signed-off-by: hangliu1 <hang1.liu@linux.intel.com>
A previous PR incorectly removed the hypervisor FEATURES options on the
basic tab because all options were advanced. One wasn't (IVSHMEM).
Tracked-on: #7514
Signed-off-by: David B. Kinder <david.b.kinder@intel.com>