1
0
mirror of https://github.com/projectacrn/acrn-hypervisor.git synced 2025-05-04 14:36:55 +00:00
Commit Graph

5264 Commits

Author SHA1 Message Date
David B. Kinder
b0c7993309 doc: remove stray UTF-8 characters
Convert UTF-8 characters (typically pasted from Word for smart quotes
and such) into equivalent ASCII characters.

Signed-off-by: David B. Kinder <david.b.kinder@intel.com>
2020-05-04 16:16:32 -07:00
Deb Taylor
1df539b76c Doc: Updated "Advanced Guides" titles for naming consistency
Updated WaaG file

Signed-off-by: Deb Taylor <deb.taylor@intel.com>
2020-05-04 13:17:02 -04:00
David B. Kinder
f9824261e6 doc: fix broken link to touch monitor
Fixes: 

Signed-off-by: David B. Kinder <david.b.kinder@intel.com>
2020-05-04 09:35:30 -07:00
David B. Kinder
58f779a069 doc: update HLD for hv_cpu_virt
Update HLD with @zidechen0 material

Signed-off-by: David B. Kinder <david.b.kinder@intel.com>
2020-05-03 17:15:16 -07:00
Conghui Chen
dcb809e824 doc: update cpu-sharing doc
change IORR to BVT, update affinity related info.

Signed-off-by: Conghui Chen <conghui.chen@intel.com>
2020-05-03 17:00:03 -07:00
Victor Sun
1675dabddc doc: build from source update
As acrn-hypervisor Makefile rule changed, the doc need to be changed
accordingly.

Signed-off-by: Victor Sun <victor.sun@intel.com>
Signed-off-by: David B. Kinder <david.b.kinder@intel.com>
2020-05-03 16:34:08 -07:00
Victor Sun
829083c46f doc: hv elements update
The hypervisor configuration is integrated into scenario XML now,
update the elements description for hv section.

Some elements in launch XML are updated also.

Signed-off-by: Victor Sun <victor.sun@intel.com>
2020-05-03 16:34:08 -07:00
Victor Sun
3f5bfe5511 doc: reference code update for cpu sharing
The VM configuration struct initialization method is slightly changed
recently, so reference code for cpu shaing need to be changed
accordingly.

Signed-off-by: Victor Sun <victor.sun@intel.com>
2020-05-03 16:34:08 -07:00
Victor Sun
515e478282 doc: remove sdc2 and update industry scenario
Remove SDC2 scenario since usages under SDC2 could be supported by
INDUSTRY scenario which would support up to 7 post-launched VMs.

Signed-off-by: Victor Sun <victor.sun@intel.com>
2020-05-03 16:34:08 -07:00
David B. Kinder
0bd30017eb doc: update windows as UOS tutorial
Fix consistent spelling of GVT-g and malformed bullet list.

Signed-off-by: David B. Kinder <david.b.kinder@intel.com>
2020-04-29 15:38:27 -07:00
fangfang.shen
d6a1bd8ca2 doc:update waag gsg after enabling gvt-d and cpu-sharing.
Signed-off-by: fangfang.shen <fangfang.shen@intel.com>
2020-04-29 11:43:29 -07:00
Geoffroy Van Cutsem
c8f789ee90 doc: add note about capricious UP2 EFI firmware
The UP2 EFI firmware is a bit capricious and does not consistantly keep the
boot order after adding one using `efibootmgr`. There is no magic recipe (or
known reliable sequence) and hence we add a note warning the user that this
can happen, and when it does the only solution is to try modifying some more
the list of boot entries (inc. re-ordering them).

Signed-off-by: Geoffroy Van Cutsem <geoffroy.vancutsem@intel.com>
2020-04-29 11:37:34 -07:00
dongshen
c8fb0d76ba doc: add VT-d posted interrupt documentation
Tracked-On: 
Signed-off-by: dongshen <dongsheng.x.zhang@intel.com>
Signed-off-by: David B. Kinder <david.b.kinder@intel.com>
2020-04-29 09:59:27 -07:00
Minggui Cao
691a0e2e56 HV: add a specific stack space used in CPU booting
The original stack used in CPU booting is: ld_bss_end + 4KB;
which could be out of the RAM size limit defined in link_ram file.

So add a specific stack space in link_ram file, and used in
CPU booting.

