Commit Graph

7603 Commits

Author SHA1 Message Date
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
Yuanyuan Zhao
6024822c01 config_tools: clear schema files
Clear schema files of config tools when 'make clean'.

Tracked-On: #7508
Signed-off-by: Yuanyuan Zhao <yuanyuan.zhao@linux.intel.com>
2022-06-07 16:52:35 +08:00
Conghui
8c13ff78f9 hv: sched: fix bug when reboot vm
BVT schedule rule:
When a new thread is wakeup and added to runqueue, it will get the
smallest avt (svt) from runqueue to initiate its avt. If the svt is
small than it's avt, it will keep the original avt.

For the reboot issue, when the VM is reboot, it means a new vcpu thread
is wakeup, but at this time, the Service VM's vcpu thread is blocked,
and removed from the runqueue, and the runqueue is empty, so the svt is
0. The new vcpu thread will get avt=0. avt=0 means very high priority,
and can run for a very long time until it catchup with other thread's
avt in runqueue.
At this time, when Service VM's vcpu thread wakeup, it will check the
svt, but the svt is very small, so will not update it's avt according to
the rule, thus has a very low priority and cannot be scheduled.

To fix it, adjust the new thread's avt when there is another thread in
runqueue.

Tracked-On: #7692
Signed-off-by: Conghui <conghui.chen@intel.com>
2022-06-07 11:20:21 +08:00
Liu Long
6589d0c337 ACRN:DM: Fix USB msi capability access issue.
This patch fix the USB msi capability access failed issue and fix the
MSI pending bit clear bugs.

Tracked-On: #7697
Signed-off-by: Liu Long <long.liu@linux.intel.com>
2022-06-07 10:48:32 +08:00
Weiyi Feng
f91b82fa5f config_tools: CAT is no longer unchecked when VCAT is unchecked
CAT is no longer unchecked when VCAT is unchecked

Tracked-On: #6691
Signed-off-by: Weiyi Feng <weiyix.feng@intel.com>
2022-06-07 10:33:06 +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
Chenli Wei
8bc9bf5346 misc: fix the conflict between S5 and LPC
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>
2022-06-06 22:26:23 +08:00
Weiyi Feng
1e505e5b8f config_tools: delete the old board file when the new board file is imported successfully.
delete the old board file when the new board file is imported successfully.

Tracked-On: #6691
Signed-off-by: Weiyi Feng <weiyix.feng@intel.com>
2022-06-06 17:51:48 +08:00
Weiyi Feng
1681636ffe config_tools: disallowed user set CAT CLOS_MASK to 0
disallowed user set CAT CLOS_MASK to 0

Tracked-On: #6691
Signed-off-by: Weiyi Feng <weiyix.feng@intel.com>
2022-06-06 17:51:48 +08:00
Weiyi Feng
bb6f767d58 config_tools: CAT is no longer unchecked when CDP is unchecked
CAT is no longer unchecked when CDP is unchecked

Tracked-On: #6691
Signed-off-by: Weiyi Feng <weiyix.feng@intel.com>
2022-06-06 17:51:48 +08:00
Weiyi Feng
b9d75fcc61 config_tools: fix vmNameChange event never called issue
fix vmNameChange event never called issue

Tracked-On: #6691
Signed-off-by: Weiyi Feng <weiyix.feng@intel.com>
2022-06-06 17:51:48 +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
Liu Long
8759743857 ACRN: xHCI: Check the value of Ring Segment Size
Flow Table 6-95 from xHCI spec, Ring Segment Size defines
the number of TRBs supported by the ring segment, valid
values for this field are 16 to 4096.

Tracked-On: #6981
Signed-off-by: Liu Long <long.liu@intel.com>
2022-06-06 15:00:09 +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
Weiyi Feng
1955afeaed config_tools: update CAT data when board updated
update CAT data when board updated

Tracked-On: #6691
Signed-off-by: Weiyi Feng <weiyix.feng@intel.com>
2022-06-06 10:36:48 +08:00
Weiyi Feng
922dd58b75 config_tools: fix delete vm failed issue
fix delete vm failed issue

