From ba321c20d15a6318e5dcbdac73c0905fa47bcfbd Mon Sep 17 00:00:00 2001 From: Martin Stein Date: Tue, 6 Jan 2015 14:59:44 +0100 Subject: [PATCH] hw vea9x4: let userland timer SP804 0/1 be secure Declaring the SP804 0/1 module and its interrupt to be non-secure prevents the secure Genode from receiving the interrupt and hence the timer driver in the secure Genode doesn't work. Fixes #1340 --- .../base-hw/src/core/spec/vea9x4/trustzone/platform_support.cc | 1 - repos/os/src/server/tz_vmm/vea9x4/tsc_380.h | 3 ++- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/repos/base-hw/src/core/spec/vea9x4/trustzone/platform_support.cc b/repos/base-hw/src/core/spec/vea9x4/trustzone/platform_support.cc index e792d12d6..8a90987a7 100644 --- a/repos/base-hw/src/core/spec/vea9x4/trustzone/platform_support.cc +++ b/repos/base-hw/src/core/spec/vea9x4/trustzone/platform_support.cc @@ -41,7 +41,6 @@ void Kernel::init_trustzone(Pic * pic) Cpu::allow_coprocessor_nonsecure(); /* set unsecure IRQs */ - pic->unsecure(34); //Timer 0/1 pic->unsecure(35); //Timer 2/3 pic->unsecure(36); //RTC pic->unsecure(37); //UART0 diff --git a/repos/os/src/server/tz_vmm/vea9x4/tsc_380.h b/repos/os/src/server/tz_vmm/vea9x4/tsc_380.h index c1daa42e3..8b321b4c8 100644 --- a/repos/os/src/server/tz_vmm/vea9x4/tsc_380.h +++ b/repos/os/src/server/tz_vmm/vea9x4/tsc_380.h @@ -168,7 +168,7 @@ class Tsc_380 : Genode::Mmio write::Subreg5>(1); write::Subreg6>(1); - /* Access to SP804, and RTC */ + /* Access to SP804 2/3, and RTC */ write >(0x10010000); write >(0x10018000); write::Enable>(1); @@ -178,6 +178,7 @@ class Tsc_380 : Genode::Mmio write::Secure_read>(1); write::Secure_write>(1); write::Subreg0>(1); + write::Subreg1>(1); write::Subreg3>(1); write::Subreg4>(1); write::Subreg5>(1);