acrn-hypervisor/hypervisor/arch/x86/guest
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
..
assign.c hv: tee: x86_tee interrupt support 2021-11-17 15:25:14 +08:00
ept.c ACRN: hv: Terminology modification in hv code 2021-11-02 10:00:55 +08:00
guest_memory.c HV: treewide: fix violations of coding guideline C-TY-27 & C-TY-28 2021-11-04 18:15:47 +08:00
hyperv.c hv/mod_timer: split tsc handling code from timer. 2021-05-18 16:43:28 +08:00
instr_emul.c HV: treewide: fix violations of coding guideline C-TY-02 2021-11-04 18:15:47 +08:00
lock_instr_emul.c hv: Fix vcpu signaling racing problem in lock instruction emulation 2021-11-02 15:01:20 +08:00
nested.c hv: operations on vcpu->reg_cached/reg_updated don't need LOCK prefix 2021-10-08 09:11:10 +08:00
optee.c hv: tee: x86_tee interrupt support 2021-11-17 15:25:14 +08:00
pm.c HV: treewide: fix violations of coding guideline C-TY-27 & C-TY-28 2021-11-04 18:15:47 +08:00
trusty.c hv: remove UUID 2021-11-16 14:42:59 +08:00
ucode.c hv: mod: do not use explicit arch name when including headers 2021-05-08 11:15:46 +08:00
vcat.c hv: vCAT: propagate vCBM to other vCPUs that share cache with vcpu 2021-10-28 19:12:29 +08:00
vcpu.c hv: initialize and save/restore IA32_TSC_AUX MSR for guest 2021-11-12 09:30:12 +08:00
vcpuid.c ACRN: hv: Unify terminology for service vm 2021-11-02 10:00:55 +08:00
ve820.c HV: refine the ve820 tab for pre-VMs 2021-11-08 13:13:14 +08:00
vept.c ACRN: hv: Terminology modification in hv code 2021-11-02 10:00:55 +08:00
virq.c hv: Fix vcpu signaling racing problem in lock instruction emulation 2021-11-02 15:01:20 +08:00
virtual_cr.c HV: treewide: fix violations of coding guideline C-TY-02 2021-11-04 18:15:47 +08:00
vlapic.c HV: treewide: fix warnings raised by Clang 2021-11-04 18:15:47 +08:00
vlapic_priv.h hv: add ops to vlapic structure 2019-07-19 16:47:06 +08:00
vm.c hv: tee: add x86_tee hypercall interfaces 2021-11-17 15:25:14 +08:00
vm_reset.c ACRN: hv: Terminology modification in hv code 2021-11-02 10:00:55 +08:00
vmcall.c hv: tee: add x86_tee hypercall interfaces 2021-11-17 15:25:14 +08:00
vmcs.c hv:change log level for check_vmx_ctrl 2021-09-24 10:17:19 +08:00
vmexit.c HV: treewide: fix warnings raised by Clang 2021-11-04 18:15:47 +08:00
vmsr.c HV: treewide: fix violations of coding guideline C-TY-27 & C-TY-28 2021-11-04 18:15:47 +08:00
vmtrr.c ACRN: hv: Terminology modification in hv code 2021-11-02 10:00:55 +08:00
vmx_asm.S hv: mod: do not use explicit arch name when including headers 2021-05-08 11:15:46 +08:00
vmx_io.c ACRN: hv: Terminology modification in hv code 2021-11-02 10:00:55 +08:00