Commit Graph

7077 Commits

Author SHA1 Message Date
Yifan Liu 1d831cd3a2 hv: Add checks in pci_enumerate_ext_cap to guard against malformed lists
In pci_enumerate_ext_cap we assume the extended capability linked lists
are always legal and correct, which might not be true when there was a
faulty hardware. This patch adds checks (time to live) to guard against malformed
extended capability linked lists.

v2:
Add error printing when node_limit <= 0.

Tracked-On: #6571
Signed-off-by: Yifan Liu <yifan1.liu@intel.com>
Reviewed-by: Wang, Yu1 <yu1.wang@intel.com>
Acked-by: Anthony Xu <anthony.xu@intel.com>
2021-12-09 10:47:16 +08:00
Yifan Liu b59c489750 hv: Hide Service VM hypercalls from REE
Though REE VM has its load order to be Service_VM, it does not offer
services as Service VM does. The only hypercalls allowed for REE are the
ones with GUEST_FLAG_REE.

Tracked-On: #6571
Signed-off-by: Yifan Liu <yifan1.liu@intel.com>
Reviewed-by: Wang, Yu1 <yu1.wang@intel.com>
Acked-by: Anthony Xu <anthony.xu@intel.com>
2021-12-09 10:47:16 +08:00
Yifan Liu 98bc4cab35 hv: Wrap GUEST_FLAG_TEE/REE checks into function
This patch wraps the check of GUEST_FLAG_TEE/REE into functions
is_tee_vm/is_ree_vm for readability. No logic changes.

Tracked-On: #6571
Signed-off-by: Yifan Liu <yifan1.liu@intel.com>
Reviewed-by: Wang, Yu1 <yu1.wang@intel.com>
Acked-by: Anthony Xu <anthony.xu@intel.com>
2021-12-09 10:47:16 +08:00
Shiqing Gao 90c987b600 doc: simplify the command to build Zephyr for ACRN
Simplify the build command using the west tool.

Signed-off-by: Shiqing Gao <shiqing.gao@intel.com>
2021-12-08 18:23:42 -08:00
Xiangyang Wu 0b3fedee86 doc: update s5 document
For WaaG VM, the User VM name is hard coded in the
lifecycle manager, this User VM ("windows") is needed
for guest shutdown.
Note: libvirt will be used to do guest shutdown and
the WaaG VM name will be configurable in furture.

The lifecycle manager starup picture in WaaG VM is out
of data, update it in this patch.

Tracked-on: #6652
Signed-off-by: Xiangyang Wu <xiangyang.wu@intel.com>
2021-12-08 16:56:58 -08:00
Kunhui-Li 0a5663c442 config_tools: rename sdc.xml to shared.xml on qemu platform
rename sdc.xml to shared.xml on qemu platform

Tracked-On: #6315
Signed-off-by: Kunhui-Li <kunhuix.li@intel.com>
2021-12-08 14:04:37 +08:00
David B. Kinder 38d9227f79 doc: update release notes with cpu_affinity notice
The acrn-dm ``--cpu_affinity`` parameter is now mandatory.

Signed-off-by: David B. Kinder <david.b.kinder@intel.com>
2021-12-07 20:44:32 -08:00
Kunhui-Li 821c450520 config_tools:doc: sync with release_2.7 for XSD files
update "bootargs" documentation to keep with release_2.7 branch
in VMtype.xsd.

Signed-off-by: Kunhui-Li <kunhuix.li@intel.com>
2021-12-06 17:39:49 -08:00
Kunhui-Li 9a299effcb doc: update release notes for v2.7 on configuration upgrades
This patch updates recommendations to upgrade from a prior ACRN version
for v2.7, and updates the what's new summary.

Signed-off-by: Kunhui-Li <kunhuix.li@intel.com>
Signed-off-by: David B. Kinder <david.b.kinder@intel.com>
2021-12-06 12:13:03 -08:00
Amy Reyes 48063c840b doc: Remove placeholder text from acrntrace
Removed placeholders for images. Will create an issue for tracking.

