acrn-hypervisor/hypervisor/arch/x86/guest
Sainath Grandhi 06b59e0bc1 hv: Use ptirq_lookup_entry_by_sid to lookup virtual source id in IOAPIC irq entries
Reverts 538ba08c: hv:Add vpin to ptdev entry mapping for vpic/vioapic

ACRN uses an array of size  per VM to store ptirq entries against the vIOAPIC pin
and an array of size per VM to store ptirq entries against the vPIC pin.
This is done to speed up "ptirq entry" lookup at runtime for Level triggered
interrupts in API ptirq_intx_ack used on EOI.

This patch switches the lookup API for INTx interrupts to the API,
ptirq_lookup_entry_by_sid

This could add delay to processing EOI for Level triggered interrupts.
Trade-off here is space saved for array/s of size CONFIG_MAX_IOAPIC_LINES with 8 bytes
per data. On a server platform, ACRN needs to emulate multiple vIOAPICs for
SOS VM, same as the number of physical IO-APICs. Thereby ACRN would need around
10 such arrays per VM.

Removes the need of "pic_pin" except for the APIs facing the hypercalls
hcall_set_ptdev_intr_info, hcall_reset_ptdev_intr_info

Tracked-On: #4151
Signed-off-by: Sainath Grandhi <sainath.grandhi@intel.com>
Acked-by: Eddie Dong <eddie.dong@Intel.com>
2020-03-25 09:36:18 +08:00
..
assign.c hv: Use ptirq_lookup_entry_by_sid to lookup virtual source id in IOAPIC irq entries 2020-03-25 09:36:18 +08:00
ept.c hv: rename the ACRN_DBG_XXX 2020-01-14 10:21:23 +08:00
guest_memory.c hv: rename the ACRN_DBG_XXX 2020-01-14 10:21:23 +08:00
hyperv.c hv: rename the ACRN_DBG_XXX 2020-01-14 10:21:23 +08:00
instr_emul.c hv: instr_emul: use cs segment when fetching instructions 2019-11-11 13:55:24 +08:00
pm.c hv:Rename two VM states 2020-03-13 10:34:29 +08:00
trusty.c hv: support xsave in context switch 2019-12-02 09:31:12 +08:00
ucode.c hv:cleanup header file for guest folder 2019-02-21 10:38:30 +08:00
vcpu.c hv: xsave: move assembler to individual function 2020-02-28 17:55:06 +08:00
vcpuid.c hv: cpuid: expose PCID related capabilities to VMs 2020-01-02 10:47:34 +08:00
ve820.c HV: move create_sos_vm_e820 to ve820.c 2020-03-12 14:56:34 +08:00
virq.c hv: rename BOOT_CPU_ID to BSP_CPU_ID 2020-02-25 09:08:14 +08:00
virtual_cr.c hv: cr: handle control registers related to PCID 2020-01-02 10:47:34 +08:00
vlapic_priv.h hv: add ops to vlapic structure 2019-07-19 16:47:06 +08:00
vlapic.c hv: rename BOOT_CPU_ID to BSP_CPU_ID 2020-02-25 09:08:14 +08:00
vm_reset.c hv:Rename two VM states 2020-03-13 10:34:29 +08:00
vm.c hv: vpci: sos could access low severity guest pci cfg space 2020-03-20 10:08:43 +08:00
vmcall.c hv: vPCI: remove passthrough PCI device unuse code 2020-02-24 16:17:38 +08:00
vmcs.c hv: rename VECTOR_XXX and XXX_IRQ Macros 2020-01-14 10:21:23 +08:00
vmexit.c hv: HLT emulation in hypervisor 2020-01-07 11:23:32 +08:00
vmsr.c HV: Add both HW and SW checks for RDT support 2020-02-27 10:44:07 +08:00
vmtrr.c hv: refine 'uint64_t' string print format in x86 moudle 2019-11-09 11:42:38 +08:00
vmx_asm.S hv:remove some unnecessary includes 2019-05-07 09:10:13 +08:00
vmx_io.c hv: rename BOOT_CPU_ID to BSP_CPU_ID 2020-02-25 09:08:14 +08:00