Agilex™ 7 Hard Processor System Technical Reference Manual

ID 683567
Date 8/13/2024
Public
Document Table of Contents

3.5.2.1. Virtual Interrupts

Each virtual interrupt corresponds to a physical interrupt.

When a virtual interrupt is enabled, its corresponding physical exception is taken to EL2, unless EL3 has configured that physical exception to be taken to EL3.

Table 32.  Virtual Interrupts
Physical Interrupt Corresponding Virtual Interrupt
SError Virtual SError
IRQ Virtual IRQ
FIQ Virtual FIQ

Software executing in EL2 can use virtual interrupts to signal physical interrupts to non-secure EL1 and non-secure EL0.

An example of a virtual interrupt model follows:
  1. Software executing at EL2 routes a physical interrupt to EL2.
  2. When a physical interrupt of that type occurs, the exception handler executing in EL2 determines whether the interrupt can be handled in EL2 or requires routing to a guest OS in EL1. If an interrupt requires routing to a guest OS and the guest OS is running, the hypervisor asserts the appropriate virtual interrupt to signal the physical interrupt to the guest OS. If the guest OS is not running, the physical interrupt is marked as pending for the guest OS. When the hypervisor next switches to the virtual machine that is running that guest OS, the hypervisor uses the appropriate virtual interrupt type to signal the physical interrupt to the guest OS.
A hypervisor can prevent non-secure EL1 and non-secure EL0 from distinguishing a virtual interrupt from a physical interrupt.