Tracked-On: 
Signed-off-by: Minggui Cao <minggui.cao@intel.com>
Reviewed by: Yin Fengwei <fengwei.yin@intel.com>
Acked-by: Eddie Dong <eddie.dong@intel.com>
2020-04-29 13:56:40 +08:00
Wei Liu
5936bf431c acrn-config: refine slot assignment for launch config
When passthrough device for VM, if there is no fun0 of the slot was passed
in, PCI expansion card can not respond as a device, it must implement at
least function number 0.

Tracked-On: 
Signed-off-by: Wei Liu <weix.w.liu@intel.com>
Acked-by: Victor Sun <victor.sun@intel.com>
2020-04-29 09:52:37 +08:00
Wei Liu
c8eda07323 acrn-config: refinement for CPU affinity check
Refine CPU affinity sanity check for both scenario and launch config
xmls.

Tracked-On: 
Signed-off-by: Wei Liu <weix.w.liu@intel.com>
Acked-by: Victor Sun <victor.sun@intel.com>
2020-04-29 09:52:37 +08:00
David B. Kinder
bb8d9fe377 doc: update to splitlock hld document
Add some spelling, grammar, and presentation updates to this new HLD
doc.

Signed-off-by: David B. Kinder <david.b.kinder@intel.com>
2020-04-28 14:53:55 -07:00
yuhong.tao@intel.com
9d327bfdf8 Doc: HLD for Split-locked Access Handling
Signed-off-by: Tao Yuhong <yuhong.tao@intel.com>
2020-04-28 11:18:53 -07:00
Deb Taylor
d797fefb59 Doc: Grammatical edits to acrn config tool doc
Signed-off-by: Deb Taylor <deb.taylor@intel.com>
2020-04-27 15:27:55 -04:00
Shuang Zheng
de36607d48 doc: add dynamic config in web app of acrn configuration tool
Add document to dynamically create scenario config and launch config,
dynamically add or delete VM settings in scenario and launch config
in web app of acrn configuration tool

Signed-off-by: Shuang Zheng <shuang.zheng@intel.com>
2020-04-27 07:10:20 -04:00
Tw
01802e9134 sample: add log support when launching Xenomai
Add log related stuff for more debug information.

Tracked-On: 
Signed-off-by: Tw <wei.tan@intel.com>
2020-04-27 10:04:00 +08:00
Tw
e69690111a sample: don't restore passthrough devices on exit by default on Xenomai
Passthroughed devices won't be restored back to SOS once launch
script exits by default. However you could revert this behavior
by specifying '-r' parameter if you want.

Tracked-On: 
Signed-off-by: Tw <wei.tan@intel.com>
2020-04-27 10:04:00 +08:00
David B. Kinder
17445c1914 doc: update docker build with numbered steps
Use the (new) numbered instruction style in one of our tutorials to
check it out.

Signed-off-by: David B. Kinder <david.b.kinder@intel.com>
2020-04-26 15:20:56 -07:00
Li Fei1
4c733708bf hv: lapic: minor refine about init_lapic
According to SDM Vol 3, Chap 10.4.7.2 Local APIC State After It Has Been Software Disabled,
The mask bits for all the LVT entries are set when the local APIC has been software disabled.
So there's no need to mask all the LVT entries one by one.

Tracked-On: 
Signed-off-by: Li Fei1 <fei1.li@intel.com>
2020-04-26 10:48:49 +08:00
Li Fei1
067b439e69 hv: irq: minor refine about structure idt_64_descriptor
The 'value' field in structure idt_64_descriptor is no one used. We could remove it.

Tracked-On: 
Signed-off-by: Li Fei1 <fei1.li@intel.com>
2020-04-26 10:48:49 +08:00
Deb Taylor
b514eba9d6 Doc: Modify Getting Started and Advanced Guides sections (navigation)
Signed-off-by: Deb Taylor <deb.taylor@intel.com>
2020-04-24 13:03:54 -04:00
Wei Liu
3078595da5 acrn-config: add vm type sanity check
Refinement for VM type sanity check relays on VM UUID number.

Tracked-On: 
Signed-off-by: Wei Liu <weix.w.liu@intel.com>
Acked-by: Victor Sun <victor.sun@intel.com>
Acked-by: Terry Zou <terry.zou@intel.com>
2020-04-24 16:19:55 +08:00
Wei Liu
539905e1f4 acrn-config: refinement for pci_devs in scenario config xmls
remove configurable="0" for pci_devs of pre-launched VM so that the
passthru devices could be configurable on webUI.