Signed-off-by: Amy Reyes <amy.reyes@intel.com>
2021-12-06 10:05:51 -08:00
Amy Reyes 22f4041d48 doc: terminology cleanup in hld/tutorial images
- Replace SOS or Service OS with Service VM
- Replace UOS or User OS with User VM

Signed-off-by: Amy Reyes <amy.reyes@intel.com>
2021-12-06 10:05:07 -08:00
Chenli Wei 7390488b8d hv: remove CONFIG_LOG_DESTINATION
The CONFIG_LOG_DESTINATION parameter selects where the logging messages
send to,serial console or memory or npk device MMIO region.

Now we want to remove it and check the loglevel of each channel,close the
output when the loglevel is ZERO.

Tracked-On: #6934
Signed-off-by: Chenli Wei <chenli.wei@intel.com>
Acked-by: Anthony Xu <anthony.xu@intel.com>
2021-12-06 14:24:40 +08:00
Kunhui-Li de5abd5265 config_tools: remove CONFIG_LOG_DESTINATION
1. remove LOG_DESTINATION in the related python code, schema and
all existing scenario XML files.
2. for MEM_LOGLEVEL, NPK_LOGLEVEL and CONSOLE_LOGLEVEL,
update the loglevel range to [0, 5] from [0, 6].

Tracked-On: #6934
Signed-off-by: Kunhui-Li <kunhuix.li@intel.com>
Acked-by: Anthony Xu <anthony.xu@intel.com>
2021-12-06 14:24:40 +08:00
Amy Reyes 28560c1db7 doc: terminology cleanup in RTVM tutorial
- Replace SOS or Service OS with Service VM
- Clean up some of the grammar

Signed-off-by: Amy Reyes <amy.reyes@intel.com>
2021-12-02 10:37:07 -08:00
Yonghua Huang 638027fca1 dm: fix memory leakage issue in acrn_parse_cpu_affinity
fix memory leakage issue in function 'acrn_parse_cpu_affinity()',
 memory pointed by 'cp' is not released before function return.

Tracked-On: #6919
Signed-off-by: Yonghua Huang <yonghua.huang@intel.com>
2021-12-02 16:12:14 +08:00
Hu Fenglin 55eccbbd6b deb-pkg: Support specifying board.xml and scenario.xml
Currently, if board.xml and scenario.xml are specified,
the variable $(BOARD) and $(SCENARIO) are path, but the
parameters passed in to generate debian package should be
board and scenario name. So add a conversion function to
ensure that the function passed to the generated debian
package is board and scenario name.

Tracked-On: #6688
Signed-off-by: Hu Fenglin <fenglin.hu@intel.com>
2021-12-02 14:40:52 +08:00
Amy Reyes 30875208a6 doc: terminology cleanup in openstack and hld images
- Replace SOS or Service OS with Service VM
- Replace UOS or User OS with User VM
- Replace VHM with HSM

Signed-off-by: Amy Reyes <amy.reyes@intel.com>
2021-12-01 11:25:11 -08:00
Amy Reyes 82eeaee55f doc: terminology cleanup in DM HLD
- Replace SOS or Service OS with Service VM
- Replace UOS or User OS with User VM
- Clean up some of the grammar

Signed-off-by: Amy Reyes <amy.reyes@intel.com>
2021-12-01 11:23:47 -08:00
Amy Reyes 8cbadb488f doc: terminology cleanup in secure boot GRUB
- Replace UOS or User OS with User VM
- Replace SOS or Service OS with Service VM
- Clean up some of the grammar

Signed-off-by: Amy Reyes <amy.reyes@intel.com>
2021-12-01 10:21:54 -08:00
Amy Reyes 7ffa2a4a5f doc: terminology cleanup in HLD overview
- Replace SOS or Service OS with Service VM
- Replace UOS or User OS with User VM
- Replace VHM with HSM

