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

Commit e189f349 authored by Linus Torvalds's avatar Linus Torvalds
Browse files
* git://git.kernel.org/pub/scm/linux/kernel/git/lethal/sh-2.6: (197 commits)
  sh: add spi header and r2d platform data V3
  sh: update r7780rp interrupt code
  sh: remove consistent alloc stuff from the machine vector
  sh: use declared coherent memory for dreamcast pci ethernet adapter
  sh: declared coherent memory support V2
  sh: Add support for SDK7780 board.
  sh: constify function pointer tables
  sh: Kill off -traditional for linker script.
  cdrom: Add support for Sega Dreamcast GD-ROM.
  sh: Kill off hs7751rvoip reference from arch/sh/Kconfig.
  sh: Drop r7780rp_defconfig, use r7780mp_defconfig as kbuild default.
  sh: Kill off dead HS771RVoIP board support.
  sh: r7785rp: Fix up DECLARE_INTC_DESC() arg mismatch.
  sh: r7785rp: Hook up the rest of the HL7785 FPGA IRQ vectors.
  sh: r2d - enable sm501 usb host function
  sh: remove voyagergx
  sh: r2d - add lcd planel timings to sm501 platform data
  sh: Add OHCI and UDC platform devices for SH7720.
  sh: intc - remove default interrupt priority tables
  sh: Correct pte size mismatch for X2 TLB.
  ...
parents f4798748 6582d7b7
Loading
Loading
Loading
Loading
+1 −1
Original line number Original line Diff line number Diff line
@@ -169,7 +169,7 @@ SUBARCH := $(shell uname -m | sed -e s/i.86/i386/ -e s/sun4u/sparc64/ \
				  -e s/arm.*/arm/ -e s/sa110/arm/ \
				  -e s/arm.*/arm/ -e s/sa110/arm/ \
				  -e s/s390x/s390/ -e s/parisc64/parisc/ \
				  -e s/s390x/s390/ -e s/parisc64/parisc/ \
				  -e s/ppc.*/powerpc/ -e s/mips.*/mips/ \
				  -e s/ppc.*/powerpc/ -e s/mips.*/mips/ \
				  -e s/sh[234].*/sh/ )
				  -e s/sh.*/sh/ )


# Cross compiling and selecting different set of gcc/bin-utils
# Cross compiling and selecting different set of gcc/bin-utils
# ---------------------------------------------------------------------------
# ---------------------------------------------------------------------------
+251 −115
Original line number Original line Diff line number Diff line
@@ -6,8 +6,7 @@
mainmenu "Linux/SuperH Kernel Configuration"
mainmenu "Linux/SuperH Kernel Configuration"


config SUPERH
config SUPERH
	bool
	def_bool y
	default y
	select EMBEDDED
	select EMBEDDED
	help
	help
	  The SuperH is a RISC processor targeted for use in embedded systems
	  The SuperH is a RISC processor targeted for use in embedded systems
@@ -15,36 +14,36 @@ config SUPERH
	  gaming console.  The SuperH port has a home page at
	  gaming console.  The SuperH port has a home page at
	  <http://www.linux-sh.org/>.
	  <http://www.linux-sh.org/>.


config SUPERH32
	def_bool !SUPERH64

config SUPERH64
	def_bool y if CPU_SH5

config RWSEM_GENERIC_SPINLOCK
config RWSEM_GENERIC_SPINLOCK
	bool
	def_bool y
	default y


config RWSEM_XCHGADD_ALGORITHM
config RWSEM_XCHGADD_ALGORITHM
	bool
	bool


config GENERIC_BUG
config GENERIC_BUG
	def_bool y
	def_bool y
	depends on BUG
	depends on BUG && SUPERH32


config GENERIC_FIND_NEXT_BIT
config GENERIC_FIND_NEXT_BIT
	bool
	def_bool y
	default y


config GENERIC_HWEIGHT
config GENERIC_HWEIGHT
	bool
	def_bool y
	default y


config GENERIC_HARDIRQS
config GENERIC_HARDIRQS
	bool
	def_bool y
	default y


config GENERIC_IRQ_PROBE
config GENERIC_IRQ_PROBE
	bool
	def_bool y
	default y


config GENERIC_CALIBRATE_DELAY
config GENERIC_CALIBRATE_DELAY
	bool
	def_bool y
	default y


config GENERIC_IOMAP
config GENERIC_IOMAP
	bool
	bool
@@ -75,20 +74,16 @@ config ARCH_MAY_HAVE_PC_FDC
	bool
	bool


config STACKTRACE_SUPPORT
config STACKTRACE_SUPPORT
	bool
	def_bool y
	default y


config LOCKDEP_SUPPORT
config LOCKDEP_SUPPORT
	bool
	def_bool y
	default y


config ARCH_HAS_ILOG2_U32
config ARCH_HAS_ILOG2_U32
	bool
	def_bool n
	default n


config ARCH_HAS_ILOG2_U64
config ARCH_HAS_ILOG2_U64
	bool
	def_bool n
	default n


config ARCH_NO_VIRT_TO_BUS
config ARCH_NO_VIRT_TO_BUS
	def_bool y
	def_bool y
@@ -97,110 +92,234 @@ source "init/Kconfig"


menu "System type"
menu "System type"


source "arch/sh/mm/Kconfig"
#
# Processor families
#
config CPU_SH2
	bool


