License cleanup: add SPDX GPL-2.0 license identifier to files with no license
Many source files in the tree are missing licensing information, which
makes it harder for compliance tools to determine the correct license.
By default all files without license information are under the default
license of the kernel, which is GPL version 2.
Update the files which contain no license information with the 'GPL-2.0'
SPDX license identifier. The SPDX identifier is a legally binding
shorthand, which can be used instead of the full boiler plate text.
This patch is based on work done by Thomas Gleixner and Kate Stewart and
Philippe Ombredanne.
How this work was done:
Patches were generated and checked against linux-4.14-rc6 for a subset of
the use cases:
- file had no licensing information it it.
- file was a */uapi/* one with no licensing information in it,
- file was a */uapi/* one with existing licensing information,
Further patches will be generated in subsequent months to fix up cases
where non-standard license headers were used, and references to license
had to be inferred by heuristics based on keywords.
The analysis to determine which SPDX License Identifier to be applied to
a file was done in a spreadsheet of side by side results from of the
output of two independent scanners (ScanCode & Windriver) producing SPDX
tag:value files created by Philippe Ombredanne. Philippe prepared the
base worksheet, and did an initial spot review of a few 1000 files.
The 4.13 kernel was the starting point of the analysis with 60,537 files
assessed. Kate Stewart did a file by file comparison of the scanner
results in the spreadsheet to determine which SPDX license identifier(s)
to be applied to the file. She confirmed any determination that was not
immediately clear with lawyers working with the Linux Foundation.
Criteria used to select files for SPDX license identifier tagging was:
- Files considered eligible had to be source code files.
- Make and config files were included as candidates if they contained >5
lines of source
- File already had some variant of a license header in it (even if <5
lines).
All documentation files were explicitly excluded.
The following heuristics were used to determine which SPDX license
identifiers to apply.
- when both scanners couldn't find any license traces, file was
considered to have no license information in it, and the top level
COPYING file license applied.
For non */uapi/* files that summary was:
SPDX license identifier # files
---------------------------------------------------|-------
GPL-2.0 11139
and resulted in the first patch in this series.
If that file was a */uapi/* path one, it was "GPL-2.0 WITH
Linux-syscall-note" otherwise it was "GPL-2.0". Results of that was:
SPDX license identifier # files
---------------------------------------------------|-------
GPL-2.0 WITH Linux-syscall-note 930
and resulted in the second patch in this series.
- if a file had some form of licensing information in it, and was one
of the */uapi/* ones, it was denoted with the Linux-syscall-note if
any GPL family license was found in the file or had no licensing in
it (per prior point). Results summary:
SPDX license identifier # files
---------------------------------------------------|------
GPL-2.0 WITH Linux-syscall-note 270
GPL-2.0+ WITH Linux-syscall-note 169
((GPL-2.0 WITH Linux-syscall-note) OR BSD-2-Clause) 21
((GPL-2.0 WITH Linux-syscall-note) OR BSD-3-Clause) 17
LGPL-2.1+ WITH Linux-syscall-note 15
GPL-1.0+ WITH Linux-syscall-note 14
((GPL-2.0+ WITH Linux-syscall-note) OR BSD-3-Clause) 5
LGPL-2.0+ WITH Linux-syscall-note 4
LGPL-2.1 WITH Linux-syscall-note 3
((GPL-2.0 WITH Linux-syscall-note) OR MIT) 3
((GPL-2.0 WITH Linux-syscall-note) AND MIT) 1
and that resulted in the third patch in this series.
- when the two scanners agreed on the detected license(s), that became
the concluded license(s).
- when there was disagreement between the two scanners (one detected a
license but the other didn't, or they both detected different
licenses) a manual inspection of the file occurred.
- In most cases a manual inspection of the information in the file
resulted in a clear resolution of the license that should apply (and
which scanner probably needed to revisit its heuristics).
- When it was not immediately clear, the license identifier was
confirmed with lawyers working with the Linux Foundation.
- If there was any question as to the appropriate license identifier,
the file was flagged for further research and to be revisited later
in time.
In total, over 70 hours of logged manual review was done on the
spreadsheet to determine the SPDX license identifiers to apply to the
source files by Kate, Philippe, Thomas and, in some cases, confirmation
by lawyers working with the Linux Foundation.
Kate also obtained a third independent scan of the 4.13 code base from
FOSSology, and compared selected files where the other two scanners
disagreed against that SPDX file, to see if there was new insights. The
Windriver scanner is based on an older version of FOSSology in part, so
they are related.
Thomas did random spot checks in about 500 files from the spreadsheets
for the uapi headers and agreed with SPDX license identifier in the
files he inspected. For the non-uapi files Thomas did random spot checks
in about 15000 files.
In initial set of patches against 4.14-rc6, 3 files were found to have
copy/paste license identifier errors, and have been fixed to reflect the
correct identifier.
Additionally Philippe spent 10 hours this week doing a detailed manual
inspection and review of the 12,461 patched files from the initial patch
version early this week with:
- a full scancode scan run, collecting the matched texts, detected
license ids and scores
- reviewing anything where there was a license detected (about 500+
files) to ensure that the applied SPDX license was correct
- reviewing anything where there was no detection but the patch license
was not GPL-2.0 WITH Linux-syscall-note to ensure that the applied
SPDX license was correct
This produced a worksheet with 20 files needing minor correction. This
worksheet was then exported into 3 different .csv files for the
different types of files to be modified.
These .csv files were then reviewed by Greg. Thomas wrote a script to
parse the csv files and add the proper SPDX tag to the file, in the
format that the file expected. This script was further refined by Greg
based on the output to detect more types of files automatically and to
distinguish between header and source .c files (which need different
comment types.) Finally Greg ran the script using the .csv files to
generate the patches.
Reviewed-by: Kate Stewart <kstewart@linuxfoundation.org>
Reviewed-by: Philippe Ombredanne <pombredanne@nexb.com>
Reviewed-by: Thomas Gleixner <tglx@linutronix.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2017-11-01 17:07:57 +03:00
# SPDX-License-Identifier: GPL-2.0
2005-04-17 02:20:36 +04:00
config SUPERH
2007-11-21 09:58:01 +03:00
def_bool y
2020-07-14 15:18:48 +03:00
select ARCH_32BIT_OFF_T
2021-05-05 04:38:17 +03:00
select ARCH_ENABLE_MEMORY_HOTPLUG if SPARSEMEM && MMU
select ARCH_ENABLE_MEMORY_HOTREMOVE if SPARSEMEM && MMU
2020-07-14 15:18:48 +03:00
select ARCH_HAVE_CUSTOM_GPIO_H
select ARCH_HAVE_NMI_SAFE_CMPXCHG if (GUSA_RB || CPU_SH4A)
2019-06-13 10:08:57 +03:00
select ARCH_HAS_BINFMT_FLAT if !MMU
2022-02-16 23:05:28 +03:00
select ARCH_HAS_CURRENT_STACK_POINTER
2020-07-14 15:18:48 +03:00
select ARCH_HAS_GIGANTIC_PAGE
select ARCH_HAS_GCOV_PROFILE_ALL
2018-06-08 03:06:08 +03:00
select ARCH_HAS_PTE_SPECIAL
2016-02-13 01:05:11 +03:00
select ARCH_HAS_TICK_BROADCAST if GENERIC_CLOCKEVENTS_BROADCAST
2020-07-14 15:18:48 +03:00
select ARCH_HIBERNATION_POSSIBLE if MMU
2013-10-08 06:15:58 +04:00
select ARCH_MIGHT_HAVE_PC_PARPORT
2020-07-14 15:18:48 +03:00
select ARCH_WANT_IPC_PARSE_VERSION
select CPU_NO_EFFICIENT_FFS
2019-02-03 22:12:02 +03:00
select DMA_DECLARE_COHERENT
2020-07-14 15:18:48 +03:00
select GENERIC_ATOMIC64
select GENERIC_CMOS_UPDATE if SH_SH03 || SH_DREAMCAST
select GENERIC_IDLE_POLL_SETUP
select GENERIC_IRQ_SHOW
select GENERIC_PCI_IOMAP if PCI
select GENERIC_SCHED_CLOCK
select GENERIC_SMP_IDLE_THREAD
select GUP_GET_PTE_LOW_HIGH if X2TLB
select HAVE_ARCH_AUDITSYSCALL
select HAVE_ARCH_KGDB
2020-07-23 02:13:21 +03:00
select HAVE_ARCH_SECCOMP_FILTER
2008-12-10 14:17:15 +03:00
select HAVE_ARCH_TRACEHOOK
2012-10-09 03:28:13 +04:00
select HAVE_DEBUG_BUGVERBOSE
2012-10-09 03:28:11 +04:00
select HAVE_DEBUG_KMEMLEAK
2020-07-14 15:18:48 +03:00
select HAVE_DYNAMIC_FTRACE
select HAVE_FAST_GUP if MMU
select HAVE_FUNCTION_GRAPH_TRACER
select HAVE_FUNCTION_TRACER
select HAVE_FTRACE_MCOUNT_RECORD
select HAVE_HW_BREAKPOINT
select HAVE_IOREMAP_PROT if MMU && !X2TLB
2009-07-11 21:21:19 +04:00
select HAVE_KERNEL_BZIP2
2020-07-14 15:18:48 +03:00
select HAVE_KERNEL_GZIP
2009-07-11 21:21:19 +04:00
select HAVE_KERNEL_LZMA
2010-01-13 07:29:19 +03:00
select HAVE_KERNEL_LZO
2020-07-14 15:18:48 +03:00
select HAVE_KERNEL_XZ
select HAVE_KPROBES
select HAVE_KRETPROBES
select HAVE_MIXED_BREAKPOINTS_REGS
select HAVE_MOD_ARCH_SPECIFIC if DWARF_UNWINDER
select HAVE_NMI
select HAVE_PATA_PLATFORM
select HAVE_PERF_EVENTS
select HAVE_REGS_AND_STACK_ACCESS_API
2012-10-09 03:28:08 +04:00
select HAVE_UID16
2021-02-10 02:40:52 +03:00
select HAVE_SOFTIRQ_ON_OWN_STACK if IRQSTACKS
2020-07-14 15:18:48 +03:00
select HAVE_STACKPROTECTOR
2009-09-16 09:30:34 +04:00
select HAVE_SYSCALL_TRACEPOINTS
2011-04-18 06:45:27 +04:00
select IRQ_FORCED_THREADING
2012-09-28 09:01:03 +04:00
select MODULES_USE_ELF_RELA
2020-07-14 15:18:48 +03:00
select NEED_SG_DMA_LENGTH
2020-07-14 15:18:55 +03:00
select NO_DMA if !MMU && !DMA_COHERENT
2018-11-15 22:05:32 +03:00
select NO_GENERIC_PCI_IOPORT_MAP if PCI
2012-12-26 04:23:55 +04:00
select OLD_SIGACTION
2020-07-14 15:18:48 +03:00
select OLD_SIGSUSPEND
2018-11-15 22:05:32 +03:00
select PCI_DOMAINS if PCI
2010-08-14 16:23:39 +04:00
select PERF_EVENTS
2020-07-14 15:18:48 +03:00
select PERF_USE_VMALLOC
select RTC_LIB
2010-10-26 10:20:51 +04:00
select SPARSE_IRQ
2021-07-31 08:22:32 +03:00
select TRACE_IRQFLAGS_SUPPORT
2020-04-20 12:37:12 +03:00
help
The SuperH is a RISC processor targeted for use in embedded systems
and consumer electronics; it was also used in the Sega Dreamcast
gaming console. The SuperH port has a home page at
<http://www.linux-sh.org/>.
2007-11-08 12:39:33 +03:00
2007-03-08 13:41:21 +03:00
config GENERIC_BUG
def_bool y
2020-04-20 12:37:12 +03:00
depends on BUG
2009-06-14 19:00:42 +04:00
[PATCH] bitops: sh: use generic bitops
- remove __{,test_and_}{set,clear,change}_bit() and test_bit()
- remove find_{next,first}{,_zero}_bit()
- remove generic_ffs()
- remove generic_hweight{32,16,8}()
- remove sched_find_first_bit()
- remove ext2_{set,clear,test,find_first_zero,find_next_zero}_bit()
- remove ext2_{set,clear}_bit_atomic()
- remove minix_{test,set,test_and_clear,test,find_first_zero}_bit()
- remove generic_fls()
- remove generic_fls64()
Signed-off-by: Akinobu Mita <mita@miraclelinux.com>
Cc: Paul Mundt <lethal@linux-sh.org>
Cc: Kazumoto Kojima <kkojima@rr.iij4u.or.jp>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2006-03-26 13:39:35 +04:00
config GENERIC_HWEIGHT
2007-12-11 07:49:35 +03:00
def_bool y
[PATCH] bitops: sh: use generic bitops
- remove __{,test_and_}{set,clear,change}_bit() and test_bit()
- remove find_{next,first}{,_zero}_bit()
- remove generic_ffs()
- remove generic_hweight{32,16,8}()
- remove sched_find_first_bit()
- remove ext2_{set,clear,test,find_first_zero,find_next_zero}_bit()
- remove ext2_{set,clear}_bit_atomic()
- remove minix_{test,set,test_and_clear,test,find_first_zero}_bit()
- remove generic_fls()
- remove generic_fls64()
Signed-off-by: Akinobu Mita <mita@miraclelinux.com>
Cc: Paul Mundt <lethal@linux-sh.org>
Cc: Kazumoto Kojima <kkojima@rr.iij4u.or.jp>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2006-03-26 13:39:35 +04:00
2005-04-17 02:20:36 +04:00
config GENERIC_CALIBRATE_DELAY
2008-09-08 15:47:42 +04:00
bool
2005-04-17 02:20:36 +04:00
2008-08-04 09:09:15 +04:00
config GENERIC_LOCKBREAK
def_bool y
2019-10-15 22:18:05 +03:00
depends on SMP && PREEMPTION
2008-08-04 09:09:15 +04:00
2008-12-04 16:45:12 +03:00
config ARCH_SUSPEND_POSSIBLE
def_bool n
config ARCH_HIBERNATION_POSSIBLE
def_bool n
2007-06-11 10:32:07 +04:00
2007-01-24 15:56:20 +03:00
config SYS_SUPPORTS_APM_EMULATION
bool
2008-12-04 16:45:12 +03:00
select ARCH_SUSPEND_POSSIBLE
2007-06-11 10:32:07 +04:00
config SYS_SUPPORTS_SMP
bool
config SYS_SUPPORTS_NUMA
bool
2006-12-04 12:17:28 +03:00
config STACKTRACE_SUPPORT
2007-12-11 07:49:35 +03:00
def_bool y
2006-12-04 12:17:28 +03:00
config LOCKDEP_SUPPORT
2007-12-11 07:49:35 +03:00
def_bool y
2006-12-04 12:17:28 +03:00
2006-12-08 13:37:49 +03:00
config ARCH_HAS_ILOG2_U32
2007-12-11 07:49:35 +03:00
def_bool n
2006-12-08 13:37:49 +03:00
config ARCH_HAS_ILOG2_U64
2007-12-11 07:49:35 +03:00
def_bool n
2006-12-08 13:37:49 +03:00
2014-04-08 02:39:19 +04:00
config NO_IOPORT_MAP
2010-11-01 16:49:04 +03:00
def_bool !PCI
2020-06-17 09:55:38 +03:00
depends on !SH_SH4202_MICRODEV && !SH_SHMIN && !SH_HP6XX && \
!SH_SOLUTION_ENGINE
2010-05-25 15:06:13 +04:00
2008-02-07 14:18:21 +03:00
config IO_TRAPPED
bool
2012-03-29 11:05:10 +04:00
config SWAP_IO_SPACE
bool
2009-10-27 04:35:02 +03:00
config DMA_COHERENT
bool
config DMA_NONCOHERENT
2020-07-14 15:18:55 +03:00
def_bool !NO_DMA && !DMA_COHERENT
2020-07-14 15:18:56 +03:00
select ARCH_HAS_DMA_PREP_COHERENT
2018-05-11 09:36:53 +03:00
select ARCH_HAS_SYNC_DMA_FOR_DEVICE
2020-07-14 15:18:56 +03:00
select DMA_DIRECT_REMAP
2009-10-27 04:35:02 +03:00
2015-04-15 01:46:02 +03:00
config PGTABLE_LEVELS
default 3 if X2TLB
default 2
2005-04-17 02:20:36 +04:00
menu "System type"
2007-11-08 12:38:14 +03:00
#
# Processor families
#
config CPU_SH2
bool
2014-08-20 17:39:22 +04:00
select SH_INTC
2007-11-08 12:38:14 +03:00
config CPU_SH2A
bool
select CPU_SH2
2010-11-04 06:32:24 +03:00
select UNCACHED_MAPPING
2007-11-08 12:38:14 +03:00
2016-03-18 02:09:37 +03:00
config CPU_J2
bool
select CPU_SH2
select OF
select OF_EARLY_FLATTREE
2007-11-08 12:38:14 +03:00
config CPU_SH3
bool
select CPU_HAS_INTEVT
select CPU_HAS_SR_RB
2014-08-20 17:39:22 +04:00
select SH_INTC
2014-02-20 15:54:47 +04:00
select SYS_SUPPORTS_SH_TMU
2007-11-08 12:38:14 +03:00
config CPU_SH4
bool
2021-05-05 04:38:13 +03:00
select ARCH_SUPPORTS_HUGETLBFS if MMU
2007-11-08 12:38:14 +03:00
select CPU_HAS_INTEVT
select CPU_HAS_SR_RB
select CPU_HAS_FPU if !CPU_SH4AL_DSP
2014-08-20 17:39:22 +04:00
select SH_INTC
2014-02-20 15:54:47 +04:00
select SYS_SUPPORTS_SH_TMU
2007-11-08 12:38:14 +03:00
config CPU_SH4A
bool
select CPU_SH4
config CPU_SH4AL_DSP
bool
select CPU_SH4A
select CPU_HAS_DSP
config CPU_SHX2
bool
config CPU_SHX3
bool
2009-10-27 04:35:02 +03:00
select DMA_COHERENT
2010-05-11 10:24:04 +04:00
select SYS_SUPPORTS_SMP
select SYS_SUPPORTS_NUMA
2007-11-08 12:38:14 +03:00
2009-03-10 10:26:29 +03:00
config ARCH_SHMOBILE
bool
2009-03-13 18:23:04 +03:00
select ARCH_SUSPEND_POSSIBLE
2014-12-19 17:37:54 +03:00
select PM
2009-03-10 10:26:29 +03:00
2010-09-10 23:36:23 +04:00
config CPU_HAS_PMU
depends on CPU_SH4 || CPU_SH4A
default y
bool
2007-11-08 12:38:14 +03:00
choice
prompt "Processor sub-type selection"
#
# Processor subtypes
#
# SH-2 Processor Support
config CPU_SUBTYPE_SH7619
bool "Support SH7619 processor"
select CPU_SH2
2014-02-20 15:54:47 +04:00
select SYS_SUPPORTS_SH_CMT
2007-11-08 12:38:14 +03:00
2016-03-18 02:09:37 +03:00
config CPU_SUBTYPE_J2
bool "Support J2 processor"
select CPU_J2
2016-02-15 21:36:13 +03:00
select SYS_SUPPORTS_SMP
select GENERIC_CLOCKEVENTS_BROADCAST if SMP
2016-03-18 02:09:37 +03:00
2007-11-08 12:38:14 +03:00
# SH-2A Processor Support
2008-11-28 16:48:20 +03:00
config CPU_SUBTYPE_SH7201
bool "Support SH7201 processor"
select CPU_SH2A
select CPU_HAS_FPU
2014-02-20 15:54:47 +04:00
select SYS_SUPPORTS_SH_MTU2
2008-11-28 16:48:20 +03:00
2007-11-26 12:17:21 +03:00
config CPU_SUBTYPE_SH7203
bool "Support SH7203 processor"
select CPU_SH2A
2007-11-26 14:38:36 +03:00
select CPU_HAS_FPU
2014-02-20 15:54:47 +04:00
select SYS_SUPPORTS_SH_CMT
select SYS_SUPPORTS_SH_MTU2
2012-12-16 02:51:05 +04:00
select PINCTRL
2007-11-26 12:17:21 +03:00
2007-11-08 12:38:14 +03:00
config CPU_SUBTYPE_SH7206
bool "Support SH7206 processor"
select CPU_SH2A
2014-02-20 15:54:47 +04:00
select SYS_SUPPORTS_SH_CMT
select SYS_SUPPORTS_SH_MTU2
2007-11-08 12:38:14 +03:00
2007-11-26 13:54:02 +03:00
config CPU_SUBTYPE_SH7263
bool "Support SH7263 processor"
select CPU_SH2A
2007-11-26 14:38:36 +03:00
select CPU_HAS_FPU
2014-02-20 15:54:47 +04:00
select SYS_SUPPORTS_SH_CMT
select SYS_SUPPORTS_SH_MTU2
2007-11-26 13:54:02 +03:00
2012-05-09 10:59:27 +04:00
config CPU_SUBTYPE_SH7264
bool "Support SH7264 processor"
select CPU_SH2A
select CPU_HAS_FPU
2014-02-20 15:54:47 +04:00
select SYS_SUPPORTS_SH_CMT
select SYS_SUPPORTS_SH_MTU2
2012-12-16 02:51:06 +04:00
select PINCTRL
2012-05-09 10:59:27 +04:00
2012-05-10 12:26:52 +04:00
config CPU_SUBTYPE_SH7269
bool "Support SH7269 processor"
select CPU_SH2A
select CPU_HAS_FPU
2014-02-20 15:54:47 +04:00
select SYS_SUPPORTS_SH_CMT
select SYS_SUPPORTS_SH_MTU2
2012-12-16 02:51:07 +04:00
select PINCTRL
2012-05-10 12:26:52 +04:00
2008-03-13 06:52:44 +03:00
config CPU_SUBTYPE_MXG
bool "Support MX-G processor"
select CPU_SH2A
2014-02-20 15:54:47 +04:00
select SYS_SUPPORTS_SH_MTU2
2008-03-13 06:52:44 +03:00
help
Select MX-G if running on an R8A03022BG part.
2007-11-08 12:38:14 +03:00
# 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
Select SH7706 if you have a 133 Mhz SH-3 HD6417706 CPU.
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 CPU_SUBTYPE_SH7708
bool "Support SH7708 processor"
select CPU_SH3
help
Select SH7708 if you have a 60 Mhz SH-3 HD6417708S or
if you have a 100 Mhz SH-3 HD6417708R CPU.
config CPU_SUBTYPE_SH7709
bool "Support SH7709 processor"
select CPU_SH3
help
Select SH7709 if you have a 80 Mhz SH-3 HD6417709 CPU.
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 CPU_SUBTYPE_SH7712
bool "Support SH7712 processor"
select CPU_SH3
select CPU_HAS_DSP
help
Select SH7712 if you have a SH3-DSP SH7712 CPU.
config CPU_SUBTYPE_SH7720
bool "Support SH7720 processor"
select CPU_SH3
select CPU_HAS_DSP
2014-02-20 15:54:47 +04:00
select SYS_SUPPORTS_SH_CMT
2011-06-30 10:04:38 +04:00
select USB_OHCI_SH if USB_OHCI_HCD
2012-12-16 02:51:08 +04:00
select PINCTRL
2007-11-08 12:38:14 +03:00
help
Select SH7720 if you have a SH3-DSP SH7720 CPU.
2007-12-26 05:45:06 +03:00
config CPU_SUBTYPE_SH7721
bool "Support SH7721 processor"
select CPU_SH3
select CPU_HAS_DSP
2014-02-20 15:54:47 +04:00
select SYS_SUPPORTS_SH_CMT
2011-06-30 10:04:38 +04:00
select USB_OHCI_SH if USB_OHCI_HCD
2007-12-26 05:45:06 +03:00
help
Select SH7721 if you have a SH3-DSP SH7721 CPU.
2007-11-08 12:38:14 +03:00
# SH-4 Processor Support
config CPU_SUBTYPE_SH7750
bool "Support SH7750 processor"
select CPU_SH4
help
Select SH7750 if you have a 200 Mhz SH-4 HD6417750 CPU.
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_SUBTYPE_SH7750R
bool "Support SH7750R processor"
select CPU_SH4
config CPU_SUBTYPE_SH7750S
bool "Support SH7750S processor"
select CPU_SH4
config CPU_SUBTYPE_SH7751
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_SUBTYPE_SH7751R
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
2008-04-09 12:56:18 +04:00
config CPU_SUBTYPE_SH7723
bool "Support SH7723 processor"
select CPU_SH4A
select CPU_SHX2
2009-03-10 10:26:29 +03:00
select ARCH_SHMOBILE
2008-04-09 12:56:18 +04:00
select ARCH_SPARSEMEM_ENABLE
2014-02-20 15:54:47 +04:00
select SYS_SUPPORTS_SH_CMT
2012-12-16 02:51:10 +04:00
select PINCTRL
2008-04-09 12:56:18 +04:00
help
Select SH7723 if you have an SH-MobileR2 CPU.
2009-04-16 09:40:56 +04:00
config CPU_SUBTYPE_SH7724
bool "Support SH7724 processor"
select CPU_SH4A
select CPU_SHX2
2009-04-16 10:43:42 +04:00
select ARCH_SHMOBILE
2009-04-16 09:40:56 +04:00
select ARCH_SPARSEMEM_ENABLE
2014-02-20 15:54:47 +04:00
select SYS_SUPPORTS_SH_CMT
2012-12-16 02:51:11 +04:00
select PINCTRL
2009-04-16 09:40:56 +04:00
help
Select SH7724 if you have an SH-MobileR2R CPU.
2012-04-12 10:45:32 +04:00
config CPU_SUBTYPE_SH7734
bool "Support SH7734 processor"
select CPU_SH4A
select CPU_SHX2
2012-12-16 02:51:12 +04:00
select PINCTRL
2012-04-12 10:45:32 +04:00
help
Select SH7734 if you have a SH4A SH7734 CPU.
2009-08-21 11:30:28 +04:00
config CPU_SUBTYPE_SH7757
bool "Support SH7757 processor"
select CPU_SH4A
select CPU_SHX2
2012-12-16 02:51:13 +04:00
select PINCTRL
2009-08-21 11:30:28 +04:00
help
Select SH7757 if you have a SH4A SH7757 CPU.
2008-01-07 08:40:07 +03:00
config CPU_SUBTYPE_SH7763
bool "Support SH7763 processor"
select CPU_SH4A
2011-06-30 10:04:38 +04:00
select USB_OHCI_SH if USB_OHCI_HCD
2008-01-07 08:40:07 +03:00
help
Select SH7763 if you have a SH4A SH7763(R5S77631) CPU.
2007-11-08 12:38:14 +03:00
config CPU_SUBTYPE_SH7770
bool "Support SH7770 processor"
select CPU_SH4A
config CPU_SUBTYPE_SH7780
bool "Support SH7780 processor"
select CPU_SH4A
config CPU_SUBTYPE_SH7785
bool "Support SH7785 processor"
select CPU_SH4A
select CPU_SHX2
2009-03-03 09:40:25 +03:00
select ARCH_SPARSEMEM_ENABLE
select SYS_SUPPORTS_NUMA
2012-12-16 02:51:14 +04:00
select PINCTRL
2009-03-03 09:40:25 +03:00
config CPU_SUBTYPE_SH7786
bool "Support SH7786 processor"
select CPU_SH4A
2009-03-03 09:57:02 +03:00
select CPU_SHX3
2009-03-17 11:49:49 +03:00
select CPU_HAS_PTEAEX
2009-06-19 11:00:00 +04:00
select GENERIC_CLOCKEVENTS_BROADCAST if SMP
2011-06-30 10:04:38 +04:00
select USB_OHCI_SH if USB_OHCI_HCD
select USB_EHCI_SH if USB_EHCI_HCD
2012-12-16 02:51:15 +04:00
select PINCTRL
2007-11-08 12:38:14 +03:00
config CPU_SUBTYPE_SHX3
bool "Support SH-X3 processor"
select CPU_SH4A
select CPU_SHX3
2008-09-05 10:36:39 +04:00
select GENERIC_CLOCKEVENTS_BROADCAST if SMP
2016-04-19 14:26:08 +03:00
select GPIOLIB
2012-12-16 02:51:16 +04:00
select PINCTRL
2007-11-08 12:38:14 +03:00
# SH4AL-DSP Processor Support
config CPU_SUBTYPE_SH7343
bool "Support SH7343 processor"
select CPU_SH4AL_DSP
2009-03-10 10:26:29 +03:00
select ARCH_SHMOBILE
2014-02-20 15:54:47 +04:00
select SYS_SUPPORTS_SH_CMT
2007-11-08 12:38:14 +03:00
config CPU_SUBTYPE_SH7722
bool "Support SH7722 processor"
select CPU_SH4AL_DSP
select CPU_SHX2
2009-03-10 10:26:29 +03:00
select ARCH_SHMOBILE
2007-11-08 12:38:14 +03:00
select ARCH_SPARSEMEM_ENABLE
select SYS_SUPPORTS_NUMA
2014-02-20 15:54:47 +04:00
select SYS_SUPPORTS_SH_CMT
2012-12-16 02:51:09 +04:00
select PINCTRL
2008-02-08 11:31:24 +03:00
config CPU_SUBTYPE_SH7366
bool "Support SH7366 processor"
select CPU_SH4AL_DSP
select CPU_SHX2
2009-03-10 10:26:29 +03:00
select ARCH_SHMOBILE
2008-02-08 11:31:24 +03:00
select ARCH_SPARSEMEM_ENABLE
select SYS_SUPPORTS_NUMA
2014-02-20 15:54:47 +04:00
select SYS_SUPPORTS_SH_CMT
2007-11-08 12:38:14 +03:00
2009-04-11 03:39:27 +04:00
endchoice
2007-05-14 12:29:12 +04:00
source "arch/sh/mm/Kconfig"
2008-07-29 16:41:37 +04:00
2007-11-09 07:45:42 +03:00
source "arch/sh/Kconfig.cpu"
2007-05-14 12:29:12 +04:00
2008-07-29 16:41:37 +04:00
source "arch/sh/boards/Kconfig"
2007-03-12 08:38:59 +03:00
menu "Timer and clock configuration"
2006-01-17 09:14:19 +03:00
config SH_PCLK_FREQ
int "Peripheral clock frequency (in Hz)"
2009-12-29 05:09:30 +03:00
depends on SH_CLK_CPG_LEGACY
2006-11-05 09:40:13 +03:00
default "31250000" if CPU_SUBTYPE_SH7619
2009-12-29 05:09:30 +03:00
default "33333333" if CPU_SUBTYPE_SH7770 || \
CPU_SUBTYPE_SH7760 || \
CPU_SUBTYPE_SH7705 || \
CPU_SUBTYPE_SH7203 || \
CPU_SUBTYPE_SH7206 || \
CPU_SUBTYPE_SH7263 || \
2010-01-19 13:37:14 +03:00
CPU_SUBTYPE_MXG
2007-05-15 11:25:47 +04:00
default "60000000" if CPU_SUBTYPE_SH7751 || CPU_SUBTYPE_SH7751R
2006-01-17 09:14:19 +03:00
default "66000000" if CPU_SUBTYPE_SH4_202
2007-05-15 11:25:47 +04:00
default "50000000"
2005-04-17 02:20:36 +04:00
help
2006-01-17 09:14:19 +03:00
This option is used to specify the peripheral clock frequency.
This is necessary for determining the reference clock value on
platforms lacking an RTC.
2005-04-17 02:20:36 +04:00
2009-05-22 09:00:34 +04:00
config SH_CLK_CPG
def_bool y
2009-05-13 12:38:11 +04:00
config SH_CLK_CPG_LEGACY
2009-05-22 09:00:34 +04:00
depends on SH_CLK_CPG
2010-01-19 13:37:14 +03:00
def_bool y if !CPU_SUBTYPE_SH7785 && !ARCH_SHMOBILE && \
2012-05-09 10:59:27 +04:00
!CPU_SHX3 && !CPU_SUBTYPE_SH7757 && \
2012-05-10 12:20:56 +04:00
!CPU_SUBTYPE_SH7734 && !CPU_SUBTYPE_SH7264 && \
!CPU_SUBTYPE_SH7269
2009-05-13 12:38:11 +04:00
2007-03-12 08:38:59 +03:00
endmenu
2006-01-17 09:14:19 +03:00
menu "CPU Frequency scaling"
source "drivers/cpufreq/Kconfig"
endmenu
2006-11-24 05:22:57 +03:00
source "arch/sh/drivers/Kconfig"
2006-01-17 09:14:19 +03:00
endmenu
2005-04-17 02:20:36 +04:00
2006-01-17 09:14:19 +03:00
menu "Kernel features"
2018-12-11 14:01:04 +03:00
source "kernel/Kconfig.hz"
2006-09-27 13:08:33 +04:00
2006-01-17 09:14:19 +03:00
config KEXEC
bool "kexec system call (EXPERIMENTAL)"
2020-04-20 12:37:12 +03:00
depends on MMU
2015-09-10 01:38:55 +03:00
select KEXEC_CORE
2005-04-17 02:20:36 +04:00
help
2006-01-17 09:14:19 +03:00
kexec is a system call that implements the ability to shutdown your
current kernel, and to start another kernel. It is like a reboot
2006-06-29 09:32:47 +04:00
but it is independent of the system firmware. And like a reboot
2006-01-17 09:14:19 +03:00
you can start any kernel with it, not just Linux.
2006-06-29 09:32:47 +04:00
The name comes from the similarity to the exec system call.
2006-01-17 09:14:19 +03:00
It is an ongoing process to be certain the hardware in a machine
is properly shutdown, so do not be surprised if this code does not
2013-08-20 23:38:03 +04:00
initially work for you. As of this writing the exact hardware
interface is strongly in flux, so no good recommendation can be
made.
2006-01-17 09:14:19 +03:00
2007-04-27 06:25:57 +04:00
config CRASH_DUMP
bool "kernel crash dumps (EXPERIMENTAL)"
2020-04-20 12:37:12 +03:00
depends on BROKEN_ON_SMP
2007-04-27 06:25:57 +04:00
help
Generate crash dump after being started by kexec.
This should be normally only set in special crash dump kernels
which are loaded in the main kernel with kexec-tools into
a specially reserved region and then later executed after
a crash by kdump/kexec. The crash dump kernel must be compiled
to a memory address not used by the main kernel using
2011-09-15 15:13:00 +04:00
PHYSICAL_START.
2007-04-27 06:25:57 +04:00
2019-06-13 21:21:39 +03:00
For more details see Documentation/admin-guide/kdump/kdump.rst
2007-04-27 06:25:57 +04:00
2009-03-18 11:51:29 +03:00
config KEXEC_JUMP
bool "kexec jump (EXPERIMENTAL)"
2020-04-20 12:37:12 +03:00
depends on KEXEC && HIBERNATION
2009-03-18 11:51:29 +03:00
help
Jump between original kernel and kexeced kernel and invoke
code via KEXEC
2011-09-15 15:13:00 +04:00
config PHYSICAL_START
hex "Physical address where the kernel is loaded" if (EXPERT || CRASH_DUMP)
default MEMORY_START
2020-06-13 19:50:22 +03:00
help
2011-09-15 15:13:00 +04:00
This gives the physical address where the kernel is loaded
and is ordinarily the same as MEMORY_START.
Different values are primarily used in the case of kexec on panic
where the fail safe kernel needs to run at a different address
than the panic-ed kernel.
2005-04-17 02:20:36 +04:00
config SMP
bool "Symmetric multi-processing support"
2007-06-11 10:32:07 +04:00
depends on SYS_SUPPORTS_SMP
2020-06-13 19:50:22 +03:00
help
2005-04-17 02:20:36 +04:00
This enables support for systems with more than one CPU. If you have
2014-01-24 03:55:29 +04:00
a system with only one CPU, say N. If you have a system with more
than one CPU, say Y.
2005-04-17 02:20:36 +04:00
2014-01-24 03:55:29 +04:00
If you say N here, the kernel will run on uni- and multiprocessor
2005-04-17 02:20:36 +04:00
machines, but will use only one CPU of a multiprocessor machine. If
you say Y here, the kernel will run on many, but not all,
2014-01-24 03:55:29 +04:00
uniprocessor machines. On a uniprocessor machine, the kernel
2005-04-17 02:20:36 +04:00
will run faster if you say N here.
People using multiprocessor machines who say Y here should also say
Y to "Enhanced Real Time Clock Support", below.
2019-06-27 20:56:51 +03:00
See also <file:Documentation/admin-guide/lockup-watchdogs.rst> and the SMP-HOWTO
2020-07-12 14:11:18 +03:00
available at <https://www.tldp.org/docs.html#howto>.
2005-04-17 02:20:36 +04:00
If you don't know what to do here, say N.
config NR_CPUS
int "Maximum number of CPUs (2-32)"
range 2 32
depends on SMP
2009-06-19 11:00:00 +04:00
default "4" if CPU_SUBTYPE_SHX3
2005-04-17 02:20:36 +04:00
default "2"
help
This allows you to specify the maximum number of CPUs which this
kernel will support. The maximum supported value is 32 and the
minimum value which makes sense is 2.
This is purely to save memory - each supported CPU adds
approximately eight kilobytes to the kernel image.
2010-04-26 14:08:55 +04:00
config HOTPLUG_CPU
bool "Support for hot-pluggable CPUs (EXPERIMENTAL)"
2013-05-21 07:49:35 +04:00
depends on SMP
2010-04-26 14:08:55 +04:00
help
Say Y here to experiment with turning CPUs off and on. CPUs
can be controlled through /sys/devices/system/cpu.
2007-09-28 11:04:49 +04:00
config GUSA
def_bool y
2020-04-20 12:37:12 +03:00
depends on !SMP
2007-09-28 11:04:49 +04:00
help
This enables support for gUSA (general UserSpace Atomicity).
This is the default implementation for both UP and non-ll/sc
CPUs, and is used by the libc, amongst others.
For additional information, design information can be found
in <http://lc.linux.or.jp/lc2002/papers/niibe0919p.pdf>.
This should only be disabled for special cases where alternate
atomicity implementations exist.
2007-11-30 10:12:36 +03:00
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
2009-01-26 13:12:25 +03:00
atomic operations using a software implementation of load-locked/
2007-11-30 10:12:36 +03:00
store-conditional (LLSC). On machines which do not have hardware
LLSC, this should be more efficient than the other alternative of
2009-01-26 13:12:25 +03:00
disabling interrupts around the atomic sequence.
2007-11-30 10:12:36 +03:00
2010-09-10 23:36:23 +04:00
config HW_PERF_EVENTS
bool "Enable hardware performance counter support for perf events"
depends on PERF_EVENTS && CPU_HAS_PMU
default y
help
Enable hardware performance counter support for perf events. If
disabled, perf events will use software events only.
2010-04-13 09:43:03 +04:00
source "drivers/sh/Kconfig"
2006-01-17 09:14:19 +03:00
endmenu
2005-04-17 02:20:36 +04:00
2006-01-17 09:14:19 +03:00
menu "Boot options"
2005-04-17 02:20:36 +04:00
2016-03-26 04:24:30 +03:00
config USE_BUILTIN_DTB
bool "Use builtin DTB"
default n
depends on SH_DEVICE_TREE
help
Link a device tree blob for particular hardware into the kernel,
suppressing use of the DTB pointer provided by the bootloader.
This option should only be used with legacy bootloaders that are
not capable of providing a DTB to the kernel, or for experimental
hardware without stable device tree bindings.
config BUILTIN_DTB_SOURCE
string "Source file for builtin DTB"
default ""
depends on USE_BUILTIN_DTB
help
Base name (without suffix, relative to arch/sh/boot/dts) for the
a DTS file that will be used to produce the DTB linked into the
kernel.
2006-01-17 09:14:19 +03:00
config ZERO_PAGE_OFFSET
2009-05-09 20:23:25 +04:00
hex
default "0x00010000" if PAGE_SIZE_64KB || SH_RTS7751R2D || \
SH_7751_SOLUTION_ENGINE
default "0x00004000" if PAGE_SIZE_16KB || SH_SH03
2006-12-26 09:29:19 +03:00
default "0x00002000" if PAGE_SIZE_8KB
2006-01-17 09:14:19 +03:00
default "0x00001000"
2005-04-17 02:20:36 +04:00
help
2006-01-17 09:14:19 +03:00
This sets the default offset of zero page.
2005-04-17 02:20:36 +04:00
2006-01-17 09:14:19 +03:00
config BOOT_LINK_OFFSET
2009-05-09 20:23:25 +04:00
hex
default "0x00210000" if SH_SHMIN
default "0x00810000" if SH_7780_SOLUTION_ENGINE
default "0x009e0000" if SH_TITAN
default "0x01800000" if SH_SDK7780
default "0x02000000" if SH_EDOSK7760
2006-01-17 09:14:19 +03:00
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.
2005-04-17 02:20:36 +04:00
2009-05-09 20:23:25 +04:00
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"
2010-05-18 18:43:15 +04:00
config ROMIMAGE_MMCIF
bool "Include MMCIF loader in romImage (EXPERIMENTAL)"
2013-01-17 06:53:26 +04:00
depends on CPU_SUBTYPE_SH7724
2010-05-18 18:43:15 +04:00
help
Say Y here to include experimental MMCIF loading code in
romImage. With this enabled it is possible to write the romImage
kernel image to an MMC card and boot the kernel straight from
the reset vector. At reset the processor Mask ROM will load the
first part of the romImage which in turn loads the rest the kernel
image to RAM using the MMCIF hardware block.
2009-08-24 11:25:38 +04:00
choice
prompt "Kernel command line"
optional
default CMDLINE_OVERWRITE
help
Setting this option allows the kernel command line arguments
to be set.
config CMDLINE_OVERWRITE
bool "Overwrite bootloader kernel arguments"
help
Given string will overwrite any arguments passed in by
a bootloader.
config CMDLINE_EXTEND
bool "Extend bootloader kernel arguments"
help
Given string will be concatenated with arguments passed in
by a bootloader.
endchoice
2005-04-17 02:20:36 +04:00
2006-01-17 09:14:19 +03:00
config CMDLINE
2009-08-24 11:25:38 +04:00
string "Kernel command line arguments string"
depends on CMDLINE_OVERWRITE || CMDLINE_EXTEND
2006-01-17 09:14:19 +03:00
default "console=ttySC1,115200"
2005-04-17 02:20:36 +04:00
endmenu
2006-01-17 09:14:19 +03:00
menu "Bus options"
2005-04-17 02:20:36 +04:00
2006-01-17 09:14:19 +03:00
config SUPERHYWAY
tristate "SuperHyway Bus support"
depends on CPU_SUBTYPE_SH4_202
2005-04-17 02:20:36 +04:00
2007-09-21 10:55:55 +04:00
config MAPLE
2009-01-09 09:12:30 +03:00
bool "Maple Bus support"
depends on SH_DREAMCAST
help
The Maple Bus is SEGA's serial communication bus for peripherals
on the Dreamcast. Without this bus support you won't be able to
get your Dreamcast keyboard etc to work, so most users
probably want to say 'Y' here, unless you are only using the
Dreamcast with a serial line terminal or a remote network
connection.
2007-09-21 10:55:55 +04:00
2005-04-17 02:20:36 +04:00
endmenu
2006-09-27 11:20:22 +04:00
menu "Power management options (EXPERIMENTAL)"
2007-12-08 04:14:00 +03:00
2008-12-04 16:45:20 +03:00
source "kernel/power/Kconfig"
source "drivers/cpuidle/Kconfig"
2006-09-27 11:20:22 +04:00
endmenu