Tracked-On: #6691
Signed-off-by: Weiyi Feng <weiyix.feng@intel.com>
2022-06-06 10:36:48 +08:00
Weiyi Feng
612c73e631 config_tools: reformat Board.vue
reformat Board.vue

Tracked-On: #6691
Signed-off-by: Weiyi Feng <weiyix.feng@intel.com>
2022-06-06 10:36:48 +08:00
Weiyi Feng
c3ed4fef8c config_tools: show confirm message when user deselecting checkbox in cat widget
show confirm message when user deselecting checkbox in cat widget

Tracked-On: #6691
Signed-off-by: Weiyi Feng <weiyix.feng@intel.com>
2022-06-06 10:36:48 +08:00
Weiyi Feng
86028ab1c1 config_tools: fix when CAT checkbox data missing, ui will hang up in hv.advanced issue
fix when CAT checkbox data missing, ui will hang up in hv.advanced issue

Tracked-On: #6691
Signed-off-by: Weiyi Feng <weiyix.feng@intel.com>
2022-06-06 10:36:48 +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
74c22f5382 dm: Fix uninitialized variable in AHCI
tfd is one data field of FIS for AHCI, it is unacceptable if it is
random value, could cause AHCI data transport failure.

Acturally there is no chance the switch statement has the value other
than 0~3, since there is only 2 bit to deduce.

Add the initial value for tfd as ATA_S_ERROR, which is checked by
function ahci_write_fis_d2h afterwards, so guest driver could handle it well.

Tracked-On: #7679

Signed-off-by: hangliu1 <hang1.liu@linux.intel.com>
2022-06-02 19:37:08 +08:00
Sun Peng
e89ca5361a dm: vdisplay: terminate acrn-dm process when SDL init failed
Virtual display is component which based on native window system.
This feature depended phisical monitor connected and graphic driver in
SOS running correctly. If these dependencies fail, it is a fatal error
for virtual display. We have to terminate the device model to let user
fix runtime environment issue for graphics.

Tracked-On: #7672
Signed-off-by: Sun Peng <peng.p.sun@linux.intel.com>
Acked-by: Wang, Yu1 <yu1.wang@intel.com>
2022-06-02 18:02:32 +08:00
Conghui
69ab4fb5c0 config-tools: tiny fix for tooltip
use v-html to display the HTML.

Tracked-On: #7639
Signed-off-by: Conghui <conghui.chen@intel.com>
2022-06-02 16:30:43 +08:00
Ziheng Li
d78e524244 board_inspector: refine board_inspector.py
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>
2022-06-02 15:59:56 +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
Qiang Zhang
03a9c78e8d misc: config_tools: fix make deadloop on release build with debug scenario
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>
2022-06-01 19:11:09 +08:00
Ziheng Li
3870b91c2b board_inspector:refine board_inspector.py
Completed the five log level information in help output list.

Tracked-On: #7654
Signed-off-by: Ziheng Li <ziheng.li@intel.com>
2022-06-01 18:27:50 +08:00
Yifan Liu
7d97e5af5e misc: configurator: fix IVSHMEM size missing bug
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>
2022-06-01 17:47:31 +08:00
Yuanyuan Zhao
5836a1bb03 config_tools: merge python packages list for configurator
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>
2022-06-01 16:51:52 +08:00
Yuanyuan Zhao
b8f125886e config_tools: use python3 in configurator clean
Use python3 in configurator clean for Debian-based Linux is preferred
in this case.

Tracked-On: #7508
Signed-off-by: Yuanyuan Zhao <yuanyuan.zhao@linux.intel.com>
2022-06-01 16:51:52 +08:00
Yuanyuan Zhao
6fb5f2b8f5 doc: GSG's python dependence
For config_tools use python to clear dirty files, add python dependence
while prepare development computer.

