aboutsummaryrefslogtreecommitdiffstats
path: root/arch/blackfin/Kconfig
diff options
context:
space:
mode:
Diffstat (limited to 'arch/blackfin/Kconfig')
-rw-r--r--arch/blackfin/Kconfig81
1 files changed, 81 insertions, 0 deletions
diff --git a/arch/blackfin/Kconfig b/arch/blackfin/Kconfig
index 9ce675e80260..a7a6e0c5827d 100644
--- a/arch/blackfin/Kconfig
+++ b/arch/blackfin/Kconfig
@@ -1024,8 +1024,89 @@ config DEBUG_HUNT_FOR_ZERO
1024 Enabling this option will take up an extra entry in CPLB table. 1024 Enabling this option will take up an extra entry in CPLB table.
1025 Otherwise, there is no extra overhead. 1025 Otherwise, there is no extra overhead.
1026 1026
1027config DEBUG_BFIN_HWTRACE_ON
1028 bool "Turn on Blackfin's Hardware Trace"
1029 default y
1030 help
1031 All Blackfins include a Trace Unit which stores a history of the last
1032 16 changes in program flow taken by the program sequencer. The history
1033 allows the user to recreate the program sequencer’s recent path. This
1034 can be handy when an application dies - we print out the execution
1035 path of how it got to the offending instruction.
1036
1037 By turning this off, you may save a tiny amount of power.
1038
1039choice
1040 prompt "Omit loop Tracing"
1041 default DEBUG_BFIN_HWTRACE_COMPRESSION_OFF
1042 depends on DEBUG_BFIN_HWTRACE_ON
1043 help
1044 The trace buffer can be configured to omit recording of changes in
1045 program flow that match either the last entry or one of the last
1046 two entries. Omitting one of these entries from the record prevents
1047 the trace buffer from overflowing because of any sort of loop (for, do
1048 while, etc) in the program.
1049
1050 Because zero-overhead Hardware loops are not recorded in the trace buffer,
1051 this feature can be used to prevent trace overflow from loops that
1052 are nested four deep.
1053
1054config DEBUG_BFIN_HWTRACE_COMPRESSION_OFF
1055 bool "Trace all Loops"
1056 help
1057 The trace buffer records all changes of flow
1058
1059config DEBUG_BFIN_HWTRACE_COMPRESSION_ONE
1060 bool "Compress single-level loops"
1061 help
1062 The trace buffer does not record single loops - helpful if trace
1063 is spinning on a while or do loop.
1064
1065config DEBUG_BFIN_HWTRACE_COMPRESSION_TWO
1066 bool "Compress two-level loops"
1067 help
1068 The trace buffer does not record loops two levels deep. Helpful if
1069 the trace is spinning in a nested loop
1070
1071endchoice
1072
1073config DEBUG_BFIN_HWTRACE_COMPRESSION
1074 int
1075 depends on DEBUG_BFIN_HWTRACE_ON
1076 default 0 if DEBUG_BFIN_HWTRACE_COMPRESSION_OFF
1077 default 1 if DEBUG_BFIN_HWTRACE_COMPRESSION_ONE
1078 default 2 if DEBUG_BFIN_HWTRACE_COMPRESSION_TWO
1079
1080
1081config DEBUG_BFIN_HWTRACE_EXPAND
1082 bool "Expand Trace Buffer greater than 16 entries"
1083 depends on DEBUG_BFIN_HWTRACE_ON
1084 default n
1085 help
1086 By selecting this option, every time the 16 hardware entries in
1087 the Blackfin's HW Trace buffer are full, the kernel will move them
1088 into a software buffer, for dumping when there is an issue. This
1089 has a great impact on performance, (an interrupt every 16 change of
1090 flows) and should normally be turned off, except in those nasty
1091 debugging sessions
1092
1093config DEBUG_BFIN_HWTRACE_EXPAND_LEN
1094 int "Size of Trace buffer (in power of 2k)"
1095 range 0 4
1096 depends on DEBUG_BFIN_HWTRACE_EXPAND
1097 default 1
1098 help
1099 This sets the size of the software buffer that the trace information
1100 is kept in.
1101 0 for (2^0) 1k, or 256 entries,
1102 1 for (2^1) 2k, or 512 entries,
1103 2 for (2^2) 4k, or 1024 entries,
1104 3 for (2^3) 8k, or 2048 entries,
1105 4 for (2^4) 16k, or 4096 entries
1106
1027config DEBUG_BFIN_NO_KERN_HWTRACE 1107config DEBUG_BFIN_NO_KERN_HWTRACE
1028 bool "Trace user apps (turn off hwtrace in kernel)" 1108 bool "Trace user apps (turn off hwtrace in kernel)"
1109 depends on DEBUG_BFIN_HWTRACE_ON
1029 default n 1110 default n
1030 help 1111 help
1031 Some pieces of the kernel contain a lot of flow changes which can 1112 Some pieces of the kernel contain a lot of flow changes which can