acrn-hypervisor/hypervisor/include/dm
Conghui Chen ac6c5dce81 HV: Clean vpic and vioapic logic when lapic is pt
When the lapic is passthru, vpic and vioapic cannot be used anymore. In
current code, user can still inject vpic interrupt to Guest OS, this is
not allowed.
This patch remove the vpic and vioapic initiate functions during
creating VM with lapic passthru. But the APIs in vpic and vioapic are
called in many places, for these APIs, follow the below principles:

1. For the APIs which will access uninitiated variables, and may case
hypervisor hang, add @pre to make sure user should call them after vpic or
vioapic is initiated.

2. For the APIs which only return some static value, do noting with them.

3. For the APIs which user will called to inject interrupt, such as
vioapic_set_irqline_lock or vpic_set_irqline, add condition in these
APIs to make sure it only inject interrupt when vpic or vioapic is
initiated. This change is to make sure the vuart or hypercall need not
to care whether lapic is passthru or the vpic and vioapic is initiated
or not.

Tracked-On: #3227
Signed-off-by: Conghui Chen <conghui.chen@intel.com>
2019-06-12 14:29:50 +08:00
..
io_req.h HV: rename 'type' in struct io_request 2019-05-06 18:25:20 +08:00
mptable.h hv: Build mptable for guest if VM type is Pre-Launched 2019-04-15 15:51:02 +08:00
vioapic.h HV: Clean vpic and vioapic logic when lapic is pt 2019-06-12 14:29:50 +08:00
vpci.h HV: predefine pci vbar's base address for pre-launched VMs in vm_config 2019-05-22 10:00:15 +08:00
vpic.h hv:cleanup header file for vm.c & vm.h 2019-02-03 13:50:42 +08:00
vuart.h HV: remove 'vuart' from debug command list 2019-04-29 15:25:39 +08:00