Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 0fd2e9c5 authored by Ingo Molnar's avatar Ingo Molnar
Browse files

Merge commit 'upstream-x86-entry' into WIP.x86/mm



Pull in a minimal set of v4.15 entry code changes, for a base for the MM isolation patches.

Signed-off-by: default avatarIngo Molnar <mingo@kernel.org>
parents 1784f914 1e4c4f61
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -4,7 +4,7 @@ ORC unwinder
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
format of the ORC data is much simpler than DWARF, which in turn allows
the ORC unwinder to be much simpler and faster.
+2 −2
Original line number Diff line number Diff line
@@ -934,8 +934,8 @@ ifdef CONFIG_STACK_VALIDATION
  ifeq ($(has_libelf),1)
    objtool_target := tools/objtool FORCE
  else
    ifdef CONFIG_ORC_UNWINDER
      $(error "Cannot generate ORC metadata for CONFIG_ORC_UNWINDER=y, please install libelf-dev, libelf-devel or elfutils-libelf-devel")
    ifdef CONFIG_UNWINDER_ORC
      $(error "Cannot generate ORC metadata for CONFIG_UNWINDER_ORC=y, please install libelf-dev, libelf-devel or elfutils-libelf-devel")
    else
      $(warning "Cannot use CONFIG_STACK_VALIDATION=y, please install libelf-dev, libelf-devel or elfutils-libelf-devel")
    endif
+1 −1
Original line number Diff line number Diff line
@@ -171,7 +171,7 @@ config X86
	select HAVE_PERF_USER_STACK_DUMP
	select HAVE_RCU_TABLE_FREE
	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_SYSCALL_TRACEPOINTS
	select HAVE_UNSTABLE_SCHED_CLOCK
+20 −19
Original line number Diff line number Diff line
@@ -359,28 +359,14 @@ config PUNIT_ATOM_DEBUG

choice
	prompt "Choose kernel unwinder"
	default FRAME_POINTER_UNWINDER
	default UNWINDER_ORC if X86_64
	default UNWINDER_FRAME_POINTER if X86_32
	---help---
	  This determines which method will be used for unwinding kernel stack
	  traces for panics, oopses, bugs, warnings, perf, /proc/<pid>/stack,
	  livepatch, lockdep, and more.

config FRAME_POINTER_UNWINDER
	bool "Frame pointer unwinder"
	select FRAME_POINTER
	---help---
	  This option enables the frame pointer unwinder for unwinding kernel
	  stack traces.

	  The unwinder itself is fast and it uses less RAM than the ORC
	  unwinder, but the kernel text size will grow by ~3% and the kernel's
	  overall performance will degrade by roughly 5-10%.

	  This option is recommended if you want to use the livepatch
	  consistency model, as this is currently the only way to get a
	  reliable stack trace (CONFIG_HAVE_RELIABLE_STACKTRACE).

config ORC_UNWINDER
config UNWINDER_ORC
	bool "ORC unwinder"
	depends on X86_64
	select STACK_VALIDATION
@@ -396,7 +382,22 @@ config ORC_UNWINDER
	  Enabling this option will increase the kernel's runtime memory usage
	  by roughly 2-4MB, depending on your kernel config.

config GUESS_UNWINDER
config UNWINDER_FRAME_POINTER
	bool "Frame pointer unwinder"
	select FRAME_POINTER
	---help---
	  This option enables the frame pointer unwinder for unwinding kernel
	  stack traces.

	  The unwinder itself is fast and it uses less RAM than the ORC
	  unwinder, but the kernel text size will grow by ~3% and the kernel's
	  overall performance will degrade by roughly 5-10%.

	  This option is recommended if you want to use the livepatch
	  consistency model, as this is currently the only way to get a
	  reliable stack trace (CONFIG_HAVE_RELIABLE_STACKTRACE).

config UNWINDER_GUESS
	bool "Guess unwinder"
	depends on EXPERT
	---help---
@@ -411,7 +412,7 @@ config GUESS_UNWINDER
endchoice

config FRAME_POINTER
	depends on !ORC_UNWINDER && !GUESS_UNWINDER
	depends on !UNWINDER_ORC && !UNWINDER_GUESS
	bool

endmenu
+2 −2
Original line number Diff line number Diff line
CONFIG_NOHIGHMEM=y
# CONFIG_HIGHMEM4G is not set
# CONFIG_HIGHMEM64G is not set
CONFIG_GUESS_UNWINDER=y
# CONFIG_FRAME_POINTER_UNWINDER is not set
CONFIG_UNWINDER_GUESS=y
# CONFIG_UNWINDER_FRAME_POINTER is not set
Loading