diff options
Diffstat (limited to 'arch/blackfin/Kconfig')
-rw-r--r-- | arch/blackfin/Kconfig | 81 |
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 | ||
1027 | config 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 | |||
1039 | choice | ||
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 | |||
1054 | config DEBUG_BFIN_HWTRACE_COMPRESSION_OFF | ||
1055 | bool "Trace all Loops" | ||
1056 | help | ||
1057 | The trace buffer records all changes of flow | ||
1058 | |||
1059 | config 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 | |||
1065 | config 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 | |||
1071 | endchoice | ||
1072 | |||
1073 | config 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 | |||
1081 | config 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 | |||
1093 | config 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 | |||
1027 | config DEBUG_BFIN_NO_KERN_HWTRACE | 1107 | config 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 |