acrn-hypervisor/hypervisor/dm/vpci
Liu,Junming 041a7dec98 hv: refine the VMCS io bitmap handling when pass-thru PIO bar
In current design, when pass-thru dev,
for the PIO bar, need to ensure the guest PIO start address
equals to host PIO start address.
Then set the VMCS io bitmap to pass-thru the corresponding
port io to guest for performance.

But malicious guest may reprogram the PIO bar,
then hv will pass-thru the reprogramed PIO address to guest.
This isn't safe behavior.

Here only pass-thru the host physical device PIO to guest.
If guest regrogram the PIO bar, just update the virtual bar only.
Currently, we don't support PIO bar reprogramming,
if guest reprogram the PIO bar, guest should take responsibility itself

When init the pass-thru dev PIO bars, set the VMCS io bitmap.
setup_io_bitmap is called before init pass-thru dev to
initiailize the io bitmap, so don't need to
call deny_guest_pio_access when deinit pass-thru dev.

v1 -> v2:
	* set the VMCS io bitmap when init pass-thru devices
	to migrate redoing allow_guest_pio_access()/deny_guest_pio_access().

Tracked-On: #6508

Signed-off-by: Liu,Junming <junming.liu@intel.com>
2021-09-01 15:31:55 +08:00
..
ivshmem.c hv: ivshmem: map SHM BAR with PAT ignored 2021-08-13 11:17:15 +08:00
pci_pt.c hv: refine the VMCS io bitmap handling when pass-thru PIO bar 2021-09-01 15:31:55 +08:00
vdev.c HV: vpci: refine vbar sizing 2021-06-08 08:39:01 +08:00
vhostbridge.c hv: some coding style fixes 2021-05-12 16:50:34 +08:00
vmcs9900.c hv: dm: Use new virtual device management ioctls 2021-07-15 11:53:54 +08:00
vmsi.c hv: mod: do not use explicit arch name when including headers 2021-05-08 11:15:46 +08:00
vmsix_on_msi.c hv: mod: do not use explicit arch name when including headers 2021-05-08 11:15:46 +08:00
vmsix.c hv: dm: Use new I/O request data structures 2021-07-15 11:53:54 +08:00
vpci_bridge.c hv: mod: do not use explicit arch name when including headers 2021-05-08 11:15:46 +08:00
vpci_priv.h hv: dm: Use new pci device passthrough management ioctls 2021-07-15 11:53:54 +08:00
vpci.c hv: refine the VMCS io bitmap handling when pass-thru PIO bar 2021-09-01 15:31:55 +08:00
vroot_port.c hv: dm: Use new virtual device management ioctls 2021-07-15 11:53:54 +08:00
vsriov.c hv/mod_timer: separate delay functions from the timer module 2021-05-18 16:43:28 +08:00