Tracked-On: 
Signed-off-by: Wei Liu <weix.w.liu@intel.com>
Acked-by: Victor Sun <victor.sun@intel.com>
Acked-by: Terry Zou <terry.zou@intel.com>
2020-04-24 16:19:55 +08:00
Wei Liu
a43b42b2a0 acrn-config: parse cpu_affinity from launch config xmls
Parse cpu_affinity from launch config xmls and generate '--cpu_affinity' as
acrn-dm args.

Tracked-On: 
Signed-off-by: Wei Liu <weix.w.liu@intel.com>
Acked-by: Victor Sun <victor.sun@intel.com>
Acked-by: Terry Zou <terry.zou@intel.com>
2020-04-24 16:19:55 +08:00
Wei Liu
233f2deb4b acrn-config: add cpu_affinity for launch config xmls
1.Remove cpu_sharing item from launch config xml.
2.Add cpu_affinity for launch config xmls to configurable POST VM cpu
affinity from webUI.

Tracked-On: 
Signed-off-by: Wei Liu <weix.w.liu@intel.com>
Acked-by: Victor Sun <victor.sun@intel.com>
Acked-by: Terry Zou <terry.zou@intel.com>
2020-04-24 16:19:55 +08:00
Li Fei1
c8618dd2fb hv: vioapic: minor refine about madt ioapic parse
Remove ioapic_parse_madt and do MADT IOAPIC parse in parse_madt_ioapic.

Tracked-On: 
Signed-off-by: Li Fei1 <fei1.li@intel.com>
2020-04-24 15:35:38 +08:00
Li Fei1
907a0f7c04 hv: vioapic: minor refine about vioapic_init
Most code in the if ... else is duplicated. We could put it out of the
conditional statement.

Tracked-On: 
Signed-off-by: Li Fei1 <fei1.li@intel.com>
2020-04-24 15:35:38 +08:00
Zide Chen
2c9c681e6d acrn-dm: change command option name from "pcpu_list" to "cpu_affinity"
commit 71bdc27a0f ("acrn-dm: implement cpu_affinity command line argument")
doesn't use correct name.

Tracked-On: 
Signed-off-by: Zide Chen <zide.chen@intel.com>
2020-04-24 13:18:10 +08:00
Junming Liu
1da7e4145f dm:refine graphics data stolen memory passthru for EHL platform
EHL graphics data stolen memory(DSM) info has diff with KBL/WHL,
which includes two parts:
(1) DSM register location in pci config: on KBL/WHL, the register
locates on 0X5C, while on EHL, the register locates on 0xC0.
(2) DSM address length: On KBL/WHL,
DSM addr has 32 bits, while on EHL,DSM addr has 64 bits.

Here, refine graphics data stolen memory passthru to enable GVT-d on EHL platforms.

v3 -> v4:
        * add MICRO INTEL_ELKHARTLAKE
v2 -> v3:
	* refine discription,MICRO name
	* refine code style
v1 -> v2:
	* add callback functions for scalability

Tracked-On: projectacrn#4700

Signed-off-by: Junming Liu <junming.liu@intel.com>
Reviewed-by: Zhao Yakui <yakui.zhao@intel.com>
Reviewed-by: Liu XinYun <xinyun.liu@intel.com>
Reviewed-by: Xiaoguang Wu <xiaoguang.wu@intel.com>
Acked-by: Yu Wang <yu1.wang@intel.com>
2020-04-24 12:54:50 +08:00
Junming Liu
795225d55e dm:add function passthru_gpu_dsm_opregion for passthru_init
Pack GPU DSM(Data Stolen Memory) and Opregion related operations
into function passthru_gpu_dsm_opregion to avoid passthru_init too mess.

Tracked-On: 

Signed-off-by: Junming Liu <junming.liu@intel.com>
Reviewed-by: Zhao Yakui <yakui.zhao@intel.com>
Reviewed-by: Liu XinYun <xinyun.liu@intel.com>
Reviewed-by: Xiaoguang Wu <xiaoguang.wu@intel.com>
Acked-by: Yu Wang <yu1.wang@intel.com>
2020-04-24 12:54:50 +08:00
Junming Liu
b45c24b062 dm:refine comments and variables name about data stolen memory
"gsm" term is not precise to describe GPU stolen memory,
It should be "dsm", which acronyms for data stolen memory.