menu "Processor features"
config CPU_SH2A
	bool
	select CPU_SH2

config CPU_SH3
	bool
	select CPU_HAS_INTEVT
	select CPU_HAS_SR_RB

config CPU_SH4
	bool
	select CPU_HAS_INTEVT
	select CPU_HAS_SR_RB
	select CPU_HAS_PTEA if !CPU_SH4A || CPU_SHX2
	select CPU_HAS_FPU if !CPU_SH4AL_DSP

config CPU_SH4A
	bool
	select CPU_SH4

config CPU_SH4AL_DSP
	bool
	select CPU_SH4A
	select CPU_HAS_DSP

config CPU_SH5
	bool
	select CPU_HAS_FPU

config CPU_SHX2
	bool

config CPU_SHX3
	bool


choice
choice
	prompt "Endianess selection" 
	prompt "Processor sub-type selection"
	default CPU_LITTLE_ENDIAN
	help
	  Some SuperH machines can be configured for either little or big
	  endian byte order. These modes require different kernels.


config CPU_LITTLE_ENDIAN
#
	bool "Little Endian"
# Processor subtypes
#


config CPU_BIG_ENDIAN
# SH-2 Processor Support
	bool "Big Endian"


endchoice
config CPU_SUBTYPE_SH7619
	bool "Support SH7619 processor"
	select CPU_SH2

# SH-2A Processor Support

config CPU_SUBTYPE_SH7203
	bool "Support SH7203 processor"
	select CPU_SH2A
	select CPU_HAS_FPU

config CPU_SUBTYPE_SH7206
	bool "Support SH7206 processor"
	select CPU_SH2A


config SH_FPU
config CPU_SUBTYPE_SH7263
	bool "FPU support"
	bool "Support SH7263 processor"
	depends on CPU_HAS_FPU
	select CPU_SH2A
	default y
	select CPU_HAS_FPU

# SH-3 Processor Support

config CPU_SUBTYPE_SH7705
	bool "Support SH7705 processor"
	select CPU_SH3

config CPU_SUBTYPE_SH7706
	bool "Support SH7706 processor"
	select CPU_SH3
	help
	help
	  Selecting this option will enable support for SH processors that
	  Select SH7706 if you have a 133 Mhz SH-3 HD6417706 CPU.
	  have FPU units (ie, SH77xx).


	  This option must be set in order to enable the FPU.
config CPU_SUBTYPE_SH7707
	bool "Support SH7707 processor"
	select CPU_SH3
	help
	  Select SH7707 if you have a  60 Mhz SH-3 HD6417707 CPU.


config SH_FPU_EMU
config CPU_SUBTYPE_SH7708
	bool "FPU emulation support"
	bool "Support SH7708 processor"
	depends on !SH_FPU && EXPERIMENTAL
	select CPU_SH3
	default n
	help
	help
	  Selecting this option will enable support for software FPU emulation.
	  Select SH7708 if you have a  60 Mhz SH-3 HD6417708S or
	  Most SH-3 users will want to say Y here, whereas most SH-4 users will
	  if you have a 100 Mhz SH-3 HD6417708R CPU.
	  want to say N.


config SH_DSP
config CPU_SUBTYPE_SH7709
	bool "DSP support"
	bool "Support SH7709 processor"
	depends on CPU_HAS_DSP
	select CPU_SH3
	default y
	help
	help
	  Selecting this option will enable support for SH processors that
	  Select SH7709 if you have a  80 Mhz SH-3 HD6417709 CPU.
	  have DSP units (ie, SH2-DSP, SH3-DSP, and SH4AL-DSP).


	  This option must be set in order to enable the DSP.
config CPU_SUBTYPE_SH7710
	bool "Support SH7710 processor"
	select CPU_SH3
	select CPU_HAS_DSP
	help
	  Select SH7710 if you have a SH3-DSP SH7710 CPU.


config SH_ADC
config CPU_SUBTYPE_SH7712
	bool "ADC support"
	bool "Support SH7712 processor"
	depends on CPU_SH3
	select CPU_SH3
	default y
	select CPU_HAS_DSP
	help
	help
	  Selecting this option will allow the Linux kernel to use SH3 on-chip
	  Select SH7712 if you have a SH3-DSP SH7712 CPU.
	  ADC module.


	  If unsure, say N.
config CPU_SUBTYPE_SH7720
	bool "Support SH7720 processor"
	select CPU_SH3
	select CPU_HAS_DSP
	help
	  Select SH7720 if you have a SH3-DSP SH7720 CPU.


config SH_STORE_QUEUES
config CPU_SUBTYPE_SH7721
	bool "Support for Store Queues"
	bool "Support SH7721 processor"
	depends on CPU_SH4
	select CPU_SH3
	select CPU_HAS_DSP
	help
	help
	  Selecting this option will enable an in-kernel API for manipulating
	  Select SH7721 if you have a SH3-DSP SH7721 CPU.
	  the store queues integrated in the SH-4 processors.


config SPECULATIVE_EXECUTION
# SH-4 Processor Support
	bool "Speculative subroutine return"

	depends on CPU_SUBTYPE_SH7780 && EXPERIMENTAL