Signed-off-by: Amy Reyes <amy.reyes@intel.com>
2021-12-01 10:20:06 -08:00
Amy Reyes db1a6ee961 doc: terminology cleanup in Hybrid GSG, tutorials
- Replace SOS or Service OS with Service VM
- Replace UOS or User OS with User VM
- Capitalize ACRN Configurator

Signed-off-by: Amy Reyes <amy.reyes@intel.com>
2021-12-01 10:17:14 -08:00
Xiangyang Wu d16d0f00bc HV: update destination shorthand during x2apic ICR emulation
Currently, in RTVM with multi vCPUs, lapic pass through is
configured, each vCPU works in x2apic mode. When one vCPU sends
IPI to all other vCPUs through writes ICR register with virtual
value 0x00000000000c00f8, this ICR writting will be intercepted,
the hypervisor passes destination shorthand field 11B (All Excluding
Self) in the virtual ICR value into physical ICR value during IPI
emulation, this IPI will be sent to each physical CPU core
in the platform according to 10.6.1 Interrupt Command Register (ICR),
Vol 3, SDM.
One vCPU in User VM with lapic pass through configuration can
send IPI with destination shorthand (10B or 11B) and any vector
(such as NMI or reboot vector) to other vCPUs, this IPI will sent
other VMs in the platform by hypervisor, this interference may
cause other VMs hang.

In this patch, set "Destination Shorthand" field of the
ICR value as 00B (No Shorthand) since the emulation is done
through sending IPI to each VCPU in dmask one by one.

Tracked-On: #6908

Signed-off-by: Xiangyang Wu <xiangyang.wu@intel.com>
Reviewed-by: Chen, Jason CJ <jason.cj.chen@intel.com>
2021-12-01 09:54:35 +08:00
Xie, nanlin 50a0fb9ea6 misc: update CODEOWNERS for debug tools
Tracked-On: #5581
Signed-off-by: Xie, nanlin <nanlin.xie@intel.com>
2021-12-01 08:53:50 +08:00
Kunhui-Li 11fb6341be config_tools: remove LOG_BUF_SIZE
remove LOG_BUF_SIZE in the related python code, schema and
all existing scenario XML files.

Tracked-On: #6690
Signed-off-by: Kunhui-Li <kunhuix.li@intel.com>
Acked-by: Anthony Xu <anthony.xu@intel.com>
2021-12-01 08:53:33 +08:00
Yifan Liu 0d59577fe4 hv: Add stateful VM check before system shutdown
This patch introduces stateful VM which represents a VM that has its own
internal state such as a file cache, and adds a check before system
shutdown to make sure that stateless VM does not block system shutdown.

Tracked-On: #6571
Signed-off-by: Wang Yu <yu1.wang@intel.com>
Signed-off-by: Yifan Liu <yifan1.liu@intel.com>
Acked-by: Eddie Dong <eddie.dong@intel.com>
2021-12-01 08:47:25 +08:00
Shiqing Gao 71da1bed9b config_tools: check VM number before filling with dynamic configured VM
check VM number before filling with dynamic configured VM

Tracked-On: #6907
Signed-off-by: Shiqing Gao <shiqing.gao@intel.com>
2021-12-01 08:44:33 +08:00
Amy Reyes 091c355b5d doc: terminology cleanup in ACRN Configurator Tool
- Replace UOS or User OS with User VM
- Replace SOS or Service OS with Service VM
- Capitalize Board Inspector and ACRN Configurator
- Clean up some of the grammar

Signed-off-by: Amy Reyes <amy.reyes@intel.com>
2021-11-29 16:46:10 -08:00
Amy Reyes 4ea23b1292 doc: terminology cleanup in GSG
- Replace SOS or Service OS with Service VM
- Replace UOS or User OS with User VM
- Capitalize ACRN Configurator and Board Inspector
- Clean up some of the grammar