Tracked-On: 

Signed-off-by: Junming Liu <junming.liu@intel.com>
Reviewed-by: Zhao Yakui <yakui.zhao@intel.com>
Reviewed-by: Liu XinYun <xinyun.liu@intel.com>
Reviewed-by: Xiaoguang Wu <xiaoguang.wu@intel.com>
Acked-by: Yu Wang <yu1.wang@intel.com>
2020-04-24 12:54:50 +08:00
Zide Chen
1e3df01362 acrn-config: update cpu_affinity in scenrio configuration xml files
Change the tag name from "vcpu_affinity" to 'cpu_affinity" in all the per
board scenario xml files, and change the descritpions.

Tracked-On: 
Signed-off-by: Zide Chen <zide.chen@intel.com>
Acked-by: Victor Sun <victor.sun@intel.com>
2020-04-23 09:38:54 +08:00
Zide Chen
fafce7aa5f acrn-config: change names for vcpu_affinity[] related items
hypervisor is replacing vm_configs[].vcpu_affinity[] array with
cpu_affinity_bitmap, the meaning of which has some changes as well.

This patch changes the names in generated vm_configuration.c:
-.vcpu_affinity = VMx_CONFIG_VCPU_AFFINITY,
+.cpu_affinity_bitmap = VMx_CONFIG_CPU_AFFINITY,

Changes in vm_configuration.h:
-#define  VMx_CONFIG_VCPU_AFFINITY {AFFINITY_CPU(xU), AFFINITY_CPU(xU)}
+#define  VMx_CONFIG_CPU_AFFINITY  (AFFINITY_CPU(xU) | AFFINITY_CPU(xU))

Also don't generate default assignment of vcpu_num in vm_configuration.c,
because now hypervisor can easily calculate it from cpu_affinity_bitmap.

Accordingly, in the scenario xml files, tag "vcpu_affinity" is changed
to "cpu_affinity".

Tracked-On: 
Signed-off-by: Zide Chen <zide.chen@intel.com>
Acked-by: Victor Sun <victor.sun@intel.com>
2020-04-23 09:38:54 +08:00
Zide Chen
71bdc27a0f acrn-dm: implement cpu_affinity command line argument
User has a chance to specify VCPU affinity through acrn-dm command line
argument. Examples of the command line:

3 PCPUs: 1/2/3
--cpu_affinity 1-3

5 PCPUs: 2/3/6/7/8
--cpu_affinity 2,3,6-8

8 PCPUs: 2/3/6/7/9/10/11/12
--cpu_affinity 2,3,6-7,9,10-12

The specified pCPUs must be included in the guest VM's statically
defined vm_config[].cpu_affinity_bitmap.

Tracked-On: 
Signed-off-by: Zide Chen <zide.chen@intel.com>
2020-04-23 09:38:54 +08:00
Zide Chen
3691e305c0 hv: dynamically configure CPU affinity through hypercall
- add a new member cpu_affinity to struct acrn_create_vm, so that acrn-dm
  is able to assign CPU affinity through HC_CREATE_VM hypercall.

- if vm_create.cpu_affinity is zero, hypervisor launches the VM with the
  statically configured CPU affinity.

Tracked-On: 
Signed-off-by: Zide Chen <zide.chen@intel.com>
Acked-by: Eddie Dong <eddie.dong@intel.com>
2020-04-23 09:38:54 +08:00
Zide Chen
9150284ca7 hv: replace vcpu_affinity array with cpu_affinity_bitmap
Currently the vcpu_affinity[] array fixes the vCPU to pCPU mapping.
While the new cpu_affinity_bitmap doesn't explicitly sepcify this
mapping, instead, it implicitly assumes that vCPU0 maps to the pCPU
with lowest pCPU ID, vCPU1 maps to the second lowest pCPU ID, and
so on.

This makes it possible for post-launched VM to run vCPUs on a subset of
these pCPUs only, and not all of them.

acrn-dm may launch post-launched VMs with the current approach: indicate
VM UUID and hypervisor launches all VCPUs from the PCPUs that are masked
in cpu_affinity_bitmap.

Also acrn-dm can choose to launch the VM on a subset of PCPUs that is
defined in cpu_affinity_bitmap. In this way, acrn-dm must specify the
subset of PCPUs in the CREATE_VM hypercall.

