| 1 | choice |
| 2 | prompt "Choose kernel unwinder" |
| 3 | default UNWINDER_PROLOGUE if KALLSYMS |
| 4 | help |
| 5 | This determines which method will be used for unwinding kernel stack |
| 6 | traces for panics, oopses, bugs, warnings, perf, /proc/<pid>/stack, |
| 7 | lockdep, and more. |
| 8 | |
| 9 | config UNWINDER_GUESS |
| 10 | bool "Guess unwinder" |
| 11 | help |
| 12 | This option enables the "guess" unwinder for unwinding kernel stack |
| 13 | traces. It scans the stack and reports every kernel text address it |
| 14 | finds. Some of the addresses it reports may be incorrect. |
| 15 | |
| 16 | While this option often produces false positives, it can still be |
| 17 | useful in many cases. |
| 18 | |
| 19 | config UNWINDER_PROLOGUE |
| 20 | bool "Prologue unwinder" |
| 21 | depends on KALLSYMS |
| 22 | help |
| 23 | This option enables the "prologue" unwinder for unwinding kernel stack |
| 24 | traces. It unwind the stack frame based on prologue code analyze. Symbol |
| 25 | information is needed, at least the address and length of each function. |
| 26 | Some of the addresses it reports may be incorrect (but better than the |
| 27 | Guess unwinder). |
| 28 | |
| 29 | config UNWINDER_ORC |
| 30 | bool "ORC unwinder" |
| 31 | depends on HAVE_OBJTOOL |
| 32 | select OBJTOOL |
| 33 | help |
| 34 | This option enables the ORC (Oops Rewind Capability) unwinder for |
| 35 | unwinding kernel stack traces. It uses a custom data format which is |
| 36 | a simplified version of the DWARF Call Frame Information standard. |
| 37 | |
| 38 | Enabling this option will increase the kernel's runtime memory usage |
| 39 | by roughly 2-4MB, depending on your kernel config. |
| 40 | |
| 41 | endchoice |