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

Commit 5f8371ce authored by Paul Mundt's avatar Paul Mundt
Browse files

Merge branches 'sh/stable-updates' and 'sh/sparseirq'

parents 8e9bb19e d8586ba6
Loading
Loading
Loading
Loading
+65 −40
Original line number Diff line number Diff line
@@ -15,6 +15,7 @@ config SUPERH
	select HAVE_IOREMAP_PROT if MMU
	select HAVE_ARCH_TRACEHOOK
	select HAVE_DMA_API_DEBUG
	select RTC_LIB
	help
	  The SuperH is a RISC processor targeted for use in embedded systems
	  and consumer electronics; it was also used in the Sega Dreamcast
@@ -74,14 +75,18 @@ config GENERIC_IOMAP
	bool

config GENERIC_TIME
	def_bool n
	def_bool y

config GENERIC_CLOCKEVENTS
	def_bool n
	def_bool y

config GENERIC_CLOCKEVENTS_BROADCAST
	bool

config GENERIC_CMOS_UPDATE
	def_bool y
	depends on SH_SH03 || SH_DREAMCAST

config GENERIC_LOCKBREAK
	def_bool y
	depends on SMP && PREEMPT
@@ -112,6 +117,12 @@ config SYS_SUPPORTS_PCI
config SYS_SUPPORTS_CMT
	bool

config SYS_SUPPORTS_MTU2
	bool

config SYS_SUPPORTS_TMU
	bool

config STACKTRACE_SUPPORT
	def_bool y

@@ -157,6 +168,7 @@ config CPU_SH3
	bool
	select CPU_HAS_INTEVT
	select CPU_HAS_SR_RB
	select SYS_SUPPORTS_TMU

config CPU_SH4
	bool
@@ -164,6 +176,7 @@ config CPU_SH4
	select CPU_HAS_SR_RB
	select CPU_HAS_PTEA if !CPU_SH4A || CPU_SHX2
	select CPU_HAS_FPU if !CPU_SH4AL_DSP
	select SYS_SUPPORTS_TMU

config CPU_SH4A
	bool
@@ -177,6 +190,7 @@ config CPU_SH4AL_DSP
config CPU_SH5
	bool
	select CPU_HAS_FPU
	select SYS_SUPPORTS_TMU

config CPU_SHX2
	bool
@@ -210,27 +224,32 @@ config CPU_SUBTYPE_SH7201
	bool "Support SH7201 processor"
	select CPU_SH2A
	select CPU_HAS_FPU
	select SYS_SUPPORTS_MTU2
 
config CPU_SUBTYPE_SH7203
	bool "Support SH7203 processor"
	select CPU_SH2A
	select CPU_HAS_FPU
	select SYS_SUPPORTS_CMT
	select SYS_SUPPORTS_MTU2

config CPU_SUBTYPE_SH7206
	bool "Support SH7206 processor"
	select CPU_SH2A
	select SYS_SUPPORTS_CMT
	select SYS_SUPPORTS_MTU2

config CPU_SUBTYPE_SH7263
	bool "Support SH7263 processor"
	select CPU_SH2A
	select CPU_HAS_FPU
	select SYS_SUPPORTS_CMT
	select SYS_SUPPORTS_MTU2

config CPU_SUBTYPE_MXG
	bool "Support MX-G processor"
	select CPU_SH2A
	select SYS_SUPPORTS_MTU2
	help
	  Select MX-G if running on an R8A03022BG part.

@@ -283,6 +302,7 @@ config CPU_SUBTYPE_SH7720
	bool "Support SH7720 processor"
	select CPU_SH3
	select CPU_HAS_DSP
	select SYS_SUPPORTS_CMT
	help
	  Select SH7720 if you have a SH3-DSP SH7720 CPU.

@@ -290,6 +310,7 @@ config CPU_SUBTYPE_SH7721
	bool "Support SH7721 processor"
	select CPU_SH3
	select CPU_HAS_DSP
	select SYS_SUPPORTS_CMT
	help
	  Select SH7721 if you have a SH3-DSP SH7721 CPU.

@@ -347,6 +368,16 @@ config CPU_SUBTYPE_SH7723
	help
	  Select SH7723 if you have an SH-MobileR2 CPU.

config CPU_SUBTYPE_SH7724
	bool "Support SH7724 processor"
	select CPU_SH4A
	select CPU_SHX2
	select ARCH_SHMOBILE
	select ARCH_SPARSEMEM_ENABLE
	select SYS_SUPPORTS_CMT
	help
	  Select SH7724 if you have an SH-MobileR2R CPU.

