genode/base-foc/patches/foc_arm_errata.patch

43 lines
1.2 KiB
Diff
Raw Normal View History

Index: kernel/fiasco/src/kern/arm/cpu-arm.cpp
===================================================================
--- kernel/fiasco/src/kern/arm/cpu-arm.cpp (revision 40)
+++ kernel/fiasco/src/kern/arm/cpu-arm.cpp (working copy)
@@ -428,9 +428,15 @@
void Cpu::init_errata_workarounds() {}
//---------------------------------------------------------------------------
-IMPLEMENTATION [arm && armv6plus]:
+IMPLEMENTATION [arm && armv6plus && omap4_pandaboard]:
PRIVATE static inline
+void Cpu::init_errata_workarounds() {}
+
+//---------------------------------------------------------------------------
+IMPLEMENTATION [arm && armv6plus && !omap4_pandaboard]:
+
+PRIVATE static inline
void
Cpu::set_actrl(Mword bit_mask)
{
@@ -494,8 +500,8 @@
if (rev == 0x20 || rev == 0x21 || rev == 0x22)
set_c15_c0_1((1 << 12) | (1 << 22));
- // errata: 743622
- if ((rev & 0xf0) == 0x20)
+ // errata: 743622 (r2p0 - r2p2)
+ if ((rev & 0xf0) == 0x20 && (rev & 0xf) < 0x3)
set_c15_c0_1(1 << 6);
// errata: 751472
@@ -505,6 +511,9 @@
}
}
+//---------------------------------------------------------------------------
+IMPLEMENTATION [arm && armv6plus]:
+
IMPLEMENT
void
Cpu::id_init()