Tracked-On: #7508
Signed-off-by: Yuanyuan Zhao <yuanyuan.zhao@linux.intel.com>
2022-06-01 16:51:52 +08:00
Weiyi Feng
b71522a2b9 config_tools: add notice message for RDT checkbox
add notice message for RDT checkbox

Tracked-On: #6691
Signed-off-by: Weiyi Feng <weiyix.feng@intel.com>
2022-06-01 00:07:24 +08:00
Weiyi Feng
3cdeacbdcc config_tools: filter all pre launched pcpu for service vm's cat data
filter all pre launched pcpu for service vm's cat data

Tracked-On: #6691
Signed-off-by: Weiyi Feng <weiyix.feng@intel.com>
2022-05-31 20:07:02 +08:00
Liu Long
32af0abe0a ACRN: DM: Fix the vsock Guest Cid overflow issue
The vsock cid type is u64, redefine the cid type to u64, and use
dm_strtoul API replace dm_strtoi.

Tracked-On: #7456
Signed-off-by: Liu Long <long.liu@linux.intel.com>
2022-05-31 19:00:06 +08:00
Calvin Zhang
9ec81eb9e6 hv: compile out unused function if CONFIG_MULTIBOOT2 is disabled
When CONFIG_MULTIBOOT2 is disabled, 'create_service_vm_efi_mmap_desc' is
unused and build fails because [-Werror=unused-function] is set.

boot/guest/bzimage_loader.c:188:17: error: 'create_service_vm_efi_mmap_desc' defined but not used [-Werror=unused-function]
  188 | static uint16_t create_service_vm_efi_mmap_desc(struct acrn_vm *vm, struct efi_memory_desc *efi_mmap_desc)
      |                 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
cc1: all warnings being treated as errors

Tracked-On: #7634
Signed-off-by: Calvin Zhang <calvinzhang.cool@gmail.com>
2022-05-31 18:18:57 +08:00
Conghui
1b7e8e393f config-tools: fix bug for saving files
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>
2022-05-31 17:05:17 +08:00
Weiyi Feng
f6f8a23df1 config_tools: fix service vm CAT data not complete issue
fix service vm CAT data not complete issue

Tracked-On: #6691
Signed-off-by: Weiyi Feng <weiyix.feng@intel.com>
2022-05-31 16:26:58 +08:00
Weiyi Feng
ba37553dad config_tools: show scenario data error when load scenario
show scenario data errors when load scenario

Tracked-On: #6691
Signed-off-by: Weiyi Feng <weiyix.feng@intel.com>
2022-05-31 16:26:58 +08:00
Weiyi Feng
894f3c41ed config_tools: check cat capability info in cat info parser
check cat capability info in cat info parser

Tracked-On: #6691
Signed-off-by: Weiyi Feng <weiyix.feng@intel.com>
2022-05-31 16:26:58 +08:00
Conghui
a512d8657d config-tools: add tooltips
Add tooltips for vUART, IVSHMEM and CAT.
Other tiny fix.

Tracked-On: #7639
Signed-off-by: Conghui <conghui.chen@intel.com>
2022-05-31 15:24:48 +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
Chenli Wei
65a425fec1 misc: add HV_RAM_START to fix multiboot relocation issue
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>
2022-05-30 20:15:29 +08:00
Weiyi Feng
0c075cec65 config_tools: fix cpu_affinity cannot display issue
fix cpu_affinity cannot display issue

Tracked-On: #6691
Signed-off-by: Weiyi Feng <weiyix.feng@intel.com>
2022-05-30 19:37:18 +08:00
Weiyi Feng
0719b60008 config_tools: refine configurator CAT checkbox data binding
refine configurator CAT checkbox data binding

Tracked-On: #6691
Signed-off-by: Weiyi Feng <weiyix.feng@intel.com>
2022-05-30 19:37:18 +08:00
Weiyi Feng
1f7970fb93 config_tools: fix data loss issue method 1
fix data loss issue method 1

Tracked-On: #6691
Signed-off-by: Weiyi Feng <weiyix.feng@intel.com>
2022-05-30 19:37:18 +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