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.cputype77
1 files changed, 77 insertions, 0 deletions
diff --git a/arch/powerpc/platforms/Kconfig.cputype b/arch/powerpc/platforms/Kconfig.cputype
index 54f3936..57e32a3 100644
--- a/arch/powerpc/platforms/Kconfig.cputype
+++ b/arch/powerpc/platforms/Kconfig.cputype
@@ -158,12 +158,89 @@ config E500
config PPC_E500MC
bool "e500mc Support"
select PPC_FPU
+ select COMMON_CLK
depends on E500
help
This must be enabled for running on e500mc (and derivatives
such as e5500/e6500), and must be disabled for running on
e500v1 or e500v2.
+config FSL_ERRATUM_A_004801
+ bool "Work around erratum A-004801"
+ depends on PPC_E500MC
+ default y
+ help
+ This works around erratum A-004801 by having invalidations
+ use the same lock as TLB writes.
+
+ Say Y if if you need to be able to run on rev1 silicon.
+
+config FSL_ERRATUM_A_005337
+ bool "Work around erratum A-005337 (no hw tablewalk)"
+ depends on PPC_E500MC
+ default y
+ help
+ This works around erratum A-005337 by not using hardware tablewalk,
+ even if the hardware advertises it as present.
+
+ Say Y if if you need to be able to run on rev1 silicon, otherwise
+ say N for better performance.
+
+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 PPC_DISABLE_THREADS
+ bool "Avoid the use of hardware threads"
+ help
+ Define this if running e6500 rev1 to avoid bugs
+ relating to hardware threads.
+
+config FSL_ERRATUM_A_006198
+ bool "Work around e6500 rev1 erratum A-006198"
+ depends on PPC_E500MC && !PPC_DISABLE_THREADS
+ help
+ Define this if running e6500 rev1, to avoid a source
+ of hangs due to CPU erratum A-006198.
+
config PPC_FPU
bool
default y if PPC64