config CPU_SUBTYPE_SH7763
	bool "Support SH7763 processor"
	select CPU_SH4A
@@ -442,48 +473,26 @@ source "arch/sh/boards/Kconfig"

menu "Timer and clock configuration"

config SH_TMU
	bool "TMU timer support"
	depends on CPU_SH3 || CPU_SH4
config SH_TIMER_TMU
	bool "TMU timer driver"
	depends on SYS_SUPPORTS_TMU
	default y
	select GENERIC_TIME
	select GENERIC_CLOCKEVENTS
	help
	  This enables the use of the TMU as the system timer.
	  This enables the build of the TMU timer driver.

config SH_CMT
	bool "CMT timer support"
	depends on SYS_SUPPORTS_CMT && CPU_SH2
config SH_TIMER_CMT
	bool "CMT timer driver"
	depends on SYS_SUPPORTS_CMT
	default y
	help
	  This enables the use of the CMT as the system timer.

#
# Support for the new-style CMT driver. This will replace SH_CMT
# once its other dependencies are merged.
#
config SH_TIMER_CMT
	bool "CMT clockevents driver"
	depends on SYS_SUPPORTS_CMT && !SH_CMT
	select GENERIC_CLOCKEVENTS
	  This enables build of the CMT timer driver.

config SH_MTU2
	bool "MTU2 timer support"
	depends on CPU_SH2A
config SH_TIMER_MTU2
	bool "MTU2 timer driver"
	depends on SYS_SUPPORTS_MTU2
	default y
	help
	  This enables the use of the MTU2 as the system timer.

config SH_TIMER_IRQ
	int
	default "28" if CPU_SUBTYPE_SH7780 || CPU_SUBTYPE_SH7785 || \
			CPU_SUBTYPE_SH7763
	default "86" if CPU_SUBTYPE_SH7619
	default "140" if CPU_SUBTYPE_SH7206
	default "142" if CPU_SUBTYPE_SH7203 && SH_CMT
	default "153" if CPU_SUBTYPE_SH7203 && SH_MTU2
	default "238" if CPU_SUBTYPE_MXG
	default "16"
	  This enables build of the MTU2 timer driver.

config SH_PCLK_FREQ
	int "Peripheral clock frequency (in Hz)"
@@ -495,6 +504,7 @@ config SH_PCLK_FREQ
			      CPU_SUBTYPE_SH7203 || CPU_SUBTYPE_SH7206 || \
			      CPU_SUBTYPE_SH7263 || CPU_SUBTYPE_MXG    || \
			      CPU_SUBTYPE_SH7786
	default "41666666" if CPU_SUBTYPE_SH7724
	default "60000000" if CPU_SUBTYPE_SH7751 || CPU_SUBTYPE_SH7751R
	default "66000000" if CPU_SUBTYPE_SH4_202
	default "50000000"
@@ -668,22 +678,37 @@ endmenu
menu "Boot options"

config ZERO_PAGE_OFFSET
	hex "Zero page offset"
	default "0x00004000" if SH_SH03
	default "0x00010000" if PAGE_SIZE_64KB
	hex
	default "0x00010000" if PAGE_SIZE_64KB || SH_RTS7751R2D || \
				SH_7751_SOLUTION_ENGINE
	default "0x00004000" if PAGE_SIZE_16KB || SH_SH03
	default "0x00002000" if PAGE_SIZE_8KB
	default "0x00001000"
	help
	  This sets the default offset of zero page.

config BOOT_LINK_OFFSET
	hex "Link address offset for booting"
	hex
	default "0x00210000" if SH_SHMIN
	default "0x00400000" if SH_CAYMAN
	default "0x00810000" if SH_7780_SOLUTION_ENGINE
	default "0x009e0000" if SH_TITAN
	default "0x01800000" if SH_SDK7780
	default "0x02000000" if SH_EDOSK7760
	default "0x00800000"
	help
	  This option allows you to set the link address offset of the zImage.
	  This can be useful if you are on a board which has a small amount of
	  memory.

config ENTRY_OFFSET
	hex
	default "0x00001000" if PAGE_SIZE_4KB
	default "0x00002000" if PAGE_SIZE_8KB
	default "0x00004000" if PAGE_SIZE_16KB
	default "0x00010000" if PAGE_SIZE_64KB
	default "0x00000000"