config CPU_SUBTYPE_SH7750
	bool "Support SH7750 processor"
	select CPU_SH4
	help
	help
	  This enables support for a speculative instruction fetch for
	  Select SH7750 if you have a 200 Mhz SH-4 HD6417750 CPU.
	  subroutine return. There are various pitfalls associated with
	  this, as outlined in the SH7780 hardware manual.


	  If unsure, say N.
config CPU_SUBTYPE_SH7091
	bool "Support SH7091 processor"
	select CPU_SH4
	help
	  Select SH7091 if you have an SH-4 based Sega device (such as
	  the Dreamcast, Naomi, and Naomi 2).


config CPU_HAS_INTEVT
config CPU_SUBTYPE_SH7750R
	bool
	bool "Support SH7750R processor"
	select CPU_SH4


config CPU_HAS_MASKREG_IRQ
config CPU_SUBTYPE_SH7750S
	bool
	bool "Support SH7750S processor"
	select CPU_SH4


config CPU_HAS_IPR_IRQ
config CPU_SUBTYPE_SH7751
	bool
	bool "Support SH7751 processor"
	select CPU_SH4
	help
	  Select SH7751 if you have a 166 Mhz SH-4 HD6417751 CPU,
	  or if you have a HD6417751R CPU.


config CPU_HAS_SR_RB
config CPU_SUBTYPE_SH7751R
	bool
	bool "Support SH7751R processor"
	select CPU_SH4

config CPU_SUBTYPE_SH7760
	bool "Support SH7760 processor"
	select CPU_SH4

config CPU_SUBTYPE_SH4_202
	bool "Support SH4-202 processor"
	select CPU_SH4

# SH-4A Processor Support

config CPU_SUBTYPE_SH7763
	bool "Support SH7763 processor"
	select CPU_SH4A
	help
	help
	  This will enable the use of SR.RB register bank usage. Processors
	  Select SH7763 if you have a SH4A SH7763(R5S77631) CPU.
	  that are lacking this bit must have another method in place for
	  accomplishing what is taken care of by the banked registers.


	  See <file:Documentation/sh/register-banks.txt> for further
config CPU_SUBTYPE_SH7770
	  information on SR.RB and register banking in the kernel in general.
	bool "Support SH7770 processor"
	select CPU_SH4A


config CPU_HAS_PTEA
config CPU_SUBTYPE_SH7780
	bool
	bool "Support SH7780 processor"
	select CPU_SH4A


config CPU_HAS_DSP
config CPU_SUBTYPE_SH7785
	bool
	bool "Support SH7785 processor"
	select CPU_SH4A
	select CPU_SHX2
	select ARCH_SPARSEMEM_ENABLE
	select SYS_SUPPORTS_NUMA


config CPU_HAS_FPU
config CPU_SUBTYPE_SHX3
	bool
	bool "Support SH-X3 processor"
	select CPU_SH4A
	select CPU_SHX3
	select ARCH_SPARSEMEM_ENABLE
	select SYS_SUPPORTS_NUMA
	select SYS_SUPPORTS_SMP


endmenu
# SH4AL-DSP Processor Support

config CPU_SUBTYPE_SH7343
	bool "Support SH7343 processor"
	select CPU_SH4AL_DSP

config CPU_SUBTYPE_SH7722
	bool "Support SH7722 processor"
	select CPU_SH4AL_DSP
	select CPU_SHX2
	select ARCH_SPARSEMEM_ENABLE
	select SYS_SUPPORTS_NUMA

# SH-5 Processor Support

config CPU_SUBTYPE_SH5_101
	bool "Support SH5-101 processor"
	select CPU_SH5

config CPU_SUBTYPE_SH5_103
	bool "Support SH5-103 processor"

endchoice

source "arch/sh/mm/Kconfig"
source "arch/sh/Kconfig.cpu"


menu "Board support"
menu "Board support"


@@ -321,13 +440,6 @@ config SH_SECUREEDGE5410
	  This includes both the OEM SecureEdge products as well as the
	  This includes both the OEM SecureEdge products as well as the
	  SME product line.
	  SME product line.


config SH_HS7751RVOIP
	bool "HS7751RVOIP"
	depends on CPU_SUBTYPE_SH7751R
	help
	  Select HS7751RVOIP if configuring for a Renesas Technology
	  Sales VoIP board.

config SH_7710VOIPGW
config SH_7710VOIPGW
	bool "SH7710-VOIP-GW"
	bool "SH7710-VOIP-GW"
	depends on CPU_SUBTYPE_SH7710
	depends on CPU_SUBTYPE_SH7710
@@ -343,6 +455,14 @@ config SH_RTS7751R2D
	  Select RTS7751R2D if configuring for a Renesas Technology
	  Select RTS7751R2D if configuring for a Renesas Technology
	  Sales SH-Graphics board.
	  Sales SH-Graphics board.


config SH_SDK7780
	bool "SDK7780R3"
	depends on CPU_SUBTYPE_SH7780
	select SYS_SUPPORTS_PCI
	help
	  Select SDK7780 if configuring for a Renesas SH7780 SDK7780R3
	  evaluation board.

config SH_HIGHLANDER
config SH_HIGHLANDER
	bool "Highlander"
	bool "Highlander"
	depends on CPU_SUBTYPE_SH7780 || CPU_SUBTYPE_SH7785
	depends on CPU_SUBTYPE_SH7780 || CPU_SUBTYPE_SH7785
