commit | 35e452f9a15fedcb2dfec3b2c6dd46e7d302e2b8 | [log] [tgz] |
---|---|---|
author | Manish Pandey <manish.pandey2@arm.com> | Thu Feb 18 21:36:34 2021 +0000 |
committer | Olivier Deprez <olivier.deprez@arm.com> | Wed Apr 14 18:00:15 2021 +0200 |
tree | b315e452951dfd301ab1983748599ba6d75c364c | |
parent | 63c23a0010d358e412c104db8f83a870975d9c9e [diff] |
Provide support for FIQ interrupts This patch introduces support for FIQ virtual interrupts by adding an "interrupt type" configuration for each INTID. Following changes are done: - Helpers added to inject a virtual FIQ by setting HCR_EL2.VF - hf_interrupt_enable hypervisor call updated with a new "interrupt type" argument Nominally, we intend to signal an NS interrupt to a SP as a virtual FIQ using GICv3. The same interrupt can be signaled as a virtual IRQ if such option is passed in the Hafnium interrupt enable call. The reasoning is to ease migration of TEEs relying on receiving physical Group1 NS/Group0 interrupts as FIQ (or foreign interrupts). The same TEE now running as a Secure Partition receives a virtual FIQ for a NS interrupt (or Group0 interrupt). As mentioned above, there is also the flexibility to receive all interrupts (Group1 S/Group1 NS/Group0) to the same vIRQ vector. Change-Id: I78daf1ae226ea9cc01f65da36ae31ed9fff84f42 Signed-off-by: Manish Pandey <manish.pandey2@arm.com> Signed-off-by: Olivier Deprez <olivier.deprez@arm.com>
Hafnium is a hypervisor, initially supporting aarch64 (64-bit Armv8 CPUs).
Get in touch and keep up-to-date at hafnium@lists.trustedfirmware.org. See feature requests and bugs on our bug dashboard.
To jump in and build Hafnium, follow the getting started instructions.
If you want to contribute to the project, see details of how we accept contributions.
More documentation is available on: