From 818a435e9efa5b48fe396a1e88c09a3d1c3cc9b7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Reinier=20Millo=20S=C3=A1nchez?= Date: Fri, 5 Jun 2015 00:05:47 -0400 Subject: [PATCH] foc: handle IRQ in TrustZone's normal side with security extensions Fix #13 --- kernel/fiasco/src/drivers/arm/processor-arm.cpp | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) diff --git a/kernel/fiasco/src/drivers/arm/processor-arm.cpp b/kernel/fiasco/src/drivers/arm/processor-arm.cpp index 5ed83314..3f28e68a 100644 --- a/kernel/fiasco/src/drivers/arm/processor-arm.cpp +++ b/kernel/fiasco/src/drivers/arm/processor-arm.cpp @@ -23,7 +23,7 @@ public: static Cpu_phys_id cpu_id(); }; -INTERFACE[arm && !arm_em_tz]: +INTERFACE[arm && !arm_em_tz && !arm_em_ns]: EXTENSION class Proc { @@ -53,6 +53,21 @@ public: }; }; +INTERFACE[arm && arm_em_ns]: + +EXTENSION class Proc +{ +public: + enum : unsigned + { + Cli_mask = Status_IRQ_disabled, + Sti_mask = Status_IRQ_disabled, + Status_preempt_disabled = Status_IRQ_disabled, + Status_interrupts_mask = Status_IRQ_disabled, + Status_always_mask = Status_FIQ_disabled, + }; +}; + IMPLEMENTATION[arm]: #include "types.h"