Commit 437d1a5b authored by Linus Torvalds's avatar Linus Torvalds
Browse files

Merge tag 'xtensa-20210429' of git://github.com/jcmvbkbc/linux-xtensa

Pull Xtensa updates from Max Filippov:

 - switch to generic syscall generation scripts

 - new GDBIO implementation for xtensa semihosting interface

 - various small code fixes and cleanups

 - a few typo fixes in comments and Kconfig help text

* tag 'xtensa-20210429' of git://github.com/jcmvbkbc/linux-xtensa:
  xtensa: ISS: add GDBIO implementation to semihosting interface
  xtensa: ISS: split simcall implementation from semihosting interface
  xtensa: simcall.h: Change compitible to compatible
  xtensa: Couple of typo fixes
  xtensa: drop extraneous register load from initialize_mmu
  xtensa: fix pgprot_noncached assumptions
  xtensa: simplify coherent_kvaddr logic
  xtensa: syscalls: switch to generic syscallhdr.sh
  xtensa: syscalls: switch to generic syscalltbl.sh
  xtensa: stop filling syscall array with sys_ni_syscall
  xtensa: remove unneeded export in boot-elf/Makefile
  xtensa: move CONFIG_CPU_*_ENDIAN defines to Kconfig
  xtensa: fix warning comparing pointer to 0
  xtensa: fix spelling mistake in Kconfig "wont" -> "won't"
parents 8ca5297e 6a8eb99e
Loading
Loading
Loading
Loading
+29 −1
Original line number Diff line number Diff line
@@ -84,6 +84,12 @@ config KASAN_SHADOW_OFFSET
	hex
	default 0x6e400000

config CPU_BIG_ENDIAN
	def_bool $(success,test "$(shell,echo __XTENSA_EB__ | $(CC) -E -P -)" = 1)

config CPU_LITTLE_ENDIAN
	def_bool !CPU_BIG_ENDIAN

menu "Processor type and features"

choice
@@ -387,6 +393,28 @@ config PARSE_BOOTPARAM

	  If unsure, say Y.

choice
	prompt "Semihosting interface"
	default XTENSA_SIMCALL_ISS
	depends on XTENSA_PLATFORM_ISS
	help
	  Choose semihosting interface that will be used for serial port,
	  block device and networking.

config XTENSA_SIMCALL_ISS
	bool "simcall"
	help
	  Use simcall instruction. simcall is only available on simulators,
	  it does nothing on hardware.

config XTENSA_SIMCALL_GDBIO
	bool "GDBIO"
	help
	  Use break instruction. It is available on real hardware when GDB
	  is attached to it via JTAG.

endchoice

config BLK_DEV_SIMDISK
	tristate "Host file-based simulated block device support"
	default n
@@ -466,7 +494,7 @@ config INITIALIZE_XTENSA_MMU_INSIDE_VMLINUX
	  then enter your normal kernel breakpoints once the MMU was mapped
	  to the kernel mappings (0XC0000000).

	  This unfortunately won't work for U-Boot and likely also wont
	  This unfortunately won't work for U-Boot and likely also won't
	  work for using KEXEC to have a hot kernel ready for doing a
	  KDUMP.

+1 −8
Original line number Diff line number Diff line
@@ -52,14 +52,7 @@ ifneq ($(CONFIG_LD_NO_RELAX),)
KBUILD_LDFLAGS := --no-relax
endif

ifeq ($(shell echo __XTENSA_EB__ | $(CC) -E - | grep -v "\#"),1)
CHECKFLAGS += -D__XTENSA_EB__
KBUILD_CPPFLAGS += -DCONFIG_CPU_BIG_ENDIAN
endif
ifeq ($(shell echo __XTENSA_EL__ | $(CC) -E - | grep -v "\#"),1)
CHECKFLAGS += -D__XTENSA_EL__
KBUILD_CPPFLAGS += -DCONFIG_CPU_LITTLE_ENDIAN
endif
CHECKFLAGS += -D$(if $(CONFIG_CPU_BIG_ENDIAN),__XTENSA_EB__,__XTENSA_EL__)

vardirs := $(patsubst %,arch/xtensa/variants/%/,$(variant-y))
plfdirs := $(patsubst %,arch/xtensa/platforms/%/,$(platform-y))
+0 −4
Original line number Diff line number Diff line
@@ -12,10 +12,6 @@
KBUILD_CFLAGS	+= -fno-builtin -Iarch/$(ARCH)/boot/include
HOSTFLAGS	+= -Iarch/$(ARCH)/boot/include

BIG_ENDIAN	:= $(shell echo __XTENSA_EB__ | $(CC) -E - | grep -v "\#")

export BIG_ENDIAN

subdir-y	:= lib
targets		+= vmlinux.bin vmlinux.bin.gz
targets		+= uImage xipImage
+3 −8
Original line number Diff line number Diff line
@@ -4,15 +4,10 @@
# for more details.
#

ifeq ($(BIG_ENDIAN),1)
OBJCOPY_ARGS    := -O elf32-xtensa-be
else
OBJCOPY_ARGS    := -O elf32-xtensa-le
endif
OBJCOPY_ARGS := -O $(if $(CONFIG_CPU_BIG_ENDIAN),elf32-xtensa-be,elf32-xtensa-le)

export OBJCOPY_ARGS
export CPPFLAGS_boot.lds += -P -C
export KBUILD_AFLAGS += -mtext-section-literals
CPPFLAGS_boot.lds += -P -C
KBUILD_AFLAGS += -mtext-section-literals

boot-y		:= bootstrap.o
targets		+= $(boot-y) boot.lds
+1 −5
Original line number Diff line number Diff line
@@ -4,11 +4,7 @@
# for more details.
#

ifeq ($(BIG_ENDIAN),1)
OBJCOPY_ARGS 	:= -O elf32-xtensa-be
else
OBJCOPY_ARGS 	:= -O elf32-xtensa-le
endif
OBJCOPY_ARGS := -O $(if $(CONFIG_CPU_BIG_ENDIAN),elf32-xtensa-be,elf32-xtensa-le)

LD_ARGS	= -T $(srctree)/$(obj)/boot.ld

Loading