Commit Graph

6846 Commits

Author SHA1 Message Date
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
Oguzhan Ozturk 2d0b4d41be Fixed minor wording and typos 2021-11-25 13:56:21 +08:00
Kunhui-Li 711619f92e config_tools: remove CONFIG_MAX_IR_ENTRIES
remove CONFIG_MAX_IR_ENTRIES the related python code, schema and
all existing scenario XML files since PR #6809 have changed it.

Tracked-On: #6745
Signed-off-by: Kunhui-Li <kunhuix.li@intel.com>
2021-11-25 13:37:22 +08:00
Amy Reyes fcb0469bce doc: terminology cleanup in virtio-rnd
- 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-11-24 17:36:35 -08:00
Amy Reyes 8e077ac5ff doc: terminology cleanup in sgx
- Replace SOS or Service OS with Service VM
- Clean up some of the grammar

Signed-off-by: Amy Reyes <amy.reyes@intel.com>
2021-11-24 17:33:42 -08:00
dongshen 066856d6f9 doc: add vCAT documentation
This patch adds user guide and high level design for vCAT

Tracked-On: #5917
Signed-off-by: dongshen <dongsheng.x.zhang@intel.com>
2021-11-24 06:31:56 -08:00
Amy Reyes 643d07b3f1 doc: terminology cleanup in DM readme
- Replace SOS or Service OS with Service VM
- Clean up some of the grammar

Signed-off-by: Amy Reyes <amy.reyes@intel.com>
2021-11-24 06:29:25 -08:00
Amy Reyes dec624a0fe doc: terminology cleanup in usb doc
- 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-24 06:27:42 -08:00
Amy Reyes caf893c449 doc: terminology cleanup in partitioned GSG
- Replace User OS
- Remove command prompts
- Clean up some of the grammar

Signed-off-by: Amy Reyes <amy.reyes@intel.com>
2021-11-24 06:22:34 -08:00
Kunhui-Li 11230765c1 config_tools: remove LOW_RAM_SIZE
remove LOW_RAM_SIZE in the related python code, schema and
all existing scenario XMLs because PR #6791 have removed it.

Tracked-On: #6805
Signed-off-by: Kunhui-Li <kunhuix.li@intel.com>
2021-11-24 20:54:57 +08:00
Yuanyuan Zhao 1aa04a61d6 dm: fix mevent timing issue
If a file descriptor being monitored by epoll_wait is closed
in another thread, the result is unspecified. So add all mevents
removed in other threads to delete list. And drain the list in
the dispatch mevent thread.

Tracked-On: #6877
Signed-off-by: Yuanyuan Zhao <yuanyuan.zhao@linux.intel.com>
Acked-by: Wang, Yu1 <yu1.wang@intel.com>
2021-11-24 20:44:26 +08:00
Xiangyang Wu deec4b24ef HV: life_mngr: add sync delay for WaaG lifecycle manager
The lifecycle manager in Service VM checks sync message every
5 seconds, so need add 5 seconds to sync delay for WaaG
lifecycle manager to avoid unnecessary sync resending.

Tracked-On: #6652

Signed-off-by: Xiangyang Wu <xiangyang.wu@intel.com>
2021-11-24 20:29:43 +08:00
Xiangyang Wu 93d0ad543e HV: life_mngr: refine platform shutdown when User VM fails to shutdown
Currently, the lifecycle manager in Service VM will issue poweroff
command to shutdown service VM when User VM fails to shutdown. The
post-launched RTVM with virtio device may hang after Service VM
shutdown.

In this patch, the lifecycle manager in Service VM will stop to
shut down service VM when User VM fails to shutdown. Users have
chance to fix User VM shutdown failure (such as forcelly shutdown
User VM or execute poweroff command in User VM), after the failure
is fixed, user can trigger S5 in service VM to shutdown platform
gracefully.

Tracked-On: #6652

Signed-off-by: Xiangyang Wu <xiangyang.wu@intel.com>
2021-11-24 20:29:43 +08:00
Amy Reyes 417c369feb doc: terminology cleanup in RTC virt
- Replace SOS or Service OS with Service VM
- Clean up some of the grammar

Signed-off-by: Amy Reyes <amy.reyes@intel.com>
2021-11-22 10:40:48 -08:00
Amy Reyes 7811b6217d doc: terminology cleanup in images (uart)
- 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-11-22 10:38:22 -08:00
Amy Reyes e8e0d8acfe doc: terminology cleanup in image (Shell)
- Replace SOS or Service OS with Service VM

Signed-off-by: Amy Reyes <amy.reyes@intel.com>
2021-11-22 10:37:19 -08:00
hangliu1 195d3df4c6 doc: remove VBSK related content
VBSK is not supported anymore, clean the documents up.

Track-On: #6738
Signed-off-by: hangliu1 <hang1.liu@linux.intel.com>
2021-11-22 08:40:38 -08:00
David B. Kinder 83466595c2 doc: update CODEOWNERS for documentation reviewers
Tracked-On: #5581

Signed-off-by: David B. Kinder <david.b.kinder@intel.com>
2021-11-23 00:02:21 +08:00
Amy Reyes 41c552dea8 doc: terminology cleanup in file names, labels
- Replace SOS with Service VM
- Replace UOS with User VM

