acrn-hypervisor/hypervisor/include/arch/x86/guest
Sainath Grandhi 536c69b9ff hv: distinguish between LAPIC_PASSTHROUGH configured vs enabled
ACRN supports LAPIC emulation for guests using x86 APICv. When guest OS/BIOS
switches from xAPIC to x2APIC mode of operation, ACRN also supports switching
froom LAPIC emulation to LAPIC passthrough to guest. User/developer needs to
configure GUEST_FLAG_LAPIC_PASSTHROUGH for guest_flags in the corresponding
VM's config for ACRN to enable LAPIC passthrough.

This patch does the following

1)Fixes a bug in the abovementioned feature. For a guest that is
configured with GUEST_FLAG_LAPIC_PASSTHROUGH, during the time period guest is
using xAPIC mode of LAPIC,  virtual interrupts are not delivered. This can be
manifested as guest hang when it does not receive virtual timer interrupts.

2)ACRN exposes physical topology via CPUID leaf 0xb to LAPIC PT VMs. This patch
removes that condition and exposes virtual topology via CPUID leaf 0xb.

Tracked-On: #3136
Signed-off-by: Sainath Grandhi <sainath.grandhi@intel.com>
Reviewed-by: Eddie Dong <eddie.dong@intel.com>
2019-05-23 11:15:31 +08:00
..
assign.h hv: Remove separate interrupt routine for pre-launched VMs 2019-04-04 17:51:36 +08:00
ept.h hv:cleanup header file for guest folder 2019-02-21 10:38:30 +08:00
guest_memory.h xHV: remove unused function is_dbg_uart_enabled 2019-05-22 16:36:03 +08:00
guest_pm.h HV: Register S5 pio handler for dm-launched RTVM 2019-03-29 16:17:44 +08:00
instr_emul.h hv:move instr_emul_ctxt instance to struct vcpu 2019-03-13 14:04:20 +08:00
trusty.h hv: seed: refine header file 2019-03-15 14:09:56 +08:00
ucode.h HV:treewide:rename vcpu data structure 2018-11-05 15:35:49 +08:00
vcpu.h doc: remove hard-coded interfaces in .rst files 2019-05-22 12:40:52 -07:00
vcpuid.h hv:cleanup header file for vm.c & vm.h 2019-02-03 13:50:42 +08:00
virtual_cr.h hv:move some files to guest folder 2019-01-30 20:43:04 +08:00
vlapic.h hv: distinguish between LAPIC_PASSTHROUGH configured vs enabled 2019-05-23 11:15:31 +08:00
vm_reset.h hv: emulate ACPI reset register for Service OS guest 2019-05-15 11:20:12 +08:00
vm.h hv: distinguish between LAPIC_PASSTHROUGH configured vs enabled 2019-05-23 11:15:31 +08:00
vmcs.h hv:cleanup header file for guest folder 2019-02-21 10:38:30 +08:00
vmexit.h hv: refine guest.h 2019-02-03 13:00:42 +08:00
vmtrr.h modularization: clean up namings in vMTRR module 2018-12-14 09:43:06 +08:00
vmx_io.h hv: emulate ACPI reset register for Service OS guest 2019-05-15 11:20:12 +08:00