Commit Graph

170 Commits

Author SHA1 Message Date
hangliu1
f451f4a120 config tool: change parameter default value
change ENFORCE_TURNOFF_AC default value to n,
since it may cause trouble on some platform if user
do not tweak it.

Signed-off-by: hangliu1 <hang1.liu@linux.intel.com>
Tracked-On:#6690
2022-11-03 10:01:54 +08:00
Junjie Mao
6ce8421d5b 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: #6690
Signed-off-by: Junjie Mao <junjie.mao@intel.com>
2022-06-24 10:20:30 +08:00
Junjie Mao
59c7077e2e 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: #6690
Signed-off-by: Junjie Mao <junjie.mao@intel.com>
2022-06-23 14:50:49 +08:00
Kunhui-Li
33e465efe5 config_tools: add default value for some elements
1. add default value for some elements.
2. update shared.xml for generic_board.

Tracked-On: #6690
Signed-off-by: Kunhui-Li <kunhuix.li@intel.com>
2022-06-22 19:54:46 +08:00
Junjie Mao
ab420ba3a4 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: #6690
Signed-off-by: Junjie Mao <junjie.mao@intel.com>
2022-06-22 13:38:24 +08:00
Chenli Wei
b6a7f8f658 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: #6690
Signed-off-by: Chenli Wei <chenli.wei@linux.intel.com>
2022-06-21 16:01:45 +08:00
Chenli Wei
642b68d9c5 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: #6690
Signed-off-by: Chenli Wei <chenli.wei@linux.intel.com>
2022-06-21 14:50:34 +08:00
David B. Kinder
c6d171dfc0 config: update error message when no serial console and debug build type
DX improvement to configurator UI error message

Tracked-On: #5692

Signed-off-by: David B. Kinder <david.b.kinder@intel.com>
2022-06-17 17:38:18 +08:00
Junjie Mao
7ba181877d config_tools: clean up RDT-related assertions
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>
2022-06-16 09:39:00 +08:00
Kunhui-Li
2165efe72f config_tools: fix the issue Service VM type is updated by UI automatically
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>
2022-06-15 21:51:19 +08:00
Junjie Mao
36cfc14e9c config_tools: fix a module resolving issue in elementpath overlay
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>
2022-06-13 20:12:04 +08:00
David B. Kinder
d71b552071 configurator: Remove duplicate vCPU assignment error message
Remove duplicate assertion and improve message text.

Tracked-On: #7745

Signed-off-by: David B. Kinder <david.b.kinder@intel.com>
2022-06-12 22:01:05 +08:00
Chenli Wei
2cd13026ed misc: move the RDT interface to common library
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>
2022-06-11 19:53:13 +08:00
Junjie Mao
ac370119b6 config_tools: relax the checks of scenario XMLs from users
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>
2022-06-10 18:40:54 +08:00
David B. Kinder
02954ca3f4 Improve description and title for vUART connection end point VM name
Tracked-On: #5692

Signed-off-by: David B. Kinder <david.b.kinder@intel.com>
2022-06-10 14:05:28 +08:00
Yuanyuan Zhao
a5e044dfbb config_tools: add default value to 'vm_type'
Set 'STANDARD_VM' as default value for 'vm_type'.

Tracked-On: #7726
Signed-off-by: Yuanyuan Zhao <yuanyuan.zhao@linux.intel.com>
2022-06-09 17:25:36 +08:00
David B. Kinder
eca4e5b1ff doc: update VM types description to use DX-friendly title
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>
2022-06-09 10:50:24 +08:00
hangliu1
17fbff3c88 config tool: change vm_type to required field
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>
2022-06-08 16:30:46 +08:00
Chenli Wei
58403abb3a misc: add processing for Console vUART is None
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
2022-06-07 21:33:19 +08:00
Yifan Liu
11da9e9475 misc: Limit IVSHMEM region name to 27 characters
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>
2022-06-07 19:27:44 +08:00
David B. Kinder
be31fa2731 doc: edit RDT_ENABLED tooltip
Tracked-On: #5692