Signed-off-by: Amy Reyes <amy.reyes@intel.com>
2021-11-22 07:57:47 -08:00
Amy Reyes 64f9ef202e doc: terminology cleanup in images (I/O HLD)
- 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-11-22 07:43:59 -08:00
Amy Reyes 3207e7c3f1 doc: terminology cleanup in image (Modular Design)
- 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-11-22 07:42:52 -08:00
Amy Reyes d65bd0b85c doc: terminology cleanup in images (sriov)
- 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-11-22 07:41:03 -08:00
Amy Reyes ff44b1c7c2 doc: terminology cleanup in images (trusty tutorial)
- 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-11-22 07:37:40 -08:00
Amy Reyes 9af91ed571 doc: terminology cleanup in images (gpio)
- 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-11-22 07:34:29 -08:00
David B. Kinder 545aeb3226 doc: fix 2.3 release notes broken link
Removed the VBS-K Framework Virtualization Overhead Analysis document on
master.

Signed-off-by: David B. Kinder <david.b.kinder@intel.com>
2021-11-19 08:12:29 -08:00
Xiangyang Wu 1d26695626 doc: refine enable s5 document
Lifecycle Manager will be refined in v2.7, this patch will
refine enable s5 document to align with the latest code.

v1-->v2:
	Remove the prompt from all instructions in this
	document.

Tracked-On: #6652

Signed-off-by: Xiangyang Wu <xiangyang.wu@intel.com>
2021-11-19 07:07:32 -08:00
Musa Ünal 5bc0c97a12 fix misspelling
fix misspelling in memory management doc

Signed-off-by: Musa Unal umusasadik@gmail.com
2021-11-19 07:05:10 -08:00
Zhou, Wu 7d0c05f3ff dm: Skip injecting _PPC and _PCT when _PSS is not constructed
This patch is to eliminate kernel error msgs:
'ACPI Error: AE_NOT_FOUND, Evaluating _PSS'

This is caused by missing of _PSS table in guest ACPI. It would
happen when pstate is not injected to the guest.

Kernel ACPI pstate driver first probes
_PPC(performance capabilites) and _PCT(performance control)
in ACPI. If they exist, then it loads the _PSS(performance state).
If _PPC/_PCT are presented while _PSS is missing, it prints
the error msg.

In acrn-dm, _PPC/_PCT are hard-coded to all vCPUs, while _PSS
are constructed with the pCPUs' pstate data. This is base on
assumption that all VMs can have pstate.

Now the pstate is given to VM only when the VM is not sharing
any CPU(and no RTVM is setup in the scenario).
When the VM doesn't have pstate, the hypercall will return px_cnt=0,
and the _PSS is not constructed. In this case, _PPC/PCT should not
be injected, too.

Tracked-On: #6848

Signed-off-by: Zhou, Wu <wu.zhou@intel.com>
Acked-by: Anthony Xu <anthony.xu@intel.com>
Acked-by: Eddie Dong <eddie.dong@Intel.com>
2021-11-17 16:33:11 +08:00
Helmut Buchsbaum 2f54a1862e hv: hypercall: return 0 for empty PX or CX tables
Avoid failing hypercalls by returning 0 for empty PX and CX tables on
HC_PM_GET_CPU_STATE/PMCMD_GET_PX_CNT and
HC_PM_GET_CPU_STATE/PMCMD_GET_CX_CNT.

Tracked-On: #6848

Signed-off-by: Helmut Buchsbaum <helmut.buchsbaum@opensource.tttech-industrial.com>
Acked-by: Anthony Xu <anthony.xu@intel.com>
Acked-by: Eddie Dong <eddie.dong@Intel.com>
2021-11-17 16:33:11 +08:00
Jie Deng e97b171ca2 hv: tee: x86_tee interrupt support
Secure interrupt (interrupt belongs to TEE) comes
when TEE vcpu is running, the interrupt will be
injected to TEE directly. But when REE vcpu is running
at that time, we need to switch to TEE for handling.

Non-Secure interrupt (interrupt belongs to REE) comes
when REE vcpu is running, the interrupt will be injected
to REE directly. But when TEE vcpu is running at that time,
we need to inject a predefined vector to TEE for notification
and continue to switch back to TEE for running.

To sum up, when secure interrupt comes, switch to TEE
immediately regardless of whether REE is running or not;
when non-Secure interrupt comes and TEE is running,
just notify the TEE and keep it running, TEE will switch
to REE on its own initiative after completing its work.

Tracked-On: projectacrn#6571
Signed-off-by: Jie Deng <jie.deng@intel.com>
Reviewed-by: Wang, Yu1 <yu1.wang@intel.com>
Acked-by: Eddie Dong <eddie.dong@Intel.com>
2021-11-17 15:25:14 +08:00
Jie Deng 314d9ca8af hv: tee: implement the x86_tee hypercalls
This patch implements the following x86_tee hypercalls,

- HC_TEE_VCPU_BOOT_DONE
- HC_SWITCH_EE

Tracked-On: #6571
Signed-off-by: Jie Deng <jie.deng@intel.com>
Reviewed-by: Wang, Yu1 <yu1.wang@intel.com>
Acked-by: Eddie Dong <eddie.dong@Intel.com>
2021-11-17 15:25:14 +08:00
Jie Deng 3c9c41b656 hv: tee: add x86_tee hypercall interfaces
This patch adds the x86_tee hypercall interfaces.

- HC_TEE_VCPU_BOOT_DONE

This hypercall is used to notify the hypervisor that the TEE VCPU Boot
is done, so that we can sleep the corresponding TEE VCPU. REE will be
started at the last time this hypercall is called by TEE.

- HC_SWITCH_EE

For REE VM, it uses this hypercall to request TEE service.

For TEE VM, it uses this hypercall to switch back to REE
when it completes the REE service.

Tracked-On: #6571
Signed-off-by: Jie Deng <jie.deng@intel.com>
Reviewed-by: Wang, Yu1 <yu1.wang@intel.com>
Acked-by: Eddie Dong <eddie.dong@Intel.com>
2021-11-17 15:25:14 +08:00