config UBC_WAKEUP
	bool "Wakeup UBC on startup"
	depends on CPU_SH4 && !CPU_SH4A
+0 −5
Original line number Diff line number Diff line
@@ -76,11 +76,6 @@ config SPECULATIVE_EXECUTION

	  If unsure, say N.

config SH64_USER_MISALIGNED_FIXUP
	def_bool y
	prompt "Fixup misaligned loads/stores occurring in user mode"
	depends on SUPERH64

config SH64_ID2815_WORKAROUND
	bool "Include workaround for SH5-101 cut2 silicon defect ID2815"
	depends on CPU_SUBTYPE_SH5_101
+2 −21
Original line number Diff line number Diff line
@@ -38,10 +38,10 @@ config EARLY_SCIF_CONSOLE_PORT
	default "0xffe00000" if CPU_SUBTYPE_SH7780 || CPU_SUBTYPE_SH7763 || \
				CPU_SUBTYPE_SH7722 || CPU_SUBTYPE_SH7366 || \
				CPU_SUBTYPE_SH7343
	default "0xffe80000" if CPU_SH4
	default "0xffea0000" if CPU_SUBTYPE_SH7785
	default "0xfffe8000" if CPU_SUBTYPE_SH7203
	default "0xfffe9800" if CPU_SUBTYPE_SH7206 || CPU_SUBTYPE_SH7263
	default "0xffe80000" if CPU_SH4
	default "0x00000000"

config EARLY_PRINTK
@@ -92,7 +92,7 @@ config 4KSTACKS

config IRQSTACKS
	bool "Use separate kernel stacks when processing interrupts"
	depends on DEBUG_KERNEL && SUPERH32
	depends on DEBUG_KERNEL && SUPERH32 && BROKEN
	help
	  If you say Y here the kernel will use separate kernel stacks
	  for handling hard and soft interrupts.  This can help avoid
@@ -122,27 +122,8 @@ config SH_NO_BSS_INIT
	  For all other cases, say N. If this option seems perplexing, or
	  you aren't sure, say N.

config MORE_COMPILE_OPTIONS
	bool "Add any additional compile options"
	help
	  If you want to add additional CFLAGS to the kernel build, enable this
	  option and then enter what you would like to add in the next question.
	  Note however that -g is already appended with the selection of KGDB.

config COMPILE_OPTIONS
	string "Additional compile arguments"
	depends on MORE_COMPILE_OPTIONS

config SH64_SR_WATCH
	bool "Debug: set SR.WATCH to enable hardware watchpoints and trace"
	depends on SUPERH64

config POOR_MANS_STRACE
	bool "Debug: enable rudimentary strace facility"
	depends on SUPERH64
	help
	  This option allows system calls to be traced to the console.  It also
	  aids in detecting kernel stack underflow.  It is useful for debugging
	  early-userland problems (e.g. init incurring fatal exceptions.)

endmenu
+17 −40
Original line number Diff line number Diff line
@@ -70,9 +70,6 @@ cflags-$(CONFIG_CPU_LITTLE_ENDIAN) += -ml
cflags-y	+= $(call cc-option,-mno-fdpic)
cflags-y	+= $(isaflags-y) -ffreestanding

cflags-$(CONFIG_MORE_COMPILE_OPTIONS)	+= \
	$(shell echo $(CONFIG_COMPILE_OPTIONS) | sed -e 's/"//g')

OBJCOPYFLAGS	:= -O binary -R .note -R .note.gnu.build-id -R .comment \
		   -R .stab -R .stabstr -S

@@ -94,25 +91,35 @@ KBUILD_IMAGE := $(defaultimage-y)
#
ifdef CONFIG_SUPERH32
UTS_MACHINE	:= sh
BITS		:= 32
LDFLAGS_vmlinux	+= -e _stext
else
UTS_MACHINE	:= sh64
BITS		:= 64
LDFLAGS_vmlinux	+= --defsym phys_stext=_stext-$(CONFIG_PAGE_OFFSET) \
		   --defsym phys_stext_shmedia=phys_stext+1 \
		   -e phys_stext_shmedia
endif

ifneq ($(SUBARCH),$(ARCH))
  ifeq ($(CROSS_COMPILE),)
    CROSS_COMPILE := $(call cc-cross-prefix, $(UTS_MACHINE)-linux-  $(UTS_MACHINE)-linux-gnu-  $(UTS_MACHINE)-unknown-linux-gnu-)
  endif
