acrn-hypervisor/hypervisor/include/arch/x86/asm
Jie Deng e97b171ca2 hv: tee: x86_tee interrupt support
Secure interrupt (interrupt belongs to TEE) comes
when TEE vcpu is running, the interrupt will be
injected to TEE directly. But when REE vcpu is running
at that time, we need to switch to TEE for handling.

Non-Secure interrupt (interrupt belongs to REE) comes
when REE vcpu is running, the interrupt will be injected
to REE directly. But when TEE vcpu is running at that time,
we need to inject a predefined vector to TEE for notification
and continue to switch back to TEE for running.

To sum up, when secure interrupt comes, switch to TEE
immediately regardless of whether REE is running or not;
when non-Secure interrupt comes and TEE is running,
just notify the TEE and keep it running, TEE will switch
to REE on its own initiative after completing its work.

Tracked-On: projectacrn#6571
Signed-off-by: Jie Deng <jie.deng@intel.com>
Reviewed-by: Wang, Yu1 <yu1.wang@intel.com>
Acked-by: Eddie Dong <eddie.dong@Intel.com>
2021-11-17 15:25:14 +08:00
..
boot hv: remove CONFIG_HV_RAM_SIZE 2021-10-14 15:04:36 +08:00
guest hv: tee: x86_tee interrupt support 2021-11-17 15:25:14 +08:00
lib HV: treewide: fix violations of coding guideline C-TY-12 2021-11-04 18:15:47 +08:00
apicreg.h hv: vlapic: wrap a function to calculate destination vcpu mask by shorthand 2021-05-24 10:27:32 +08:00
board.h hv: mod: do not use explicit arch name when including headers 2021-05-08 11:15:46 +08:00
cpu_caps.h HV: re-use split-lock emulation code for uc-lock 2021-07-21 11:25:47 +08:00
cpu.h hv: initialize and save/restore IA32_TSC_AUX MSR for guest 2021-11-12 09:30:12 +08:00
cpufeatures.h hv: Support WAITPKG instructions in guest VM 2021-05-13 14:19:50 +08:00
cpuid.h hv: mod: do not use explicit arch name when including headers 2021-05-08 11:15:46 +08:00
default_acpi_info.h hv: mod: do not use explicit arch name when including headers 2021-05-08 11:15:46 +08:00
e820.h hv: enhance e820_alloc_memory could allocate memory than 4G 2021-10-14 15:04:36 +08:00
gdt.h hv: mod: do not use explicit arch name when including headers 2021-05-08 11:15:46 +08:00
host_pm.h hv: dm: Use new power management data structures 2021-07-15 11:53:54 +08:00
idt.h hv: mod: do not use explicit arch name when including headers 2021-05-08 11:15:46 +08:00
init.h hv: mod: do not use explicit arch name when including headers 2021-05-08 11:15:46 +08:00
io.h hv: mod: do not use explicit arch name when including headers 2021-05-08 11:15:46 +08:00
ioapic.h hv: mod: do not use explicit arch name when including headers 2021-05-08 11:15:46 +08:00
irq.h hv: dm: Use new I/O request data structures 2021-07-15 11:53:54 +08:00
lapic.h hv: mod: do not use explicit arch name when including headers 2021-05-08 11:15:46 +08:00
mmu.h HV: treewide: fix violations of coding guideline C-TY-27 & C-TY-28 2021-11-04 18:15:47 +08:00
msr.h HV: treewide: fix violations of coding guideline C-TY-27 & C-TY-28 2021-11-04 18:15:47 +08:00
notify.h hv: mod: do not use explicit arch name when including headers 2021-05-08 11:15:46 +08:00
page.h hv: use per platform maximum physical address width 2021-08-20 11:02:21 +08:00
pci_dev.h hv: mod: do not use explicit arch name when including headers 2021-05-08 11:15:46 +08:00
per_cpu.h hv: add priority based scheduler 2021-09-24 09:32:18 +08:00
pgtable.h hv: ivshmem: map SHM BAR with PAT ignored 2021-08-13 11:17:15 +08:00
platform_caps.h hv: mod: do not use explicit arch name when including headers 2021-05-08 11:15:46 +08:00
rdt.h hv: vCAT: initialize vCAT MSRs during vmcs init 2021-10-28 19:12:29 +08:00
rtcm.h hv: update RTCT ACPI table detecting 2021-06-01 08:22:20 +08:00
rtct.h HV: refine the ve820 tab for pre-VMs 2021-11-08 13:13:14 +08:00
security.h hv: mod: do not use explicit arch name when including headers 2021-05-08 11:15:46 +08:00
seed.h hv: mod: do not use explicit arch name when including headers 2021-05-08 11:15:46 +08:00
sgx.h hv: mod: do not use explicit arch name when including headers 2021-05-08 11:15:46 +08:00
trampoline.h hv: mod: do not use explicit arch name when including headers 2021-05-08 11:15:46 +08:00
tsc.h doc: update timer HLD doc after modularization 2021-06-09 17:11:25 -04:00
vm_config.h hv: tee: Support the concept of companion VM 2021-11-17 15:25:14 +08:00
vmx.h hv: Use 64 bits definition for 64 bits MSR_IA32_VMX_EPT_VPID_CAP operation 2021-07-02 09:24:12 +08:00
vtd.h hv: align the MAX_IR_ENTRIES to MAX_PT_IRQ_ENTRIES 2021-11-15 09:00:27 +08:00
zeropage.h HV: place kernel and ramdisk by find_space_from_ve820() 2021-06-11 10:06:02 +08:00