Commit Graph

8052 Commits

Author SHA1 Message Date
Minggui Cao bc4c773cf8 hv: add param to control INIT used to kick pCPU
By default, notification IPI used to kick sharing pCPU, INIT
used to kick partition pCPU. If USE_INIT_IPI flag is passed to
hypervisor, only INIT will be used to kick pCPU.

Tracked-On: #8207
Signed-off-by: Minggui Cao <minggui.cao@intel.com>
Acked-by: Eddie Dong <eddie.dong@intel.com>
2022-09-26 13:28:02 +08:00
Minggui Cao 2c140addaf hv: use kick-mode in per-cpu to control kick pCPU
INIT signal has been used to kick off the partitioned pCPU, like RTVM,
whose LAPIC is pass-through. notification IPI is used to kick off
sharing pCPU.

Add mode_to_kick_pcpu in per-cpu to control the way of kicking
pCPU.

Tracked-On: #8207
Signed-off-by: Minggui Cao <minggui.cao@intel.com>
Acked-by: Eddie Dong <eddie.dong@intel.com>
2022-09-26 13:28:02 +08:00
Reyes, Amy 39cdf6f7a6 doc: add 3.1 release docs to menu choice
Signed-off-by: Reyes, Amy <amy.reyes@intel.com>
2022-09-23 22:01:45 -07:00
Reyes, Amy 88c78c9e43 doc: Editorial changes to v3.1 release notes
Signed-off-by: Reyes, Amy <amy.reyes@intel.com>
2022-09-23 14:42:20 -07:00
Reyes, Amy ed9baa64ea doc: Update S5 tutorial
- Update the S5 tutorial to align with new template and GSG scenario

Signed-off-by: Reyes, Amy <amy.reyes@intel.com>
2022-09-23 09:37:29 -07:00
zhangrouyu 76d8fea2ff doc: Upgrade the information about Release Notes
Signed-off-by: zhangrouyu <rouyu.zhang@intel.com>
2022-09-23 08:26:22 -07:00
zhangrouyu 4844ae4772 Update the version infomation of sample app guide
Signed-off-by: zhangrouyu <rouyu.zhang@intel.com>
2022-09-23 08:18:47 -07:00
Zhao Yakui d0720096b0 ACRN:HV:VPCI: Forward access of PCI ROM bar_reg to DM for passthru device
The access to PCI config_space is handled in HV for Passthrough pci
devices. And it also provides one mechanism to forward cfg_access of
some registers to DM. For example: the opregion reg for GPU device.

This patch tried to add the support of emulated PCI ROM bar for the
device. And it doesn't handle the phys PCI ROM bar of phys PCI devices.
At the same time the rom firmware is provided in DM and pci rom bar_reg
is also emulated in DM, this leverages the quirk mechanism so that the
access to PCI rom bar_reg is forwarded to DM.

Tracked-On: #8175
Signed-off-by: Zhao Yakui <yakui.zhao@intel.com>
Acked-by: Eddie Dong <eddie.dong@intel.com>
Acked-by: Wang Yu <yu1.wang@intel.com>
2022-09-23 18:12:01 +08:00
Zhao Yakui 3c01a6a0cf ACRN:DM:PT: Add romfile option for rombar on GPU passthrough device
Add the option of "romfile=file_location" to specify the rom file for rombar

Tracked-On: #8175
Signed-off-by: Zhao Yakui <yakui.zhao@intel.com>
Acked-by: Wang Yu <yu1.wang@intel.com>
2022-09-23 18:12:01 +08:00
Zhao Yakui db7be2c6f6 ACRN:DM:PCI: Add the emulation of PCI rom bar register for passthru device
The pci_reg 0x30 of PCI config_space is used to check whether the PCI rom
bar is supported. When the PCI rom is supported for the device in guest vm,
the 0x30 pci_reg is emulated and it can return the addr/enable bit.

Tracked-On: #8175
Signed-off-by: Zhao Yakui <yakui.zhao@intel.com>
Acked-by: Yu Wang <yu1.wang@intel.com>
2022-09-23 18:12:01 +08:00
Zhao Yakui 64ecf193e4 ACRN:DM:PCI: Load rom_file and map it into PCI ROMbar
PCI ROM is the firmware specific to PCI device and it is provided by
the device vendor. The PCI rom resides in 0x30 offset of PCI config space.
This can be used to check whether the PCI rom exists. And when it exists,
it can load the firmware from the addr that is obtained from ROM bar addr.

For the user-vm, it will try to load the rom_file for the given PCI device and
enable the VM to access the firmware that is defined in rom_file.

BTW: The emulated rom_file is converted from efi image by using EfiRom. It has
no dependency on the ROM bar of physical PCI devices. Of course if the physical
PCI devices supports the ROM bar, the rom_file can also be dumped from the PCI
rom.