@@ -399,41 +519,47 @@ config SH_MAGIC_PANEL_R2
	help
	help
	  Select Magic Panel R2 if configuring for Magic Panel R2.
	  Select Magic Panel R2 if configuring for Magic Panel R2.


config SH_CAYMAN
	bool "Hitachi Cayman"
	depends on CPU_SUBTYPE_SH5_101 || CPU_SUBTYPE_SH5_103
	select SYS_SUPPORTS_PCI

endmenu
endmenu


source "arch/sh/boards/renesas/hs7751rvoip/Kconfig"
source "arch/sh/boards/renesas/rts7751r2d/Kconfig"
source "arch/sh/boards/renesas/rts7751r2d/Kconfig"
source "arch/sh/boards/renesas/r7780rp/Kconfig"
source "arch/sh/boards/renesas/r7780rp/Kconfig"
source "arch/sh/boards/renesas/sdk7780/Kconfig"
source "arch/sh/boards/magicpanelr2/Kconfig"
source "arch/sh/boards/magicpanelr2/Kconfig"


menu "Timer and clock configuration"
menu "Timer and clock configuration"


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


config SH_CMT
config SH_CMT
	bool "CMT timer support"
	def_bool y
	prompt "CMT timer support"
	depends on CPU_SH2
	depends on CPU_SH2
	default y
	help
	help
	  This enables the use of the CMT as the system timer.
	  This enables the use of the CMT as the system timer.


config SH_MTU2
config SH_MTU2
	bool "MTU2 timer support"
	def_bool n
	prompt "MTU2 timer support"
	depends on CPU_SH2A
	depends on CPU_SH2A
	default n
	help
	help
	  This enables the use of the MTU2 as the system timer.
	  This enables the use of the MTU2 as the system timer.


config SH_TIMER_IRQ
config SH_TIMER_IRQ
	int
	int
	default "28" if CPU_SUBTYPE_SH7780 || CPU_SUBTYPE_SH7785
	default "28" if CPU_SUBTYPE_SH7780 || CPU_SUBTYPE_SH7785 || \
			CPU_SUBTYPE_SH7763
	default "86" if CPU_SUBTYPE_SH7619
	default "86" if CPU_SUBTYPE_SH7619
	default "140" if CPU_SUBTYPE_SH7206
	default "140" if CPU_SUBTYPE_SH7206
	default "16"
	default "16"
@@ -445,7 +571,8 @@ config SH_PCLK_FREQ
	default "32000000" if CPU_SUBTYPE_SH7722
	default "32000000" if CPU_SUBTYPE_SH7722
	default "33333333" if CPU_SUBTYPE_SH7770 || \
	default "33333333" if CPU_SUBTYPE_SH7770 || \
			      CPU_SUBTYPE_SH7760 || CPU_SUBTYPE_SH7705 || \
			      CPU_SUBTYPE_SH7760 || CPU_SUBTYPE_SH7705 || \
			      CPU_SUBTYPE_SH7206
			      CPU_SUBTYPE_SH7203 || CPU_SUBTYPE_SH7206 || \
			      CPU_SUBTYPE_SH7263
	default "60000000" if CPU_SUBTYPE_SH7751 || CPU_SUBTYPE_SH7751R
	default "60000000" if CPU_SUBTYPE_SH7751 || CPU_SUBTYPE_SH7751R
	default "66000000" if CPU_SUBTYPE_SH4_202
	default "66000000" if CPU_SUBTYPE_SH4_202
	default "50000000"
	default "50000000"
@@ -456,7 +583,7 @@ config SH_PCLK_FREQ


config SH_CLK_MD
config SH_CLK_MD
	int "CPU Mode Pin Setting"
	int "CPU Mode Pin Setting"
	depends on CPU_SUBTYPE_SH7619 || CPU_SUBTYPE_SH7206
	depends on CPU_SH2
	default 6 if CPU_SUBTYPE_SH7206
	default 6 if CPU_SUBTYPE_SH7206
	default 5 if CPU_SUBTYPE_SH7619
	default 5 if CPU_SUBTYPE_SH7619
	default 0
	default 0
@@ -490,9 +617,8 @@ source "arch/sh/drivers/Kconfig"
endmenu
endmenu


config ISA_DMA_API
config ISA_DMA_API
	bool
	def_bool y
	depends on SH_MPC1211
	depends on SH_MPC1211
	default y


menu "Kernel features"
menu "Kernel features"


@@ -570,7 +696,7 @@ source "kernel/Kconfig.preempt"


config GUSA
config GUSA
	def_bool y
	def_bool y
	depends on !SMP
	depends on !SMP && SUPERH32
	help
	help
	  This enables support for gUSA (general UserSpace Atomicity).
	  This enables support for gUSA (general UserSpace Atomicity).
	  This is the default implementation for both UP and non-ll/sc
	  This is the default implementation for both UP and non-ll/sc
@@ -582,6 +708,16 @@ config GUSA
	  This should only be disabled for special cases where alternate
	  This should only be disabled for special cases where alternate
	  atomicity implementations exist.
	  atomicity implementations exist.


config GUSA_RB
	bool "Implement atomic operations by roll-back (gRB) (EXPERIMENTAL)"
	depends on GUSA && CPU_SH3 || (CPU_SH4 && !CPU_SH4A)
	help
	  Enabling this option will allow the kernel to implement some
	  atomic operations using a software implemention of load-locked/
	  store-conditional (LLSC). On machines which do not have hardware
	  LLSC, this should be more efficient than the other alternative of
	  disabling insterrupts around the atomic sequence.