endif

ifdef CONFIG_CPU_LITTLE_ENDIAN
LDFLAGS_vmlinux		+= --defsym 'jiffies=jiffies_64'
ld-bfd			:= elf32-$(UTS_MACHINE)-linux
LDFLAGS_vmlinux		+= --defsym 'jiffies=jiffies_64' --oformat $(ld-bfd)
LDFLAGS			+= -EL
else
LDFLAGS_vmlinux		+= --defsym 'jiffies=jiffies_64+4'
ld-bfd			:= elf32-$(UTS_MACHINE)big-linux
LDFLAGS_vmlinux		+= --defsym 'jiffies=jiffies_64+4' --oformat $(ld-bfd)
LDFLAGS			+= -EB
endif

head-y			:= arch/sh/kernel/init_task.o
head-$(CONFIG_SUPERH32)	+= arch/sh/kernel/head_32.o
head-$(CONFIG_SUPERH64)	+= arch/sh/kernel/head_64.o
export ld-bfd BITS

head-y	:= arch/sh/kernel/init_task.o arch/sh/kernel/head_$(BITS).o

core-y				+= arch/sh/kernel/ arch/sh/mm/ arch/sh/boards/
core-$(CONFIG_SH_FPU_EMU)	+= arch/sh/math-emu/
@@ -193,7 +200,7 @@ zImage uImage uImage.srec vmlinux.srec: vmlinux

compressed: zImage

archprepare: maketools arch/sh/lib64/syscalltab.h
archprepare: maketools

archclean:
	$(Q)$(MAKE) $(clean)=$(boot)
@@ -205,34 +212,4 @@ define archhelp
	@echo '  uImage.srec  	           - Create an S-record for U-Boot'
endef

define filechk_gen-syscalltab
       (set -e; \
	echo "/*"; \
	echo " * DO NOT MODIFY."; \
	echo " *"; \
	echo " * This file was generated by arch/sh/Makefile"; \
	echo " * Any changes will be reverted at build time."; \
	echo " */"; \
	echo ""; \
	echo "#ifndef __SYSCALLTAB_H"; \
	echo "#define __SYSCALLTAB_H"; \
	echo ""; \
	echo "#include <linux/kernel.h>"; \
	echo ""; \
	echo "struct syscall_info {"; \
	echo "	const char *name;"; \
	echo "} syscall_info_table[] = {"; \
	sed -e '/^.*\.long /!d;s//	{ "/;s/\(\([^/]*\)\/\)\{1\}.*/\2/; \
		s/[ \t]*$$//g;s/$$/" },/;s/\("\)sys_/\1/g'; \
	echo "};"; \
	echo ""; \
	echo "#define NUM_SYSCALL_INFO_ENTRIES ARRAY_SIZE(syscall_info_table)";\
	echo ""; \
	echo "#endif /* __SYSCALLTAB_H */" )
endef

arch/sh/lib64/syscalltab.h: arch/sh/kernel/syscalls_64.S
	$(call filechk,gen-syscalltab)

CLEAN_FILES += arch/sh/lib64/syscalltab.h \
	       include/asm-sh/machtypes.h
CLEAN_FILES += include/asm-sh/machtypes.h
+3 −3
Original line number Diff line number Diff line
@@ -121,7 +121,7 @@ config SH_RTS7751R2D
	bool "RTS7751R2D"
	depends on CPU_SUBTYPE_SH7751R
	select SYS_SUPPORTS_PCI
	select IO_TRAPPED
	select IO_TRAPPED if MMU
	help
	  Select RTS7751R2D if configuring for a Renesas Technology
	  Sales SH-Graphics board.
@@ -145,13 +145,13 @@ config SH_HIGHLANDER
	bool "Highlander"
	depends on CPU_SUBTYPE_SH7780 || CPU_SUBTYPE_SH7785
	select SYS_SUPPORTS_PCI
	select IO_TRAPPED
	select IO_TRAPPED if MMU

config SH_SH7785LCR
	bool "SH7785LCR"
	depends on CPU_SUBTYPE_SH7785
	select SYS_SUPPORTS_PCI
	select IO_TRAPPED
	select IO_TRAPPED if MMU

config SH_SH7785LCR_29BIT_PHYSMAPS
	bool "SH7785LCR 29bit physmaps"
Loading