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 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: #7778
Signed-off-by: Junjie Mao <junjie.mao@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>
On some extreme circumstances, the client can't send the whole message out
in a short time. In this case, the server can't receive the whole message
because now server didn't check the integrity of the message.
This patch add this by checking the terminal character of the message.
Tracked-On: #7215
Signed-off-by: Fei Li <fei1.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>