Commit 17a05c8f authored by Linus Torvalds's avatar Linus Torvalds
Browse files

Merge tag 'xtensa-20220523' of https://github.com/jcmvbkbc/linux-xtensa

Pull xtensa architecture updates from Max Filippov:

 - support coprocessors on SMP

 - support KCSAN

 - support handling protection faults in noMMU configurations

 - support using coprocessors in the kernel mode

 - support hibernation

 - enable context tracking

 - enable HAVE_VIRT_CPU_ACCOUNTING_GEN

 - support division by 0 exception on cores without HW division option

 - clean up locking in the ISS network driver

 - clean up kernel entry assemly code

 - various minor fixes

* tag 'xtensa-20220523' of https://github.com/jcmvbkbc/linux-xtensa: (36 commits)
  xtensa: Return true/false (not 1/0) from bool function
  xtensa: improve call0 ABI probing
  xtensa: support artificial division by 0 exception
  xtensa: add trap handler for division by zero
  xtensa/simdisk: fix proc_read_simdisk()
  xtensa: no need to initialise statics to 0
  xtensa: clean up labels in the kernel entry assembly
  xtensa: don't leave invalid TLB entry in fast_store_prohibited
  xtensa: fix declaration of _SecondaryResetVector_text_*
  irqchip: irq-xtensa-mx: fix initial IRQ affinity
  xtensa: enable ARCH_HAS_DEBUG_VM_PGTABLE
  xtensa: add hibernation support
  xtensa: support coprocessors on SMP
  xtensa: get rid of stack frame in coprocessor_flush
  xtensa: merge SAVE_CP_REGS_TAB and LOAD_CP_REGS_TAB
  xtensa: add xtensa_xsr macro
  xtensa: handle coprocessor exceptions in kernel mode
  xtensa: use callx0 opcode in fast_coprocessor
  xtensa: clean up excsave1 initialization
  xtensa: clean up declarations in coprocessor.h
  ...
parents d6130604 dc60001e
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -27,5 +27,5 @@
    |       sparc: | TODO |
    |          um: | TODO |
    |         x86: |  ok  |
    |      xtensa: | TODO |
    |      xtensa: |  ok  |
    -----------------------
+1 −1
Original line number Diff line number Diff line
@@ -27,5 +27,5 @@
    |       sparc: |  ok  |
    |          um: | TODO |
    |         x86: |  ok  |
    |      xtensa: | TODO |
    |      xtensa: |  ok  |
    -----------------------
+1 −1
Original line number Diff line number Diff line
@@ -27,5 +27,5 @@
    |       sparc: |  ok  |
    |          um: | TODO |
    |         x86: |  ok  |
    |      xtensa: | TODO |
    |      xtensa: |  ok  |
    -----------------------
+18 −0
Original line number Diff line number Diff line
@@ -4,6 +4,7 @@ config XTENSA
	select ARCH_32BIT_OFF_T
	select ARCH_HAS_BINFMT_FLAT if !MMU
	select ARCH_HAS_CURRENT_STACK_POINTER
	select ARCH_HAS_DEBUG_VM_PGTABLE
	select ARCH_HAS_DMA_PREP_COHERENT if MMU
	select ARCH_HAS_SYNC_DMA_FOR_CPU if MMU
	select ARCH_HAS_SYNC_DMA_FOR_DEVICE if MMU
@@ -29,8 +30,10 @@ config XTENSA
	select HAVE_ARCH_AUDITSYSCALL
	select HAVE_ARCH_JUMP_LABEL if !XIP_KERNEL
	select HAVE_ARCH_KASAN if MMU && !XIP_KERNEL
	select HAVE_ARCH_KCSAN
	select HAVE_ARCH_SECCOMP_FILTER
	select HAVE_ARCH_TRACEHOOK
	select HAVE_CONTEXT_TRACKING
	select HAVE_DEBUG_KMEMLEAK
	select HAVE_DMA_CONTIGUOUS
	select HAVE_EXIT_THREAD
@@ -42,6 +45,7 @@ config XTENSA
	select HAVE_PERF_EVENTS
	select HAVE_STACKPROTECTOR
	select HAVE_SYSCALL_TRACEPOINTS
	select HAVE_VIRT_CPU_ACCOUNTING_GEN
	select IRQ_DOMAIN
	select MODULES_USE_ELF_RELA
	select PERF_USE_VMALLOC
@@ -79,6 +83,7 @@ config STACKTRACE_SUPPORT

config MMU
	def_bool n
	select PFAULT

config HAVE_XTENSA_GPIO32
	def_bool n
@@ -178,6 +183,16 @@ config XTENSA_FAKE_NMI

	  If unsure, say N.

config PFAULT
	bool "Handle protection faults" if EXPERT && !MMU
	default y
	help
	  Handle protection faults. MMU configurations must enable it.
	  noMMU configurations may disable it if used memory map never
	  generates protection faults or faults are always fatal.

	  If unsure, say Y.

config XTENSA_UNALIGNED_USER
	bool "Unaligned memory access in user space"
	help
@@ -773,6 +788,9 @@ endmenu

menu "Power management options"

config ARCH_HIBERNATION_POSSIBLE
	def_bool y

source "kernel/power/Kconfig"

endmenu
+1 −0
Original line number Diff line number Diff line
@@ -16,6 +16,7 @@ CFLAGS_REMOVE_inffast.o = -pg
endif

KASAN_SANITIZE := n
KCSAN_SANITIZE := n

CFLAGS_REMOVE_inflate.o += -fstack-protector -fstack-protector-strong
CFLAGS_REMOVE_zmem.o += -fstack-protector -fstack-protector-strong
Loading