Signed-off-by: Amy Reyes <amy.reyes@intel.com>
2021-11-29 16:44:07 -08:00
Yifan Liu 21615ee2f3 hv: Fix minor coding style warnings
This patch fixes a minor warning introduced by commit 3c9c41b. No logic
changes.

Tracked-On: #6776
Signed-off-by: Yifan Liu <yifan1.liu@intel.com>
2021-11-30 08:40:57 +08:00
Amy Reyes 8530a32c4b doc: minor updates to board inspector
- Update success message per PR https://github.com/projectacrn/acrn-hypervisor/pull/6672

- Capitalize Board Inspector

Signed-off-by: Amy Reyes <amy.reyes@intel.com>
2021-11-29 16:39:06 -08:00
David B. Kinder 861eaf06c4 doc: Add TSC and membership documentation
Per the membership charter, the TSC members are maintained in the
CONTRIBUTING file in the project's GitHub repo.  Update our contributing
documentation to include this file into our technical docs too.

Signed-off-by: David B. Kinder <david.b.kinder@intel.com>
2021-11-29 15:24:23 -08:00
David B. Kinder fbdc2466ca doc: update Linux Foundation copyright footer
Signed-off-by: David B. Kinder <david.b.kinder@intel.com>
2021-11-29 09:27:52 -08:00
David B. Kinder 83fa9b0d20 doc: remove Android in introductory material
Signed-off-by: David B. Kinder <david.b.kinder@intel.com>
2021-11-28 08:37:24 -08:00
Mingqiang Chi 74acdcf6e1 misc: remove DM_OWNED_GUEST_FLAG_MASK
remove this MACRO since it has moved to vm_config.h

Tracked-On: #6366
Signed-off-by: Mingqiang Chi <mingqiang.chi@intel.com>
2021-11-28 14:35:25 +08:00
Mingqiang Chi 4cb55e58a8 hv: move DM_OWNED_GUEST_FLAG_MASK to vm_config.h
Currently the MACRO(DM_OWNED_GUEST_FLAG_MASK) is generated
by config-tool. It's unnecessary to generate by tool since
it is fixed, the config-tool will remove this MACRO and
move it to vm_config.h

Tracked-On: #6366
Signed-off-by: Mingqiang Chi <mingqiang.chi@intel.com>
Reviewed-by: Eddie Dong <eddie.dong@intel.com>
2021-11-28 14:35:25 +08:00
Kunhui-Li 07abcf9e77 config_tools: remove DM_OWNED_GUEST_FLAG_MASK
Because it is not configurable, config tool might not need to
define DM_OWNED_GUEST_FLAG_MASK. So we remove it in tool.

Tracked-On: #6366
Signed-off-by: Kunhui-Li <kunhuix.li@intel.com>
2021-11-28 14:35:25 +08:00
Kunhui-Li bded332620 config_tools: remove GUEST_FLAG_SECURITY_VM in DM_OWNED_GUEST_FLAG_MASK
GUEST_FLAG_SECURITY_VM only for pre-launch vm, should not be
programmed by device model, so we remove it in DM_OWNED_GUEST_FLAG_MASK.

Tracked-On: #6366
Signed-off-by: Kunhui-Li <kunhuix.li@intel.com>
2021-11-28 14:35:25 +08:00
Yang,Yu-chu 30951f7a83 hv: rename CONFIG_GPU_SBDF to CONFIG_IGD_SBDF
The name CONFIG_IGD_SBDF indicates the bdf of an integrated GPU on platform.

Tracked-On: #6855
Signed-off-by: Yang,Yu-chu <yu-chu.yang@intel.com>
2021-11-28 14:23:29 +08:00
Yang,Yu-chu 68136b7f7a config-tools: get GPU_SBDF automatically
Get the integrated GPU bdf by looking for device from board.xml and extract the
BDF from device address.

Tracked-On: #6855
Signed-off-by: Yang,Yu-chu <yu-chu.yang@intel.com>
2021-11-28 14:23:29 +08:00
Weiyi Feng 93d4e92273 config_tool: load default cpu affinity config by vm_name
1. load default cpu affinity config from scenario file by vm_name.

