mirror of
https://github.com/genodelabs/genode.git
synced 2025-04-08 11:55:24 +00:00
hw: cortex a9 diagnostic register fixup
This is a follow-up fix for commit 202333c881199b9f5845ab3ec35ebe521374936f. It checks for the diagnostic registers being already setup correctly. Otherwise on platforms with secure firmware, like Pandaboard it will stuck. Ref #3639
This commit is contained in:
parent
d8bcaa4fa4
commit
256b2fa3e1
@ -120,7 +120,14 @@ unsigned Bootstrap::Platform::enable_mmu()
|
||||
Cpu::Sctlr::init();
|
||||
Cpu::Cpsr::init();
|
||||
Actlr::disable_smp();
|
||||
Cpu::Diag::write(diag_reg);
|
||||
|
||||
/**
|
||||
* this is a workaround for platforms with secure firmware
|
||||
* where it is not allowed to access the diagnostic register from
|
||||
* the non-secure-world, but we expect that the firmware already
|
||||
* set it accordingly
|
||||
*/
|
||||
if (Cpu::Diag::read() != diag_reg) Cpu::Diag::write(diag_reg);
|
||||
|
||||
/* locally initialize interrupt controller */
|
||||
::Board::Pic pic { };
|
||||
|
Loading…
x
Reference in New Issue
Block a user