Signed-off-by: David B. Kinder <david.b.kinder@intel.com>
2022-06-07 18:57:26 +08:00
Chenli Wei
6d56816e79 misc: modify the logic of generate HV_RAM_START
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>
2022-06-07 18:19:39 +08:00
hangliu1
dd80a91cba config tool:add schema check for UI name validation
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>
2022-06-07 10:01:57 +08:00
David B. Kinder
b09701b43b doc: edit schema assert messages for clarity and grammar
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>
2022-06-07 09:38:26 +08:00
Conghui
eeeddfed14 config-tools: fix vBDF issue for IVSHMEM
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>
2022-06-06 17:08:41 +08:00
Qiang Zhang
773586c9a5 misc: config_tool: allow cpu sharing among standard VMs
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>
2022-06-06 12:36:04 +08:00
Chenli Wei
d6d6c867fc misc: add assert to check ivsh memory region name
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>
2022-06-03 19:59:10 +08:00
hangliu1
4e3a25ad6d config tool: refine cpu_affinity
remove default setting and refine statement.

Tracked-On: #7674
Signed-off-by: hangliu1 <hang1.liu@linux.intel.com>
2022-06-02 14:11:56 +08:00
David B. Kinder
08680669ca Change sense of some schema config options
(Duplicating change on master branch to release_3.0 branch)

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>
2022-06-02 11:25:28 +08:00
Zhao
5bc752fe3e config_tools: schema of 'VM_NAME' for 'IVSHMEMVM'
Set VM_NAME' for 'IVSHMEMVM' as required property in schema.

Tracked-On: #7662
Signed-off-by: Zhao <yuanyuan.zhao@intel.com>
2022-06-01 20:49:54 +08:00
Wu Zhou
e322b70291 config-tools: refine the vuart widget's text
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>
2022-06-01 19:50:05 +08:00
Wu Zhou
792d3a4d1a config-tools: refine vsock UI
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>
2022-05-31 15:10:46 +08:00
Junjie Mao
d7f74c8bd1 config_tools: add default values to I/O ports of vUART
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>
2022-05-30 17:53:33 +08:00
Junjie Mao
116bb21b0e config_tools: fix move_enablement in the upgrader
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>
2022-05-30 17:23:22 +08:00
Junjie Mao
df93268136 config_tools: pretty-print JSON schema violations
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>
2022-05-30 13:46:42 +08:00
David B. Kinder
2c9f76c262 config: remove extraneous headings in UI
(Replicating change on master into release_3.0 branch)

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>
2022-05-29 09:27:42 +08:00
Weiyi Feng
877cde416a config_tools: fix service vm cat settings
Sometimes service vm cat settings will not generate successfully, now fix it.

Tracked-On: #6691
Signed-off-by: Weiyi Feng <weiyix.feng@intel.com>
2022-05-27 18:44:56 +08:00
Chenli Wei
8d4d18d238 misc: refine clos and vCAT element
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>
2022-05-27 17:55:20 +08:00
David B. Kinder
27601281ff move buildtype above debugoptions in the scenario schema
(adding to release_3.0 branch)

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>
2022-05-27 14:56:04 +08:00
Chenli Wei
ee27303bed misc: add assert for duplicate vUART io_port
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>
2022-05-27 14:19:16 +08:00
David B. Kinder
8d878c32a2 config: additional DX/UI option layout and descriptions
(Duplicate PR used on master branch for release_3.0 branch)

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>
2022-05-26 18:45:59 +08:00
Kunhui-Li
73f4d5095f config_tools: hide "PCI" option for Console virtual UART type
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>
2022-05-26 18:13:17 +08:00
Kunhui-Li
a06df0abb9 config_tools: rename "Virtio console" to "virtio serial port (as console)"
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>
2022-05-26 18:13:17 +08:00
Chenli Wei
5a11bf4115 misc: CPU affinity error message cleanup
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>
2022-05-26 09:20:41 +08:00
Calvin Zhang
17d8eaa7ae misc: configurator: Add entry "None" to HV console selector
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>
2022-05-24 17:14:38 +08:00
Yifan Liu
c7f3f6fc8c misc: Add applicable-vms to cpu_affinity
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>
2022-05-24 14:16:28 +08:00
Chenli Wei
bfa91dccfc misc: hide RDT for basic mode
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
2022-05-24 10:15:55 +08:00
Chenli Wei
de13c67b9d misc: fix the physical memory segmentation UI issue
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>
2022-05-23 17:46:42 +08:00
Kunhui-Li
56602a42f0 config_tools: add restriction for Maximum Virtual CLOS configuration
Add restriction for Maximum Virtual CLOS configuration that don't allow
negative numbers.

Tracked-On: #7530
Signed-off-by: Kunhui-Li <kunhuix.li@intel.com>
2022-05-23 16:38:04 +08:00
Kunhui-Li
af10a3bb0a config_tools: hide tty and sock in UI
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>
2022-05-23 16:38:04 +08:00