Tracked-On: #6724
Signed-off-by: Weiyi Feng <weiyix.feng@intel.com>
2021-11-26 16:48:05 +08:00
Victor Sun e4a58363e3 HV: fix MISRA violation of _ld_ram_xxx
Variable should not have a prefix of '_' per MISRA C standard. The patch
removes the prefix for _ld_ram_start and _ld_ram_end.

Tracked-On: #6885

Signed-off-by: Victor Sun <victor.sun@intel.com>
Acked-by: Anthony Xu <anthony.xu@intel.com>
2021-11-26 16:45:17 +08:00
Victor Sun e718f48a55 HV: correct hv_ram_size when hv is relocated
In previous commit df7ffab441
the CONFIG_HV_RAM_SIZE was removed and the hv_ram_size was calculated in
link script by following formula:
	ld_ram_size = _ld_ram_end - _ld_ram_start ;
but _ld_ram_start is a relative address in boot section whereas _ld_ram_end
is a absolute address in global, the mix operation cause hv_ram_size is
incorrect when HV binary is relocated.

The patch fix this issue by getting _ld_ram_start and _ld_ram_end respectively
and calculated at runtime.

Tracked-On: #6885

Signed-off-by: Victor Sun <victor.sun@intel.com>
Acked-by: Anthony Xu <anthony.xu@intel.com>
2021-11-26 16:45:17 +08:00
Yonghua Huang 0940b35340 dm: validate input of virtio_console_control_tx()
this patch validates input of virtio_console_control_tx()
 function to avoid potential progream crash with malicious
 input from guest.

Tracked-On: #6851
Signed-off-by: Yonghua Huang <yonghua.huang@intel.com>
2021-11-26 16:43:55 +08:00
Jie Deng a085b1eaaf doc: update two scheduling algorithm
Add description for the IORR (IO sensitive Round Robin) scheduler
and the priority based scheduler.

Signed-off-by: Jie Deng <jie.deng@intel.com>
Signed-off-by: Yifan Liu <yifan1.liu@intel.com>
2021-11-25 17:19:14 -08:00
Amy Reyes 49d9567132 doc: terminology cleanup in mem mgmt hld
- Replace SOS or Service OS with Service VM
- Replace UOS or User OS with User VM
- Clean up some of the grammar

Signed-off-by: Amy Reyes <amy.reyes@intel.com>
2021-11-25 06:00:26 -08:00
Amy Reyes 1ba9070d40 doc: terminology cleanup in config intro
- Replace UOS or User OS with User VM
- Capitalize ACRN Configurator and Board Inspector
- Clean up some of the grammar

Signed-off-by: Amy Reyes <amy.reyes@intel.com>
2021-11-25 05:56:27 -08:00
Amy Reyes fc61bd6220 doc: terminology cleanup in hostbridge hld
- Replace UOS or User OS with User VM
- Clean up some of the grammar

Signed-off-by: Amy Reyes <amy.reyes@intel.com>
2021-11-25 05:54:59 -08:00
Amy Reyes 6c7afdbd68 doc: terminology cleanup in launch options
- Replace UOS or User OS with User VM

Signed-off-by: Amy Reyes <amy.reyes@intel.com>
2021-11-25 05:54:10 -08:00
Amy Reyes c6f60dc9e6 doc: terminology cleanup in ivshmem
- Replace UOS or User OS with User VM
- Capitalize ACRN Configurator
- Clean up some of the grammar

Signed-off-by: Amy Reyes <amy.reyes@intel.com>
2021-11-25 05:52:42 -08:00
Kunhui-Li a3015d3973 doc: replace UUID with vmname to identify a vm
Since the PR #6787 has landed, we need to remove the uuid parameter
"-U" of "acrn-dm" and replace UUID with vm name to identify a VM
in document.

Signed-off-by: Kunhui-Li <kunhuix.li@intel.com>
2021-11-25 05:41:08 -08:00