endmenu
endmenu


menu "Boot options"
menu "Boot options"

arch/sh/Kconfig.cpu

0 → 100644
+115 −0
Original line number Original line Diff line number Diff line
menu "Processor features"

choice
	prompt "Endianess selection" 
	default CPU_LITTLE_ENDIAN
	help
	  Some SuperH machines can be configured for either little or big
	  endian byte order. These modes require different kernels.

config CPU_LITTLE_ENDIAN
	bool "Little Endian"

config CPU_BIG_ENDIAN
	bool "Big Endian"

endchoice

config SH_FPU
	def_bool y
	prompt "FPU support"
	depends on CPU_HAS_FPU
	help
	  Selecting this option will enable support for SH processors that
	  have FPU units (ie, SH77xx).

	  This option must be set in order to enable the FPU.

config SH64_FPU_DENORM_FLUSH
	bool "Flush floating point denorms to zero"
	depends on SH_FPU && SUPERH64

config SH_FPU_EMU
	def_bool n
	prompt "FPU emulation support"
	depends on !SH_FPU && EXPERIMENTAL
	help
	  Selecting this option will enable support for software FPU emulation.
	  Most SH-3 users will want to say Y here, whereas most SH-4 users will
	  want to say N.

config SH_DSP
	def_bool y
	prompt "DSP support"
	depends on CPU_HAS_DSP
	help
	  Selecting this option will enable support for SH processors that
	  have DSP units (ie, SH2-DSP, SH3-DSP, and SH4AL-DSP).

	  This option must be set in order to enable the DSP.

config SH_ADC
	def_bool y
	prompt "ADC support"
	depends on CPU_SH3
	help
	  Selecting this option will allow the Linux kernel to use SH3 on-chip
	  ADC module.

	  If unsure, say N.

config SH_STORE_QUEUES
	bool "Support for Store Queues"
	depends on CPU_SH4
	help
	  Selecting this option will enable an in-kernel API for manipulating
	  the store queues integrated in the SH-4 processors.

config SPECULATIVE_EXECUTION
	bool "Speculative subroutine return"
	depends on CPU_SUBTYPE_SH7780 && EXPERIMENTAL
	help
	  This enables support for a speculative instruction fetch for
	  subroutine return. There are various pitfalls associated with
	  this, as outlined in the SH7780 hardware manual.

	  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

config CPU_HAS_INTEVT
	bool

config CPU_HAS_MASKREG_IRQ
	bool

config CPU_HAS_IPR_IRQ
	bool

config CPU_HAS_SR_RB
	bool
	help
	  This will enable the use of SR.RB register bank usage. Processors
	  that are lacking this bit must have another method in place for
	  accomplishing what is taken care of by the banked registers.

	  See <file:Documentation/sh/register-banks.txt> for further
	  information on SR.RB and register banking in the kernel in general.

config CPU_HAS_PTEA
	bool

config CPU_HAS_DSP
	bool

config CPU_HAS_FPU
	bool

endmenu
+38 −13
Original line number Original line Diff line number Diff line
menu "Kernel hacking"
menu "Kernel hacking"


config TRACE_IRQFLAGS_SUPPORT
config TRACE_IRQFLAGS_SUPPORT
	bool
	def_bool y
	default y


source "lib/Kconfig.debug"
source "lib/Kconfig.debug"


@@ -30,12 +29,13 @@ config EARLY_SCIF_CONSOLE
config EARLY_SCIF_CONSOLE_PORT
config EARLY_SCIF_CONSOLE_PORT
	hex
	hex
	depends on EARLY_SCIF_CONSOLE
	depends on EARLY_SCIF_CONSOLE
	default "0xffe00000" if CPU_SUBTYPE_SH7780
 	default "0xffe00000" if CPU_SUBTYPE_SH7780 || CPU_SUBTYPE_SH7763
	default "0xffea0000" if CPU_SUBTYPE_SH7785
	default "0xffea0000" if CPU_SUBTYPE_SH7785
	default "0xfffe9800" if CPU_SUBTYPE_SH7206
	default "0xfffe8000" if CPU_SUBTYPE_SH7203
	default "0xfffe9800" if CPU_SUBTYPE_SH7206 || CPU_SUBTYPE_SH7263
	default "0xf8420000" if CPU_SUBTYPE_SH7619
	default "0xf8420000" if CPU_SUBTYPE_SH7619
	default "0xa4400000" if CPU_SUBTYPE_SH7712 || CPU_SUBTYPE_SH7705
	default "0xa4400000" if CPU_SUBTYPE_SH7712 || CPU_SUBTYPE_SH7705
	default "0xa4430000" if CPU_SUBTYPE_SH7720
	default "0xa4430000" if CPU_SUBTYPE_SH7720 || CPU_SUBTYPE_SH7721
	default "0xffc30000" if CPU_SUBTYPE_SHX3
	default "0xffc30000" if CPU_SUBTYPE_SHX3
	default "0xffe80000" if CPU_SH4
	default "0xffe80000" if CPU_SH4
	default "0x00000000"
	default "0x00000000"
@@ -62,7 +62,7 @@ config DEBUG_BOOTMEM


