summaryrefslogtreecommitdiff
path: root/arch/powerpc/platforms/Kconfig.cputype
diff options
context:
space:
mode:
Diffstat (limited to 'arch/powerpc/platforms/Kconfig.cputype')
-rw-r--r--arch/powerpc/platforms/Kconfig.cputype42
1 files changed, 42 insertions, 0 deletions
diff --git a/arch/powerpc/platforms/Kconfig.cputype b/arch/powerpc/platforms/Kconfig.cputype
index 421bae9..550ceba 100644
--- a/arch/powerpc/platforms/Kconfig.cputype
+++ b/arch/powerpc/platforms/Kconfig.cputype
@@ -174,6 +174,48 @@ config PPC_E6500_REV1_BUGS
Do not define this if you are running on a simulator or rev2,
and want features like hardware tablewalk.
+config FSL_ERRATUM_A_006184
+ bool "Work around erratum A-006184"
+ help
+ Define this to work around erratum A-006184 ("Simultaneous
+ Instruction L1 MMU miss (due to eviction) and interrupt
+ servicing can cause a core hang"). This erratum affects
+ e500v1, e500v2, e500mc, and e5500. The workaround will
+ cause a watchdog interrupt to occur periodically. It will
+ not avoid the hang described by the erratum, but it will
+ recover from it when the next watchdog interrupt expires.
+
+ The normal watchdog functionality cannot be used when this
+ workaround is enabled.
+
+ If you are running Linux as the guest of a hypervisor, you
+ should enable this (or a similar workaround) in the host
+ instead.
+
+ Note that it is believed that it is unlikely that the hang
+ will be encountered in normal Linux operation. Running KVM
+ or using hugetlbfs could increase the chance of seeing the
+ hang.
+
+config FSL_ERRATUM_A_006184_PERIOD
+ int "Watchdog period for A-006184 workaround"
+ range 32 52
+ default 43
+ help
+ This is the watchdog period to be used for the A-006184
+ workaround. The watchdog will fire whenever the bit selected
+ transitions from 0 to 1 in the time base. The bits are
+ numbered with 0 starting at the most-signficant end --
+ larger numbers give a more frequent period.
+
+ The period must be set longer than the non-idle decrementer
+ period, to ensure that the watchdog interrupt only actually
+ happens when stuck -- but the longer the period, the worse the
+ latency will be if a hang does occur. Long decrementer
+ timeouts when idle due to CONFIG_NO_HZ should not be a problem,
+ since when idle we will always have just executed from the main
+ kernel mapping, so it should not be absent from the L1 I-MMU.
+
config FSL_ERRATUM_A_006198
bool "Work around e6500 rev1 erratum A-006198"
depends on PPC_E500MC