aboutsummaryrefslogtreecommitdiffstats
path: root/arch/blackfin/Kconfig
diff options
context:
space:
mode:
authorMike Frysinger <michael.frysinger@analog.com>2007-11-21 10:50:49 -0500
committerBryan Wu <bryan.wu@analog.com>2007-11-21 10:50:49 -0500
commit74ce8322bf8843e6fd04e081d361c107bcf73564 (patch)
tree3929ea610869c28cad8b7130588efeda9e7cbf5a /arch/blackfin/Kconfig
parent529a73fbaeee2f3bd932be8b54665994133be6ae (diff)
Blackfin arch: split debug stuff off into Kconfig.debug like everyone else
Signed-off-by: Mike Frysinger <michael.frysinger@analog.com> Signed-off-by: Bryan Wu <bryan.wu@analog.com>
Diffstat (limited to 'arch/blackfin/Kconfig')
-rw-r--r--arch/blackfin/Kconfig169
1 files changed, 1 insertions, 168 deletions
diff --git a/arch/blackfin/Kconfig b/arch/blackfin/Kconfig
index 6afcf2b8f743..b9043ee52804 100644
--- a/arch/blackfin/Kconfig
+++ b/arch/blackfin/Kconfig
@@ -982,174 +982,7 @@ source "fs/Kconfig"
982 982
983source "kernel/Kconfig.instrumentation" 983source "kernel/Kconfig.instrumentation"
984 984
985menu "Kernel hacking" 985source "arch/blackfin/Kconfig.debug"
986
987source "lib/Kconfig.debug"
988
989config DEBUG_HWERR
990 bool "Hardware error interrupt debugging"
991 depends on DEBUG_KERNEL
992 help
993 When enabled, the hardware error interrupt is never disabled, and
994 will happen immediately when an error condition occurs. This comes
995 at a slight cost in code size, but is necessary if you are getting
996 hardware error interrupts and need to know where they are coming
997 from.
998
999config DEBUG_ICACHE_CHECK
1000 bool "Check Instruction cache coherency"
1001 depends on DEBUG_KERNEL
1002 depends on DEBUG_HWERR
1003 help
1004 Say Y here if you are getting weird unexplained errors. This will
1005 ensure that icache is what SDRAM says it should be by doing a
1006 byte wise comparison between SDRAM and instruction cache. This
1007 also relocates the irq_panic() function to L1 memory, (which is
1008 un-cached).
1009
1010config DEBUG_HUNT_FOR_ZERO
1011 bool "Catch NULL pointer reads/writes"
1012 default y
1013 help
1014 Say Y here to catch reads/writes to anywhere in the memory range
1015 from 0x0000 - 0x0FFF (the first 4k) of memory. This is useful in
1016 catching common programming errors such as NULL pointer dereferences.
1017
1018 Misbehaving applications will be killed (generate a SEGV) while the
1019 kernel will trigger a panic.
1020
1021 Enabling this option will take up an extra entry in CPLB table.
1022 Otherwise, there is no extra overhead.
1023
1024config DEBUG_BFIN_HWTRACE_ON
1025 bool "Turn on Blackfin's Hardware Trace"
1026 default y
1027 help
1028 All Blackfins include a Trace Unit which stores a history of the last
1029 16 changes in program flow taken by the program sequencer. The history
1030 allows the user to recreate the program sequencer’s recent path. This
1031 can be handy when an application dies - we print out the execution
1032 path of how it got to the offending instruction.
1033
1034 By turning this off, you may save a tiny amount of power.
1035
1036choice
1037 prompt "Omit loop Tracing"
1038 default DEBUG_BFIN_HWTRACE_COMPRESSION_OFF
1039 depends on DEBUG_BFIN_HWTRACE_ON
1040 help
1041 The trace buffer can be configured to omit recording of changes in
1042 program flow that match either the last entry or one of the last
1043 two entries. Omitting one of these entries from the record prevents
1044 the trace buffer from overflowing because of any sort of loop (for, do
1045 while, etc) in the program.
1046
1047 Because zero-overhead Hardware loops are not recorded in the trace buffer,
1048 this feature can be used to prevent trace overflow from loops that
1049 are nested four deep.
1050
1051config DEBUG_BFIN_HWTRACE_COMPRESSION_OFF
1052 bool "Trace all Loops"
1053 help
1054 The trace buffer records all changes of flow
1055
1056config DEBUG_BFIN_HWTRACE_COMPRESSION_ONE
1057 bool "Compress single-level loops"
1058 help
1059 The trace buffer does not record single loops - helpful if trace
1060 is spinning on a while or do loop.
1061
1062config DEBUG_BFIN_HWTRACE_COMPRESSION_TWO
1063 bool "Compress two-level loops"
1064 help
1065 The trace buffer does not record loops two levels deep. Helpful if
1066 the trace is spinning in a nested loop
1067
1068endchoice
1069
1070config DEBUG_BFIN_HWTRACE_COMPRESSION
1071 int
1072 depends on DEBUG_BFIN_HWTRACE_ON
1073 default 0 if DEBUG_BFIN_HWTRACE_COMPRESSION_OFF
1074 default 1 if DEBUG_BFIN_HWTRACE_COMPRESSION_ONE
1075 default 2 if DEBUG_BFIN_HWTRACE_COMPRESSION_TWO
1076
1077
1078config DEBUG_BFIN_HWTRACE_EXPAND
1079 bool "Expand Trace Buffer greater than 16 entries"
1080 depends on DEBUG_BFIN_HWTRACE_ON
1081 default n
1082 help
1083 By selecting this option, every time the 16 hardware entries in
1084 the Blackfin's HW Trace buffer are full, the kernel will move them
1085 into a software buffer, for dumping when there is an issue. This
1086 has a great impact on performance, (an interrupt every 16 change of
1087 flows) and should normally be turned off, except in those nasty
1088 debugging sessions
1089
1090config DEBUG_BFIN_HWTRACE_EXPAND_LEN
1091 int "Size of Trace buffer (in power of 2k)"
1092 range 0 4
1093 depends on DEBUG_BFIN_HWTRACE_EXPAND
1094 default 1
1095 help
1096 This sets the size of the software buffer that the trace information
1097 is kept in.
1098 0 for (2^0) 1k, or 256 entries,
1099 1 for (2^1) 2k, or 512 entries,
1100 2 for (2^2) 4k, or 1024 entries,
1101 3 for (2^3) 8k, or 2048 entries,
1102 4 for (2^4) 16k, or 4096 entries
1103
1104config DEBUG_BFIN_NO_KERN_HWTRACE
1105 bool "Trace user apps (turn off hwtrace in kernel)"
1106 depends on DEBUG_BFIN_HWTRACE_ON
1107 default n
1108 help
1109 Some pieces of the kernel contain a lot of flow changes which can
1110 quickly fill up the hardware trace buffer. When debugging crashes,
1111 the hardware trace may indicate that the problem lies in kernel
1112 space when in reality an application is buggy.
1113
1114 Say Y here to disable hardware tracing in some known "jumpy" pieces
1115 of code so that the trace buffer will extend further back.
1116
1117config EARLY_PRINTK
1118 bool "Early printk"
1119 default n
1120 help
1121 This option enables special console drivers which allow the kernel
1122 to print messages very early in the bootup process.
1123
1124 This is useful for kernel debugging when your machine crashes very
1125 early before the console code is initialized. After enabling this
1126 feature, you must add "earlyprintk=serial,uart0,57600" to the
1127 command line (bootargs). It is safe to say Y here in all cases, as
1128 all of this lives in the init section and is thrown away after the
1129 kernel boots completely.
1130
1131config DUAL_CORE_TEST_MODULE
1132 tristate "Dual Core Test Module"
1133 depends on (BF561)
1134 default n
1135 help
1136 Say Y here to build-in dual core test module for dual core test.
1137
1138config CPLB_INFO
1139 bool "Display the CPLB information"
1140 help
1141 Display the CPLB information.
1142
1143config ACCESS_CHECK
1144 bool "Check the user pointer address"
1145 default y
1146 help
1147 Usually the pointer transfer from user space is checked to see if its
1148 address is in the kernel space.
1149
1150 Say N here to disable that check to improve the performance.
1151
1152endmenu
1153 986
1154source "security/Kconfig" 987source "security/Kconfig"
1155 988