acrn-hypervisor/hypervisor/include/arch/x86
Li, Fei1 e793b5d091 hv: vlapic: remove ISR vector stack
The current implement will cache each ISR vector in ISR vector stack and do
ISR vector stack check when updating PPR. However, there is no need to do this
because:
1) We will not touch vlapic->isrvec_stk[0] except doing vlapic_reset:
  So we don't need to do vlapic->isrvec_stk[0] check.
2) We only deliver higher priority interrupt from IRR to ISR:
  So we don't need to check whether vlapic->isrvec_stk interrupts is always increasing.
3) There're only 15 different priority interrupt, It will not happened that more that
15 interrupts could been delivered to ISR:
  So we don't need to check whether vlapic->isrvec_stk_top will larger than
  ISRVEC_STK_SIZE which is 16.
This patch try to remove ISR vector stack and use isrv to cache the vector number for
the highest priority bit that is set in the ISR.

Tracked-On: #1842
Signed-off-by: Li, Fei1 <fei1.li@intel.com>
2019-06-27 15:27:37 +08:00
..
boot hv:Move severl variable declaration for boot code 2019-01-25 21:32:21 +08:00
guest hv: vlapic: remove ISR vector stack 2019-06-27 15:27:37 +08:00
lib hv:move several files related X86 for lib 2019-05-13 10:12:20 +08:00
apicreg.h hv: Use Interrupt Remapping format for programming interrupt sources 2019-02-01 15:54:55 +08:00
board.h hv: remove CONFIG_PARTITION_MODE for pre-launched VM vE820 creation 2019-03-19 14:28:43 +08:00
cat.h HV: CAT: support config CAT from acrn_vm_config 2019-02-28 11:22:29 +08:00
cpu_caps.h hv: vmsr: handle guest msr ia32_misc_enable read/write 2019-05-09 16:35:15 +08:00
cpu.h xsave: inject GP when guest tries to write 1 to XCR0 reserved bit 2019-06-12 08:28:53 +08:00
cpufeatures.h HV: Add CLFLUSHOPT instruction. 2019-06-20 09:32:55 +08:00
cpuid.h hv: vcpuid: present sgx capabilities to guest 2019-05-29 11:24:13 +08:00
default_acpi_info.h hv: emulate ACPI reset register for Service OS guest 2019-05-15 11:20:12 +08:00
e820.h hv: remove CONFIG_PARTITION_MODE for pre-launched VM vE820 creation 2019-03-19 14:28:43 +08:00
gdt.h hv: coding style: remove no real declaration for external variable 2018-12-20 20:20:08 +08:00
host_pm.h HV: fix MISRA violation of host_pm.h 2019-05-15 09:31:43 +08:00
idt.h hv:cleanup header files for arch folder 2019-02-22 13:14:36 +08:00
init.h HV: Add prefix 'p' before 'cpu' to physical cpu related functions 2019-04-24 10:50:28 +08:00
io.h hv:modulization for IO Emulation 2019-01-21 13:49:54 +08:00
ioapic.h hv: Avoid run-time buffer overflows with IOAPIC data structures 2019-06-24 11:41:10 +08:00
irq.h doc: remove hard-coded interfaces in .rst files 2019-05-22 12:40:52 -07:00
lapic.h doc: remove hard-coded interfaces in .rst files 2019-05-22 12:40:52 -07:00
mmu.h HV: Add flush_address_space API. 2019-06-20 09:32:55 +08:00
msr.h hv: move msr_bitmap from acrn_vm to acrn_vcpu_arch 2019-05-24 11:37:13 +08:00
multiboot.h restruct boot and bsp dir for firmware stuff 2019-05-09 16:33:44 +08:00
page.h hv: add support of EPT mapping of high MMIO 2019-02-28 18:33:11 +08:00
per_cpu.h hv:remove some unnecessary includes 2019-05-16 10:33:01 +08:00
pgtable.h doc: remove hard-coded interfaces in .rst files 2019-05-22 12:40:52 -07:00
security.h Make ibrs_type as internal variable 2018-12-19 09:07:14 +08:00
seed.h hv: seed: refine header file 2019-03-15 14:09:56 +08:00
sgx.h hv: sgx: add basic support to init sgx resource for vm 2019-05-29 11:24:13 +08:00
timer.h hv:move 'udelay' to timer.c 2019-03-22 08:38:13 +08:00
trampoline.h hv:Move severl variable declaration for boot code 2019-01-25 21:32:21 +08:00
vm_config.h HV: remove cpu_num from vm configurations 2019-06-06 15:22:10 +08:00
vmx.h hv: allocate vpid based on vm_id and vcpu_id mapping 2019-04-22 19:57:28 +08:00
vtd.h HV: remove unused function disable_iommu 2019-05-22 16:36:03 +08:00
zeropage.h hv:remove common header files 2019-05-07 09:10:13 +08:00