Now this is limited to PCI display device.

V2->V3: Add the function of pci_load_rombar/pci_release_rombar to handle the
	rombar in course of passthrough_init/deinit.

Tracked-On: #8175
Signed-off-by: Zhao Yakui <yakui.zhao@intel.com>
Acked-by: Wang Yu <yu1.wang@intel.com>
2022-09-23 18:12:01 +08:00
Zhao Yakui 270aaf82d8 ACRN:DM:PCI: Add the support of allocating resource for PCI ROM bar
Now the device model only supports the 0..5 PCI bar for PCI/PCIE devices.
This tries to allocate the PCI_MEM32 resource for PCI ROM bar.

V1->V2: Use the PCI_ROMBAR as bar index and PCIBAR_ROM bar type when calling
the pci_emul_alloc_bar to allocate the guest physical addr for PCI ROM bar.
And it will allocate the resource from PCIBAR_MEM32 region.

V2->V3: Add more comments that describes the parameter of pci_emul_alloc_bar.

Tracked-On: #8175
Signed-off-by: Zhao Yakui <yakui.zhao@intel.com>
Acked-by: Wang Yu <yu1.wang@intel.com>
2022-09-23 18:12:01 +08:00
Chuang Ke 50cdcb3660 [config_tool] Message when CAT not supported
use better wording instead the message when CAT not supported

Tracked-On: #8136
Signed-off-by: Chuang-Ke <chuangx.ke@intel.com>
2022-09-22 23:14:01 +08:00
Reyes, Amy dc6fccfa0d doc: Editorial changes to hypercall hld
Signed-off-by: Reyes, Amy <amy.reyes@intel.com>
2022-09-21 09:18:37 -07:00
Junjie Mao 245951f8ea doc: add hypercall ABI in the HLD
The application binary interface (ABI) is an important aspect of
hypercalls. But unfortunately it is not yet defined anywhere in the current
HLD.

This patch adds the current ABI specification to the hypercall section of
HLD.

Signed-off-by: Junjie Mao <junjie.mao@intel.com>
2022-09-21 08:16:56 -07:00
Chuang Ke a35f3c0d65 [config_tool] vCAT widget behavior
let vCAT chunk no longer  fixed-drag

Tracked-On: #8187
Signed-off-by: Chuang-Ke <chuangx.ke@intel.com>
Reviewed-by: Junjie Mao <junjie.mao@intel.com>
2022-09-21 16:51:03 +08:00
Junjie Mao 3a4b84e078 config_tools: handle multiple xs:documentation properly
With multiple xs:documentation nodes under the same xs:annotation, xs2js
will convert the XML into a dict where the key `xs:documentation` maps to a
list rather than a string. This patch enhances the converter.py to handle
such case properly.

Tracked-On: #8098
Signed-off-by: Junjie Mao <junjie.mao@intel.com>
2022-09-21 15:15:38 +08:00
Conghui 91cc0d5bf8 dm: iothread: fix bug in iothread handler
Fix the bug in iothread handler, the event should be read out so that the
next epoll_wait not return directly as the fd can still readable.

Tracked-On: #8181
Signed-off-by: Conghui <conghui.chen@intel.com>
Acked-by: Wang, Yu1 <yu1.wang@intel.com>
2022-09-21 12:29:07 +08:00
Conghui fcd92f1c2f dm: virtio-blk: fix parameter err
Fix the truncate issue for virtio block parameter.

Tracked-On: #8162
Signed-off-by: Conghui <conghui.chen@intel.com>
Acked-by: Wang, Yu1 <yu1.wang@intel.com>
2022-09-21 12:29:07 +08:00
Reyes, Amy c6cbd6b6df doc: Update sample app
- Minor editorial changes
- Improve image quality

Signed-off-by: Reyes, Amy <amy.reyes@intel.com>
2022-09-20 13:18:09 -07:00
Wu Zhou 6a430de814 hv: remove CPU frequency control from guests
The design of ACRN CPU performance management is to let hardware
do the autonomous frequency selection(or set to a fixed value),
and remove guest's ability to control CPU frequency.