Additionally, with this change, a guest's vcpu_num can be easily calculated
from cpu_affinity_bitmap, so don't assign vcpu_num in vm_configuration.c.

Tracked-On: 
Signed-off-by: Zide Chen <zide.chen@intel.com>
Acked-by: Eddie Dong <eddie.dong@intel.com>
2020-04-23 09:38:54 +08:00
Geoffroy Van Cutsem
3e79287cd3 doc: fix a coupe of typos in rtvm_performance_tips.rst doc
Fix a couple of typos that sneaked in in the 'rtvm_performance_tips.rst'
document.

Signed-off-by: Geoffroy Van Cutsem <geoffroy.vancutsem@intel.com>
2020-04-22 12:25:21 -04:00
David B. Kinder
714b3a35d6 doc: edits for rtvm_performance_tips doc
Fixed windows line endings, improved tip formatting, additional grammar
and content simplification edits.

Signed-off-by: David B. Kinder <david.b.kinder@intel.com>
2020-04-22 10:35:33 -04:00
Shuang Zheng
f7594f0a93 acrn-config: assign VM IDs for dynamic scenario and launch setting
When dynamically creating or adding or deleting VMs, acrn config app
will assign VM IDs for the VMs with the orders of prelaunched VMs and SOS
VM and postlaunched VMs to be consistent with the VM order of vm_configs
in vm configuration. When dynamically creating launch scripts, acrn
config app will let users to specify the VM ID before launch setting.

Tracked-On: 

Signed-off-by: Shuang Zheng <shuang.zheng@intel.com>
Acked-by: Terry Zou <terry.zou@intel.com>
2020-04-22 20:10:17 +08:00
Shuang Zheng
44ec68dc49 acrn-config: add attributes for scenario and launch setting
There are no board/scenario/uos_launcher attributes for created
scenario and launch settings, which causes xml mismatch error
when generating configuration files or launch scripts.
This patch is to add the attributes for scearnio and launch
settings.

Tracked-On: 

Signed-off-by: Shuang Zheng <shuang.zheng@intel.com>
Acked-by: Terry Zou <terry.zou@intel.com>
2020-04-22 20:10:17 +08:00
Wei Liu
ea61900a80 acrn-config: add max VM count check when generating scenario XML file
Add max VM count check when generating scenario XML file.

Tracked-On: 
Signed-off-by: Wei Liu <weix.w.liu@intel.com>
Acked-by: Victor Sun <victor.sun@intel.com>
Acked-by: Terry Zou <terry.zou@intel.com>
2020-04-22 20:10:17 +08:00
Wei Liu
374cd99ed9 acrn-config: refine template xmls
Refine some items for configuarable="0"

Tracked-On: 
Signed-off-by: Wei Liu <weix.w.liu@intel.com>
Acked-by: Victor Sun <victor.sun@intel.com>
Acked-by: Terry Zou <terry.zou@intel.com>
2020-04-22 20:10:17 +08:00
Wei Liu
71b3743a75 acrn-config: add 2 UUIDs for post-launched Standard VM
Add 2 UUIDs for post-launched Standard VM.

Tracked-On: 
Signed-off-by: Wei Liu <weix.w.liu@intel.com>
Acked-by: Victor Sun <victor.sun@intel.com>
Acked-by: Terry Zou <terry.zou@intel.com>
2020-04-22 20:10:17 +08:00
Victor Sun
00a38e89c4 Makefile: do not override RELEASE when build with XML
SCENARIO XML file has included RELEASE or DEBUG info already, so if RELEASE
is not specified in make command, Makefile should not override RELEASE info
in SCENARIO XML. If RELEASE is specified in make command, then RELEASE info
in SCENARIO XML could be overridden by make command.

The patch also fixed a issue that get correct board defconfig when build
hypervisor from TARGET_DIR;

Tracked-On: 

Signed-off-by: Victor Sun <victor.sun@intel.com>
2020-04-22 16:45:43 +08:00
Victor Sun
27fb606d7a acrn-config: add SOS_IDLE for SOS cmdline
Add SOS_IDLE for SOS cmdline so that "idle=halt" paramter will be needed
only when CPU sharing is enabled;

Tracked-On: 

Signed-off-by: Victor Sun <victor.sun@intel.com>
2020-04-22 14:49:04 +08:00