提交 11af8474 编写于 作者: J Josh Poimboeuf 提交者: Ingo Molnar

x86/unwind: Rename unwinder config options to 'CONFIG_UNWINDER_*'

Rename the unwinder config options from:

  CONFIG_ORC_UNWINDER
  CONFIG_FRAME_POINTER_UNWINDER
  CONFIG_GUESS_UNWINDER

to:

  CONFIG_UNWINDER_ORC
  CONFIG_UNWINDER_FRAME_POINTER
  CONFIG_UNWINDER_GUESS

... in order to give them a more logical config namespace.
Suggested-by: NIngo Molnar <mingo@kernel.org>
Signed-off-by: NJosh Poimboeuf <jpoimboe@redhat.com>
Cc: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Thomas Gleixner <tglx@linutronix.de>
Link: http://lkml.kernel.org/r/73972fc7e2762e91912c6b9584582703d6f1b8cc.1507924831.git.jpoimboe@redhat.comSigned-off-by: NIngo Molnar <mingo@kernel.org>
上级 6edcf572
...@@ -4,7 +4,7 @@ ORC unwinder ...@@ -4,7 +4,7 @@ ORC unwinder
Overview Overview
-------- --------
The kernel CONFIG_ORC_UNWINDER option enables the ORC unwinder, which is The kernel CONFIG_UNWINDER_ORC option enables the ORC unwinder, which is
similar in concept to a DWARF unwinder. The difference is that the similar in concept to a DWARF unwinder. The difference is that the
format of the ORC data is much simpler than DWARF, which in turn allows format of the ORC data is much simpler than DWARF, which in turn allows
the ORC unwinder to be much simpler and faster. the ORC unwinder to be much simpler and faster.
......
...@@ -933,8 +933,8 @@ ifdef CONFIG_STACK_VALIDATION ...@@ -933,8 +933,8 @@ ifdef CONFIG_STACK_VALIDATION
ifeq ($(has_libelf),1) ifeq ($(has_libelf),1)
objtool_target := tools/objtool FORCE objtool_target := tools/objtool FORCE
else else
ifdef CONFIG_ORC_UNWINDER ifdef CONFIG_UNWINDER_ORC
$(error "Cannot generate ORC metadata for CONFIG_ORC_UNWINDER=y, please install libelf-dev, libelf-devel or elfutils-libelf-devel") $(error "Cannot generate ORC metadata for CONFIG_UNWINDER_ORC=y, please install libelf-dev, libelf-devel or elfutils-libelf-devel")
else else
$(warning "Cannot use CONFIG_STACK_VALIDATION=y, please install libelf-dev, libelf-devel or elfutils-libelf-devel") $(warning "Cannot use CONFIG_STACK_VALIDATION=y, please install libelf-dev, libelf-devel or elfutils-libelf-devel")
endif endif
......
...@@ -170,7 +170,7 @@ config X86 ...@@ -170,7 +170,7 @@ config X86
select HAVE_PERF_USER_STACK_DUMP select HAVE_PERF_USER_STACK_DUMP
select HAVE_RCU_TABLE_FREE select HAVE_RCU_TABLE_FREE
select HAVE_REGS_AND_STACK_ACCESS_API select HAVE_REGS_AND_STACK_ACCESS_API
select HAVE_RELIABLE_STACKTRACE if X86_64 && FRAME_POINTER_UNWINDER && STACK_VALIDATION select HAVE_RELIABLE_STACKTRACE if X86_64 && UNWINDER_FRAME_POINTER && STACK_VALIDATION
select HAVE_STACK_VALIDATION if X86_64 select HAVE_STACK_VALIDATION if X86_64
select HAVE_SYSCALL_TRACEPOINTS select HAVE_SYSCALL_TRACEPOINTS
select HAVE_UNSTABLE_SCHED_CLOCK select HAVE_UNSTABLE_SCHED_CLOCK
......
...@@ -358,13 +358,13 @@ config PUNIT_ATOM_DEBUG ...@@ -358,13 +358,13 @@ config PUNIT_ATOM_DEBUG
choice choice
prompt "Choose kernel unwinder" prompt "Choose kernel unwinder"
default FRAME_POINTER_UNWINDER default UNWINDER_FRAME_POINTER
---help--- ---help---
This determines which method will be used for unwinding kernel stack This determines which method will be used for unwinding kernel stack
traces for panics, oopses, bugs, warnings, perf, /proc/<pid>/stack, traces for panics, oopses, bugs, warnings, perf, /proc/<pid>/stack,
livepatch, lockdep, and more. livepatch, lockdep, and more.
config FRAME_POINTER_UNWINDER config UNWINDER_FRAME_POINTER
bool "Frame pointer unwinder" bool "Frame pointer unwinder"
select FRAME_POINTER select FRAME_POINTER
---help--- ---help---
...@@ -379,7 +379,7 @@ config FRAME_POINTER_UNWINDER ...@@ -379,7 +379,7 @@ config FRAME_POINTER_UNWINDER
consistency model, as this is currently the only way to get a consistency model, as this is currently the only way to get a
reliable stack trace (CONFIG_HAVE_RELIABLE_STACKTRACE). reliable stack trace (CONFIG_HAVE_RELIABLE_STACKTRACE).
config ORC_UNWINDER config UNWINDER_ORC
bool "ORC unwinder" bool "ORC unwinder"
depends on X86_64 depends on X86_64
select STACK_VALIDATION select STACK_VALIDATION
...@@ -395,7 +395,7 @@ config ORC_UNWINDER ...@@ -395,7 +395,7 @@ config ORC_UNWINDER
Enabling this option will increase the kernel's runtime memory usage Enabling this option will increase the kernel's runtime memory usage
by roughly 2-4MB, depending on your kernel config. by roughly 2-4MB, depending on your kernel config.
config GUESS_UNWINDER config UNWINDER_GUESS
bool "Guess unwinder" bool "Guess unwinder"
depends on EXPERT depends on EXPERT
---help--- ---help---
...@@ -410,7 +410,7 @@ config GUESS_UNWINDER ...@@ -410,7 +410,7 @@ config GUESS_UNWINDER
endchoice endchoice
config FRAME_POINTER config FRAME_POINTER
depends on !ORC_UNWINDER && !GUESS_UNWINDER depends on !UNWINDER_ORC && !UNWINDER_GUESS
bool bool
endmenu endmenu
CONFIG_NOHIGHMEM=y CONFIG_NOHIGHMEM=y
# CONFIG_HIGHMEM4G is not set # CONFIG_HIGHMEM4G is not set
# CONFIG_HIGHMEM64G is not set # CONFIG_HIGHMEM64G is not set
CONFIG_GUESS_UNWINDER=y CONFIG_UNWINDER_GUESS=y
# CONFIG_FRAME_POINTER_UNWINDER is not set # CONFIG_UNWINDER_FRAME_POINTER is not set
...@@ -299,7 +299,7 @@ CONFIG_DEBUG_STACKOVERFLOW=y ...@@ -299,7 +299,7 @@ CONFIG_DEBUG_STACKOVERFLOW=y
# CONFIG_DEBUG_RODATA_TEST is not set # CONFIG_DEBUG_RODATA_TEST is not set
CONFIG_DEBUG_BOOT_PARAMS=y CONFIG_DEBUG_BOOT_PARAMS=y
CONFIG_OPTIMIZE_INLINING=y CONFIG_OPTIMIZE_INLINING=y
CONFIG_ORC_UNWINDER=y CONFIG_UNWINDER_ORC=y
CONFIG_SECURITY=y CONFIG_SECURITY=y
CONFIG_SECURITY_NETWORK=y CONFIG_SECURITY_NETWORK=y
CONFIG_SECURITY_SELINUX=y CONFIG_SECURITY_SELINUX=y
......
...@@ -5,7 +5,7 @@ ...@@ -5,7 +5,7 @@
#include <asm/orc_types.h> #include <asm/orc_types.h>
struct mod_arch_specific { struct mod_arch_specific {
#ifdef CONFIG_ORC_UNWINDER #ifdef CONFIG_UNWINDER_ORC
unsigned int num_orcs; unsigned int num_orcs;
int *orc_unwind_ip; int *orc_unwind_ip;
struct orc_entry *orc_unwind; struct orc_entry *orc_unwind;
......
...@@ -12,11 +12,11 @@ struct unwind_state { ...@@ -12,11 +12,11 @@ struct unwind_state {
struct task_struct *task; struct task_struct *task;
int graph_idx; int graph_idx;
bool error; bool error;
#if defined(CONFIG_ORC_UNWINDER) #if defined(CONFIG_UNWINDER_ORC)
bool signal, full_regs; bool signal, full_regs;
unsigned long sp, bp, ip; unsigned long sp, bp, ip;
struct pt_regs *regs; struct pt_regs *regs;
#elif defined(CONFIG_FRAME_POINTER_UNWINDER) #elif defined(CONFIG_UNWINDER_FRAME_POINTER)
bool got_irq; bool got_irq;
unsigned long *bp, *orig_sp, ip; unsigned long *bp, *orig_sp, ip;
struct pt_regs *regs; struct pt_regs *regs;
...@@ -50,7 +50,7 @@ void unwind_start(struct unwind_state *state, struct task_struct *task, ...@@ -50,7 +50,7 @@ void unwind_start(struct unwind_state *state, struct task_struct *task,
__unwind_start(state, task, regs, first_frame); __unwind_start(state, task, regs, first_frame);
} }
#if defined(CONFIG_ORC_UNWINDER) || defined(CONFIG_FRAME_POINTER_UNWINDER) #if defined(CONFIG_UNWINDER_ORC) || defined(CONFIG_UNWINDER_FRAME_POINTER)
static inline struct pt_regs *unwind_get_entry_regs(struct unwind_state *state) static inline struct pt_regs *unwind_get_entry_regs(struct unwind_state *state)
{ {
if (unwind_done(state)) if (unwind_done(state))
...@@ -65,7 +65,7 @@ static inline struct pt_regs *unwind_get_entry_regs(struct unwind_state *state) ...@@ -65,7 +65,7 @@ static inline struct pt_regs *unwind_get_entry_regs(struct unwind_state *state)
} }
#endif #endif
#ifdef CONFIG_ORC_UNWINDER #ifdef CONFIG_UNWINDER_ORC
void unwind_init(void); void unwind_init(void);
void unwind_module_init(struct module *mod, void *orc_ip, size_t orc_ip_size, void unwind_module_init(struct module *mod, void *orc_ip, size_t orc_ip_size,
void *orc, size_t orc_size); void *orc, size_t orc_size);
......
...@@ -127,9 +127,9 @@ obj-$(CONFIG_PERF_EVENTS) += perf_regs.o ...@@ -127,9 +127,9 @@ obj-$(CONFIG_PERF_EVENTS) += perf_regs.o
obj-$(CONFIG_TRACING) += tracepoint.o obj-$(CONFIG_TRACING) += tracepoint.o
obj-$(CONFIG_SCHED_MC_PRIO) += itmt.o obj-$(CONFIG_SCHED_MC_PRIO) += itmt.o
obj-$(CONFIG_ORC_UNWINDER) += unwind_orc.o obj-$(CONFIG_UNWINDER_ORC) += unwind_orc.o
obj-$(CONFIG_FRAME_POINTER_UNWINDER) += unwind_frame.o obj-$(CONFIG_UNWINDER_FRAME_POINTER) += unwind_frame.o
obj-$(CONFIG_GUESS_UNWINDER) += unwind_guess.o obj-$(CONFIG_UNWINDER_GUESS) += unwind_guess.o
### ###
# 64 bit specific files # 64 bit specific files
......
...@@ -687,7 +687,7 @@ ...@@ -687,7 +687,7 @@
#define BUG_TABLE #define BUG_TABLE
#endif #endif
#ifdef CONFIG_ORC_UNWINDER #ifdef CONFIG_UNWINDER_ORC
#define ORC_UNWIND_TABLE \ #define ORC_UNWIND_TABLE \
. = ALIGN(4); \ . = ALIGN(4); \
.orc_unwind_ip : AT(ADDR(.orc_unwind_ip) - LOAD_OFFSET) { \ .orc_unwind_ip : AT(ADDR(.orc_unwind_ip) - LOAD_OFFSET) { \
......
...@@ -376,7 +376,7 @@ config STACK_VALIDATION ...@@ -376,7 +376,7 @@ config STACK_VALIDATION
that runtime stack traces are more reliable. that runtime stack traces are more reliable.
This is also a prerequisite for generation of ORC unwind data, which This is also a prerequisite for generation of ORC unwind data, which
is needed for CONFIG_ORC_UNWINDER. is needed for CONFIG_UNWINDER_ORC.
For more information, see For more information, see
tools/objtool/Documentation/stack-validation.txt. tools/objtool/Documentation/stack-validation.txt.
......
...@@ -258,7 +258,7 @@ ifneq ($(SKIP_STACK_VALIDATION),1) ...@@ -258,7 +258,7 @@ ifneq ($(SKIP_STACK_VALIDATION),1)
__objtool_obj := $(objtree)/tools/objtool/objtool __objtool_obj := $(objtree)/tools/objtool/objtool
objtool_args = $(if $(CONFIG_ORC_UNWINDER),orc generate,check) objtool_args = $(if $(CONFIG_UNWINDER_ORC),orc generate,check)
ifndef CONFIG_FRAME_POINTER ifndef CONFIG_FRAME_POINTER
objtool_args += --no-fp objtool_args += --no-fp
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册