config DEBUG_STACKOVERFLOW
config DEBUG_STACKOVERFLOW
	bool "Check for stack overflows"
	bool "Check for stack overflows"
	depends on DEBUG_KERNEL
	depends on DEBUG_KERNEL && SUPERH32
	help
	help
	  This option will cause messages to be printed if free stack space
	  This option will cause messages to be printed if free stack space
	  drops below a certain limit.
	  drops below a certain limit.
@@ -88,7 +88,7 @@ config 4KSTACKS


config IRQSTACKS
config IRQSTACKS
	bool "Use separate kernel stacks when processing interrupts"
	bool "Use separate kernel stacks when processing interrupts"
	depends on DEBUG_KERNEL
	depends on DEBUG_KERNEL && SUPERH32
	help
	help
	  If you say Y here the kernel will use separate kernel stacks
	  If you say Y here the kernel will use separate kernel stacks
	  for handling hard and soft interrupts.  This can help avoid
	  for handling hard and soft interrupts.  This can help avoid
@@ -119,19 +119,19 @@ config COMPILE_OPTIONS
	depends on MORE_COMPILE_OPTIONS
	depends on MORE_COMPILE_OPTIONS


config KGDB_NMI
config KGDB_NMI
	bool "Enter KGDB on NMI"
	def_bool n
	default n
	prompt "Enter KGDB on NMI"


config SH_KGDB_CONSOLE
config SH_KGDB_CONSOLE
	bool "Console messages through GDB"
	def_bool n
	prompt "Console messages through GDB"
	depends on !SERIAL_SH_SCI_CONSOLE && SERIAL_SH_SCI=y
	depends on !SERIAL_SH_SCI_CONSOLE && SERIAL_SH_SCI=y
	select SERIAL_CORE_CONSOLE
	select SERIAL_CORE_CONSOLE
	default n


config KGDB_SYSRQ
config KGDB_SYSRQ
	bool "Allow SysRq 'G' to enter KGDB"
	def_bool y
	prompt "Allow SysRq 'G' to enter KGDB"
	depends on MAGIC_SYSRQ
	depends on MAGIC_SYSRQ
	default y


comment "Serial port setup"
comment "Serial port setup"


@@ -174,4 +174,29 @@ endchoice


endmenu
endmenu


if SUPERH64

config SH64_PROC_ASIDS
	bool "Debug: report ASIDs through /proc/asids"
	depends on PROC_FS

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

config POOR_MANS_STRACE
	bool "Debug: enable rudimentary strace facility"
	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.)

config SH_ALPHANUMERIC
	bool "Enable debug outputs to on-board alphanumeric display"
	depends on SH_CAYMAN

config SH_NO_BSS_INIT
	bool "Avoid zeroing BSS (to speed-up startup on suitable platforms)"

endif

endmenu
endmenu
+68 −35
Original line number Original line Diff line number Diff line
# $Id: Makefile,v 1.35 2004/04/15 03:39:20 sugioka Exp $
#
#
# This file is subject to the terms and conditions of the GNU General Public
# arch/sh/Makefile
# License.  See the file "COPYING" in the main directory of this archive
# for more details.
#
#
# Copyright (C) 1999  Kaz Kojima
# Copyright (C) 1999  Kaz Kojima
# Copyright (C) 2002, 2003, 2004  Paul Mundt
# Copyright (C) 2002, 2003, 2004  Paul Mundt
# Copyright (C) 2002  M. R. Brown
# Copyright (C) 2002  M. R. Brown
#
#
# This file is included by the global makefile so that you can add your own
# This file is subject to the terms and conditions of the GNU General Public
# architecture-specific flags and dependencies. Remember to do have actions
# License.  See the file "COPYING" in the main directory of this archive
# for "archclean" and "archdep" for cleaning up and making dependencies for
# for more details.
# this architecture
#
#
isa-y					:= any
isa-y					:= any
isa-$(CONFIG_SH_DSP)			:= sh
isa-$(CONFIG_SH_DSP)			:= sh
@@ -21,13 +17,9 @@ isa-$(CONFIG_CPU_SH3) := sh3
isa-$(CONFIG_CPU_SH4)			:= sh4
isa-$(CONFIG_CPU_SH4)			:= sh4
isa-$(CONFIG_CPU_SH4A)			:= sh4a
isa-$(CONFIG_CPU_SH4A)			:= sh4a
isa-$(CONFIG_CPU_SH4AL_DSP)		:= sh4al
isa-$(CONFIG_CPU_SH4AL_DSP)		:= sh4al

isa-$(CONFIG_CPU_SH5)			:= shmedia
isa-$(CONFIG_SH_DSP)			:= $(isa-y)-dsp
isa-$(CONFIG_SH_DSP)			:= $(isa-y)-dsp


ifndef CONFIG_MMU
isa-y			:= $(isa-y)-nommu
endif

ifndef CONFIG_SH_DSP
ifndef CONFIG_SH_DSP
ifndef CONFIG_SH_FPU
ifndef CONFIG_SH_FPU
isa-y			:= $(isa-y)-nofpu
isa-y			:= $(isa-y)-nofpu
@@ -44,6 +36,7 @@ cflags-$(CONFIG_CPU_SH4) := $(call cc-option,-m4,) \
	$(call cc-option,-mno-implicit-fp,-m4-nofpu)
	$(call cc-option,-mno-implicit-fp,-m4-nofpu)
