acrn-hypervisor/hypervisor/include/dm
Yuan Liu 43683c7fc9 hv: implement ivshmem device-specific registers emulation
Ivshmem device defines four registers including Interrupt Mask, Interrupt
Status, IVPostion and Doorbell. The first two are useless and no emulation
is required. The latter two are used for interrupts and will be implemented
in the future.

This patch also introduces a new priv_data member for structure pci_vdev,
it can be used to find an ivshmem device through pci_vdev.

v2: refine code style

v3: 1) add @pre for ivshmem_mmio_handler function
    2) refine code style

v4: 1) set ivshmem registers default value when vBAR mapping
    2) change find_ivshmem_device to set_ivshmem_device

v5: 1) change set_ivshmem_device to find_and_set_ivshmem_device
    2) add a ASSERT to check if the vdev->priv_data is set successfully

v6: change find_and_set_ivshmem_device to create_ivshmem_device

Tracked-On: #4853

Signed-off-by: Yuan Liu <yuan1.liu@intel.com>
Acked-by: Eddie Dong <eddie.dong@intel.com>
2020-08-19 15:06:15 +08:00
..
io_req.h hv:refine vm & vcpu lock 2020-08-05 13:39:28 +08:00
ivshmem.h hv: add ivshmem device 2020-08-19 15:06:15 +08:00
mmio_dev.h hv: mmio_dev: add hypercall to support mmio device pass through 2020-07-23 20:13:20 +08:00
vacpi.h hv: vapci: add tpm2 support for pre-launched vm 2020-07-23 20:13:20 +08:00
vioapic.h hv: vioapic: expose ioapic to guest unconditionally 2020-07-10 19:33:46 +08:00
vpci.h hv: implement ivshmem device-specific registers emulation 2020-08-19 15:06:15 +08:00
vpic.h hv: vpic: remove vm structure pointer from vpic 2020-03-31 10:57:47 +08:00
vuart.h hv: Introduce Global System Interrupt (GSI) into INTx Remapping 2020-03-25 09:36:18 +08:00