This patch is to remove guest's ability to control CPU frequency by
removing the guests' HWP/EIST CPUIDs and blocking the related MSR
accesses. Including:
  - Remove CPUID.06H:EAX[7..11] (HWP)
  - Remove CPUID.01H:ECX[7] (EIST)
  - Inject #GP(0) upon accesses to MSR_IA32_PM_ENABLE,
    MSR_IA32_HWP_CAPABILITIES, MSR_IA32_HWP_REQUEST,
    MSR_IA32_HWP_STATUS, MSR_IA32_HWP_INTERRUPT,
    MSR_IA32_HWP_REQUEST_PKG
  - Emulate MSR_IA32_PERF_CTL. Value written to MSR_IA32_PERF_CTL
    is just stored for reading. This is like how the native
    environment would behavior when EIST is disabled from BIOS.
  - Emulate MSR_IA32_PERF_STATUS by filling it with base frequency
    state. This is consistent with Windows, which displays current
    frequency as base frequency when running in VM.
  - Hide the IA32_MISC_ENABLE bit 16 (EIST enable) from guests.
    This bit is dependent to CPUID.01H:ECX[7] according to SDM.
  - Remove CPID.06H:ECX[0] (hardware coordination feedback)
  - Inject #GP(0) upon accesses to IA32_MPERF, IA32_APERF

Also DM do not need to generate _PSS/_PPC for post-launched VMs
anymore. This is done by letting hypercall HC_PM_GET_CPU_STATE sub
command ACRN_PMCMD_GET_PX_CNT and ACRN_PMCMD_GET_PX_DATA return (-1).

Tracked-On: #8168
Signed-off-by: Wu Zhou <wu.zhou@intel.com>
Acked-by: Eddie Dong <eddie.dong@intel.com>
2022-09-21 03:48:58 +08:00
Reyes, Amy f0eddc6a4c doc: Update acrnctrl readme
- Update broken link and minor editorial changes

Tracked-On: #8172

Signed-off-by: Reyes, Amy <amy.reyes@intel.com>
2022-09-20 09:09:47 -07:00
Reyes, Amy 42be836301 doc: Minor editorial update to GVT-d tutorial
Signed-off-by: Reyes, Amy <amy.reyes@intel.com>
2022-09-19 10:21:55 -07:00
zhangrouyu 67a161c13e gtvd
Signed-off-by: zhangrouyu <rouyu.zhang@intel.com>
2022-09-19 10:04:33 -07:00
zhangrouyu 5a1e1fd6b4 supplement to revision
Signed-off-by: zhangrouyu <rouyu.zhang@intel.com>
2022-09-19 09:42:48 -07:00
zhangrouyu 7aa3df8d7d Add configuration files for ASRock system, with Intel(R) 12th Gen Core(TM)CPU(formerly known as Alder Lake) and 32G memory.
Tracked-On: #8163
Signed-off-by: zhangrouyu <rouyu.zhang@intel.com>
2022-09-19 21:48:17 +08:00
zhangrouyu 8d0131e7fb improve the document of acrnd
Tracked-On:#8148
Signed-off-by: zhangrouyu <rouyu.zhang@intel.com>
2022-09-19 12:10:59 +08:00
Reyes, Amy 96baec68c0 doc: Minor GSG edits
- Minor editorial changes
- Improve image quality
- Delete unused image

Signed-off-by: Reyes, Amy <amy.reyes@intel.com>
2022-09-16 15:38:11 -07:00
zhangrouyu 34776484df GSG document revision 2022-09-16 13:28:14 -07:00
zhangrouyu ef41f87171 improve the document of acrnd 2022-09-16 13:28:14 -07:00
Reyes, Amy 98886ae2a0 doc: Update CPU sharing tutorial
- Clarify blocked state

Signed-off-by: Reyes, Amy <amy.reyes@intel.com>
2022-09-16 09:12:41 -07:00
Yang,Yu-chu 0d7527ce2f config-tools: diable real_time_vcpu for non real-time VM
Reset the real_time_vcpu to 'n' if the VM is not a real-time VM.

Tracked-On: #8145
Signed-off-by: Yang,Yu-chu <yu-chu.yang@intel.com>
Reviewed-by: Junjie Mao <junjie.mao@intel.com>
2022-09-16 10:18:01 +08:00
Reyes, Amy d579a0be47 doc: Improve image quality - configurator
Signed-off-by: Reyes, Amy <amy.reyes@intel.com>
2022-09-15 15:22:33 -07:00
Reyes, Amy 78609b0ba1 doc: Improve image quality - ivshmem
Signed-off-by: Reyes, Amy <amy.reyes@intel.com>
2022-09-15 11:47:09 -07:00
Reyes, Amy d7404bb976 doc: Improve image quality
Signed-off-by: Reyes, Amy <amy.reyes@intel.com>
2022-09-15 11:34:59 -07:00
Reyes, Amy 2238452c1d doc: Improve image quality
Signed-off-by: Reyes, Amy <amy.reyes@intel.com>
2022-09-15 11:20:48 -07:00
Reyes, Amy eda363f28a doc: Update CPU sharing tutorial to match v3.1 Configurator
Signed-off-by: Reyes, Amy <amy.reyes@intel.com>
2022-09-15 08:11:40 -07:00
Reyes, Amy 38294e6b81 doc: Minor edit to RDT tutorial
Signed-off-by: Reyes, Amy <amy.reyes@intel.com>
2022-09-14 17:24:11 -07:00
Reyes, Amy 7c7326e166 doc: Update supported HW
Signed-off-by: Reyes, Amy <amy.reyes@intel.com>
2022-09-14 17:23:54 -07:00
Jian Jun Chen 1bf984890b hv: tsc: start HPET counter before calibration
HPET is used to calibrate the tsc frequency if system fails to
get the accurate frequency from CPUID 0x15. But on some platforms
(for example: the emulated ACRN on QEMU) HPET is not started
by default, which causes the failure of calibration TSC by HPET.