cflags-$(CONFIG_CPU_SH4A)		+= $(call cc-option,-m4a,) \
cflags-$(CONFIG_CPU_SH4A)		+= $(call cc-option,-m4a,) \
					   $(call cc-option,-m4a-nofpu,)
					   $(call cc-option,-m4a-nofpu,)
cflags-$(CONFIG_CPU_SH5)		:= $(call cc-option,-m5-32media-nofpu,)


cflags-$(CONFIG_CPU_BIG_ENDIAN)		+= -mb
cflags-$(CONFIG_CPU_BIG_ENDIAN)		+= -mb
cflags-$(CONFIG_CPU_LITTLE_ENDIAN)	+= -ml
cflags-$(CONFIG_CPU_LITTLE_ENDIAN)	+= -ml
@@ -66,22 +59,27 @@ cflags-y += $(isaflags-y) -ffreestanding
cflags-$(CONFIG_MORE_COMPILE_OPTIONS)	+= \
cflags-$(CONFIG_MORE_COMPILE_OPTIONS)	+= \
	$(shell echo $(CONFIG_COMPILE_OPTIONS) | sed -e 's/"//g')
	$(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
OBJCOPYFLAGS	:= -O binary -R .note -R .note.gnu.build-id -R .comment \
		   -R .stab -R .stabstr -S


#
# Give the various platforms the opportunity to set default image types
# arch/sh/defconfig doesn't reflect any real hardware, and as such should
defaultimage-$(CONFIG_SUPERH32)	:= zImage
# never be used by anyone. Use a board-specific defconfig that has a
# reasonable chance of being current instead.
#
KBUILD_DEFCONFIG := r7780rp_defconfig


KBUILD_IMAGE	:= arch/sh/boot/zImage
# Set some sensible Kbuild defaults
KBUILD_DEFCONFIG	:= r7780mp_defconfig
KBUILD_IMAGE		:= $(defaultimage-y)


#
#
# Choosing incompatible machines durings configuration will result in
# Choosing incompatible machines durings configuration will result in
# error messages during linking.
# error messages during linking.
#
#
ifdef CONFIG_SUPERH32
LDFLAGS_vmlinux	+= -e _stext
LDFLAGS_vmlinux	+= -e _stext
else
LDFLAGS_vmlinux	+= --defsym phys_stext=_stext-$(CONFIG_PAGE_OFFSET) \
		   --defsym phys_stext_shmedia=phys_stext+1 \
		   -e phys_stext_shmedia
endif


ifdef CONFIG_CPU_LITTLE_ENDIAN
ifdef CONFIG_CPU_LITTLE_ENDIAN
LDFLAGS_vmlinux		+= --defsym 'jiffies=jiffies_64'
LDFLAGS_vmlinux		+= --defsym 'jiffies=jiffies_64'
@@ -94,7 +92,9 @@ endif
KBUILD_CFLAGS		+= -pipe $(cflags-y)
KBUILD_CFLAGS		+= -pipe $(cflags-y)
KBUILD_AFLAGS		+= $(cflags-y)
KBUILD_AFLAGS		+= $(cflags-y)


head-y := arch/sh/kernel/head.o arch/sh/kernel/init_task.o
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


LIBGCC := $(shell $(CC) $(KBUILD_CFLAGS) -print-libgcc-file-name)
LIBGCC := $(shell $(CC) $(KBUILD_CFLAGS) -print-libgcc-file-name)


@@ -112,11 +112,11 @@ machdir-$(CONFIG_SH_DREAMCAST) += dreamcast
machdir-$(CONFIG_SH_MPC1211)			+= mpc1211
machdir-$(CONFIG_SH_MPC1211)			+= mpc1211
machdir-$(CONFIG_SH_SH03)			+= sh03
machdir-$(CONFIG_SH_SH03)			+= sh03
machdir-$(CONFIG_SH_SECUREEDGE5410)		+= snapgear
machdir-$(CONFIG_SH_SECUREEDGE5410)		+= snapgear
machdir-$(CONFIG_SH_HS7751RVOIP)		+= renesas/hs7751rvoip
machdir-$(CONFIG_SH_RTS7751R2D)			+= renesas/rts7751r2d
machdir-$(CONFIG_SH_RTS7751R2D)			+= renesas/rts7751r2d
machdir-$(CONFIG_SH_7751_SYSTEMH)		+= renesas/systemh
machdir-$(CONFIG_SH_7751_SYSTEMH)		+= renesas/systemh
machdir-$(CONFIG_SH_EDOSK7705)			+= renesas/edosk7705
machdir-$(CONFIG_SH_EDOSK7705)			+= renesas/edosk7705
machdir-$(CONFIG_SH_HIGHLANDER)			+= renesas/r7780rp
machdir-$(CONFIG_SH_HIGHLANDER)			+= renesas/r7780rp
machdir-$(CONFIG_SH_SDK7780)			+= renesas/sdk7780
machdir-$(CONFIG_SH_7710VOIPGW)			+= renesas/sh7710voipgw
machdir-$(CONFIG_SH_7710VOIPGW)			+= renesas/sh7710voipgw
machdir-$(CONFIG_SH_X3PROTO)			+= renesas/x3proto
machdir-$(CONFIG_SH_X3PROTO)			+= renesas/x3proto
machdir-$(CONFIG_SH_SH4202_MICRODEV)		+= superh/microdev
machdir-$(CONFIG_SH_SH4202_MICRODEV)		+= superh/microdev
@@ -127,6 +127,7 @@ machdir-$(CONFIG_SH_7206_SOLUTION_ENGINE) += se/7206
machdir-$(CONFIG_SH_7619_SOLUTION_ENGINE)	+= se/7619
machdir-$(CONFIG_SH_7619_SOLUTION_ENGINE)	+= se/7619
machdir-$(CONFIG_SH_LBOX_RE2)			+= lboxre2
machdir-$(CONFIG_SH_LBOX_RE2)			+= lboxre2
machdir-$(CONFIG_SH_MAGIC_PANEL_R2)		+= magicpanelr2
machdir-$(CONFIG_SH_MAGIC_PANEL_R2)		+= magicpanelr2
machdir-$(CONFIG_SH_CAYMAN)			+= cayman


incdir-y	:= $(notdir $(machdir-y))
incdir-y	:= $(notdir $(machdir-y))


@@ -137,22 +138,22 @@ endif


# Companion chips
# Companion chips
core-$(CONFIG_HD6446X_SERIES)	+= arch/sh/cchips/hd6446x/
core-$(CONFIG_HD6446X_SERIES)	+= arch/sh/cchips/hd6446x/
core-$(CONFIG_MFD_SM501)	+= arch/sh/cchips/voyagergx/


cpuincdir-$(CONFIG_CPU_SH2)	:= cpu-sh2
cpuincdir-$(CONFIG_CPU_SH2)	:= cpu-sh2
cpuincdir-$(CONFIG_CPU_SH2A)	:= cpu-sh2a
cpuincdir-$(CONFIG_CPU_SH2A)	:= cpu-sh2a
cpuincdir-$(CONFIG_CPU_SH3)	:= cpu-sh3
cpuincdir-$(CONFIG_CPU_SH3)	:= cpu-sh3
cpuincdir-$(CONFIG_CPU_SH4)	:= cpu-sh4
cpuincdir-$(CONFIG_CPU_SH4)	:= cpu-sh4
cpuincdir-$(CONFIG_CPU_SH5)	:= cpu-sh5


libs-y				:= arch/sh/lib/	$(libs-y) $(LIBGCC)
libs-$(CONFIG_SUPERH32)		:= arch/sh/lib/	$(libs-y)
libs-$(CONFIG_SUPERH64)		:= arch/sh/lib64/ $(libs-y)
libs-y				+= $(LIBGCC)


drivers-y			+= arch/sh/drivers/
drivers-y			+= arch/sh/drivers/
drivers-$(CONFIG_OPROFILE)	+= arch/sh/oprofile/
drivers-$(CONFIG_OPROFILE)	+= arch/sh/oprofile/


boot := arch/sh/boot
boot := arch/sh/boot


CPPFLAGS_vmlinux.lds := -traditional

incdir-prefix	:= $(srctree)/include/asm-sh/
incdir-prefix	:= $(srctree)/include/asm-sh/


#	Update machine arch and proc symlinks if something which affects
#	Update machine arch and proc symlinks if something which affects
@@ -196,29 +197,61 @@ include/asm-sh/.mach: $(wildcard include/config/sh/*.h) \
	done
	done
	@touch $@
	@touch $@


archprepare: include/asm-sh/.cpu include/asm-sh/.mach maketools

PHONY += maketools FORCE
PHONY += maketools FORCE

maketools:  include/linux/version.h FORCE
maketools:  include/linux/version.h FORCE
	$(Q)$(MAKE) $(build)=arch/sh/tools include/asm-sh/machtypes.h
	$(Q)$(MAKE) $(build)=arch/sh/tools include/asm-sh/machtypes.h


all: zImage
all: $(KBUILD_IMAGE)


zImage uImage uImage.srec vmlinux.srec: vmlinux
zImage uImage uImage.srec vmlinux.srec: vmlinux
	$(Q)$(MAKE) $(build)=$(boot) $(boot)/$@
	$(Q)$(MAKE) $(build)=$(boot) $(boot)/$@


compressed: zImage
compressed: zImage


archprepare: include/asm-sh/.cpu include/asm-sh/.mach maketools \
	     arch/sh/lib64/syscalltab.h

archclean:
archclean:
	$(Q)$(MAKE) $(clean)=$(boot)
	$(Q)$(MAKE) $(clean)=$(boot)


CLEAN_FILES += include/asm-sh/machtypes.h \
	       include/asm-sh/cpu include/asm-sh/.cpu \
	       include/asm-sh/mach include/asm-sh/.mach

define archhelp
define archhelp
	@echo '* zImage 	           - Compressed kernel image'
	@echo '* zImage 	           - Compressed kernel image'
	@echo '  vmlinux.srec	           - Create an ELF S-record'
	@echo '  vmlinux.srec	           - Create an ELF S-record'
	@echo '  uImage  	           - Create a bootable image for U-Boot'
	@echo '  uImage  	           - Create a bootable image for U-Boot'
	@echo '  uImage.srec  	           - Create an S-record for U-Boot'
	@echo '  uImage.srec  	           - Create an S-record for U-Boot'
endef
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 \
	       include/asm-sh/cpu include/asm-sh/.cpu \
	       include/asm-sh/mach include/asm-sh/.mach
Loading