acrn-hypervisor/hypervisor/include/common
Junjie Mao d8179519b9 HV: io: add post-work for PCICFG and WP requests
Currently no post-work is done for I/O requests of type PCICFG or WP. The
impacts include:

    1. ''valid'' in VHM request buffers are left as 1 even after the I/O request
       completes. This violates the pre-condition of acrn_insert_request_wait()
       but does not cause failures since a new I/O request can never happen
       before the previous one completes.

    2. Values read from PCI configuration spaces are never passed to UOS.

This patch adds the post-work for these two kinds of I/O requests. The post-work
for port I/O is invoked for PCICFG since it is essentially a port I/O and the
request structure is compatible. No post-work is needed for WP as it is only
triggered for EPT violations on writes, while post-work is mainly for reads.

v2 -> v3:

    * Consistently use 0/1 (not false/true) for the ''valid'' member.
    * Add comments to suggest when the hypervisor can see REQ_PCICFG and why
      dm_emulate_pio_post also works in such cases.
    * Rename: mark_ioreq_done -> complete_ioreq
    * Rename: complete_request -> emulate_io_post
    * Rename: hcall_notify_req_finish -> hcall_notify_ioreq_finish

Signed-off-by: Junjie Mao <junjie.mao@intel.com>
Reviewed-by: Jason Chen CJ <jason.cj.chen@intel.com>
2018-07-31 10:22:03 +08:00
..
acrn_efi.h hv: Fix typo of trampline with trampoline 2018-06-12 15:54:16 +08:00
hypercall.h HV: io: add post-work for PCICFG and WP requests 2018-07-31 10:22:03 +08:00
irq.h hv: pirq: add a header for common data struct and APIs 2018-06-29 00:50:01 +08:00
ptdev.h HV:treewide:fix "Reference parameter to procedure is reassigned" 2018-07-27 12:17:12 +08:00
schedule.h HV:treewide:Cleanup the type for parameters of bitmap 2018-07-02 10:46:11 +08:00