Tracked-On: #8113
Signed-off-by: Jian Jun Chen <jian.jun.chen@intel.com>
Reviewed-by: Zhao Yakui <yakui.zhao@intel.com>
Acked-by: Eddie Dong <eddie.dong@intel.com>
2022-09-15 03:14:01 +08:00
Reyes, Amy 13aa50b508 doc: Remove note about v3.0 Configurator issue
The issue has been fixed in v3.1.

Signed-off-by: Reyes, Amy <amy.reyes@intel.com>
2022-09-14 09:47:42 -07:00
Chenli Wei 71ccd8a5e5 doc: update vUART tutorials
The ACRN Configurator release 3.1 following the release 3.0 logic, so
the COM2 still used for S5.

This patch modify the "The release v3.0 ACRN Configurator assigns… …"
to "The release v3.0+ ACRN Configurator assigns… …" and refine a typo
issue.

Tracked-On: #6690
Signed-off-by: Chenli Wei <chenli.wei@intel.com>
2022-09-14 09:47:14 -07:00
Chenli Wei 122e97e5a1 misc: add assertion to check the BDF value
The BDF of user setting should skip the slot '00', '01', '02', '1f', all
these slots should select one of the 03~1e.

This patch add an assertion to check the above policy.

Tracked-On: #6690
Signed-off-by: Chenli Wei <chenli.wei@intel.com>
2022-09-14 18:15:29 +08:00
Yang,Yu-chu c17c8e321c config-tools: fix typos of UI and README
1. In the title "Create a new Scenario", capitalize the "N" in "new".
2. Fix the file path to the installer.

Tracked-On: #8137
Signed-off-by: Yang,Yu-chu <yu-chu.yang@intel.com>
Reviewed-by: Junjie Mao <junjie.mao@intel.com>
2022-09-14 08:44:57 +08:00
hangliu1 e5d45b94c9 [doc]remove some decription about hvlog
to avoid misleading for users, delete the description about
hypervisor relocation disabling, since it is not officially
supported by ACRN configurator now.

Tracked-On: #8133
Signed-off-by: hangliu1 <hang1.liu@linux.intel.com>
2022-09-13 17:20:22 -07:00
Chuang Ke 8577e158df [config_tool] v2 UART widget address for pre-launched VM doesn't update
the configurator can clear its corresponding I/O port or BDF settings automatically when the VM of a vUART endpoint changes
v1-->v2: support the result working on multiple VUART Connections

Tracked-On: #8033
Signed-off-by: Chuang-Ke <chuangx.ke@intel.com>
Reviewed-by: Junjie Mao <junjie.mao@intel.com>
2022-09-09 14:04:54 +08:00
zihengL1 86314b2f18 config-tools: Fix error reporting for memory addresses below 4G
Now, if you use a memory address below 4G, there will be a warning,
but the build process of the hypervisor will not be interrupted.

Tracked-On: #6690
Signed-off-by: Ziheng Li <ziheng.li@intel.com>
2022-09-08 20:59:47 +08:00
Chuang Ke cafb562597 [config_tool] Duplicate error for vUART connection
improve the translateError function by adding a condition: if there are errors describing the same error and same paths, remove the repeat one.

Tracked-On: #8117
Signed-off-by: Chuang-Ke <chuangx.ke@intel.com>
Reviewed-by: Junjie Mao <junjie.mao@intel.com>
2022-09-08 18:52:21 +08:00
Chenli Wei 7a99e1b1d8 misc: refine upgrade script
There is some issue when use upgrade to update some old xml version to
release_3.1, this patch modify the upgrade script to fix these issue.

Tracked-On: #6690
Signed-off-by: Chenli Wei <chenli.wei@intel.com>
2022-09-08 18:10:56 +08:00
Marius Rodi 8fe8b15a02 devicemodel: hw: pci: xhci: Remove unnecessary condition
Because of the iteration of i as is, the condition i <= XHCI_MAX_DEVS
always results as true and thus is unnecessary.

When compiling with cflag -Werror this condition will result in a
compilation failure.

Tracked-On: #8114

Signed-off-by: Marius Rodi <marius.rodi@linutronix.de>
2022-09-07 14:08:09 +08:00