mirror of
https://github.com/projectacrn/acrn-hypervisor.git
synced 2025-09-28 20:16:09 +00:00
Previous upstreamed patches handles the secure/non-secure interrupts in handle_x86_tee_int. However there is a corner case in which there might be unhandled secure interrupts (in a very short time window) when TEE yields vCPU. For this case we always make sure that no secure interrupts are pending in TEE's vlapic before scheduling REE. Also in previous patches, if non-secure interrupt comes when TEE is handling its secure interrupts, hypervisor injects a predefined vector into TEE's vlapic. TEE does not consume this vector in secure interrupt handling routine so it stays in vIRR, but it should be cleared because the actual interrupt will be consumed in REE after VM Entry. v3: Fix comments on interrupt priority v2: Add comments explaining the priority of secure/non-secure interrupts Tracked-On: #6571 Signed-off-by: Yifan Liu <yifan1.liu@intel.com> Reviewed-by: Wang, Yu1 <yu1.wang@intel.com> Acked-by: Anthony Xu <anthony.xu@intel.com>
ACRN Hypervisor ############### The open source `Project ACRN`_ defines a device hypervisor reference stack and an architecture for running multiple software subsystems, managed securely, on a consolidated system by means of a virtual machine manager. It also defines a reference framework implementation for virtual device emulation, called the "ACRN Device Model". The ACRN Hypervisor is a Type 1 reference hypervisor stack, running directly on the bare-metal hardware, and is suitable for a variety of IoT and embedded device solutions. The ACRN hypervisor addresses the gap that currently exists between datacenter hypervisors, and hard partitioning hypervisors. The ACRN hypervisor architecture partitions the system into different functional domains, with carefully selected guest OS sharing optimizations for IoT and embedded devices. You can find out more about Project ACRN on the `Project ACRN documentation`_ website. .. _`Project ACRN`: https://projectacrn.org .. _`ACRN Hypervisor`: https://github.com/projectacrn/acrn-hypervisor .. _`Project ACRN documentation`: https://projectacrn.github.io/