mirror of
https://github.com/raspberrypi/linux.git
synced 2025-12-23 18:44:50 +00:00
Pull mm updates from Andrew Morton:
"The usual shower of singleton fixes and minor series all over MM,
documented (hopefully adequately) in the respective changelogs.
Notable series include:
- Lucas Stach has provided some page-mapping cleanup/consolidation/
maintainability work in the series "mm/treewide: Remove pXd_huge()
API".
- In the series "Allow migrate on protnone reference with
MPOL_PREFERRED_MANY policy", Donet Tom has optimized mempolicy's
MPOL_PREFERRED_MANY mode, yielding almost doubled performance in
one test.
- In their series "Memory allocation profiling" Kent Overstreet and
Suren Baghdasaryan have contributed a means of determining (via
/proc/allocinfo) whereabouts in the kernel memory is being
allocated: number of calls and amount of memory.
- Matthew Wilcox has provided the series "Various significant MM
patches" which does a number of rather unrelated things, but in
largely similar code sites.
- In his series "mm: page_alloc: freelist migratetype hygiene"
Johannes Weiner has fixed the page allocator's handling of
migratetype requests, with resulting improvements in compaction
efficiency.
- In the series "make the hugetlb migration strategy consistent"
Baolin Wang has fixed a hugetlb migration issue, which should
improve hugetlb allocation reliability.
- Liu Shixin has hit an I/O meltdown caused by readahead in a
memory-tight memcg. Addressed in the series "Fix I/O high when
memory almost met memcg limit".
- In the series "mm/filemap: optimize folio adding and splitting"
Kairui Song has optimized pagecache insertion, yielding ~10%
performance improvement in one test.
- Baoquan He has cleaned up and consolidated the early zone
initialization code in the series "mm/mm_init.c: refactor
free_area_init_core()".
- Baoquan has also redone some MM initializatio code in the series
"mm/init: minor clean up and improvement".
- MM helper cleanups from Christoph Hellwig in his series "remove
follow_pfn".
- More cleanups from Matthew Wilcox in the series "Various
page->flags cleanups".
- Vlastimil Babka has contributed maintainability improvements in the
series "memcg_kmem hooks refactoring".
- More folio conversions and cleanups in Matthew Wilcox's series:
"Convert huge_zero_page to huge_zero_folio"
"khugepaged folio conversions"
"Remove page_idle and page_young wrappers"
"Use folio APIs in procfs"
"Clean up __folio_put()"
"Some cleanups for memory-failure"
"Remove page_mapping()"
"More folio compat code removal"
- David Hildenbrand chipped in with "fs/proc/task_mmu: convert
hugetlb functions to work on folis".
- Code consolidation and cleanup work related to GUP's handling of
hugetlbs in Peter Xu's series "mm/gup: Unify hugetlb, part 2".
- Rick Edgecombe has developed some fixes to stack guard gaps in the
series "Cover a guard gap corner case".
- Jinjiang Tu has fixed KSM's behaviour after a fork+exec in the
series "mm/ksm: fix ksm exec support for prctl".
- Baolin Wang has implemented NUMA balancing for multi-size THPs.
This is a simple first-cut implementation for now. The series is
"support multi-size THP numa balancing".
- Cleanups to vma handling helper functions from Matthew Wilcox in
the series "Unify vma_address and vma_pgoff_address".
- Some selftests maintenance work from Dev Jain in the series
"selftests/mm: mremap_test: Optimizations and style fixes".
- Improvements to the swapping of multi-size THPs from Ryan Roberts
in the series "Swap-out mTHP without splitting".
- Kefeng Wang has significantly optimized the handling of arm64's
permission page faults in the series
"arch/mm/fault: accelerate pagefault when badaccess"
"mm: remove arch's private VM_FAULT_BADMAP/BADACCESS"
- GUP cleanups from David Hildenbrand in "mm/gup: consistently call
it GUP-fast".
- hugetlb fault code cleanups from Vishal Moola in "Hugetlb fault
path to use struct vm_fault".
- selftests build fixes from John Hubbard in the series "Fix
selftests/mm build without requiring "make headers"".
- Memory tiering fixes/improvements from Ho-Ren (Jack) Chuang in the
series "Improved Memory Tier Creation for CPUless NUMA Nodes".
Fixes the initialization code so that migration between different
memory types works as intended.
- David Hildenbrand has improved follow_pte() and fixed an errant
driver in the series "mm: follow_pte() improvements and acrn
follow_pte() fixes".
- David also did some cleanup work on large folio mapcounts in his
series "mm: mapcount for large folios + page_mapcount() cleanups".
- Folio conversions in KSM in Alex Shi's series "transfer page to
folio in KSM".
- Barry Song has added some sysfs stats for monitoring multi-size
THP's in the series "mm: add per-order mTHP alloc and swpout
counters".
- Some zswap cleanups from Yosry Ahmed in the series "zswap
same-filled and limit checking cleanups".
- Matthew Wilcox has been looking at buffer_head code and found the
documentation to be lacking. The series is "Improve buffer head
documentation".
- Multi-size THPs get more work, this time from Lance Yang. His
series "mm/madvise: enhance lazyfreeing with mTHP in madvise_free"
optimizes the freeing of these things.
- Kemeng Shi has added more userspace-visible writeback
instrumentation in the series "Improve visibility of writeback".
- Kemeng Shi then sent some maintenance work on top in the series
"Fix and cleanups to page-writeback".
- Matthew Wilcox reduces mmap_lock traffic in the anon vma code in
the series "Improve anon_vma scalability for anon VMAs". Intel's
test bot reported an improbable 3x improvement in one test.
- SeongJae Park adds some DAMON feature work in the series
"mm/damon: add a DAMOS filter type for page granularity access recheck"
"selftests/damon: add DAMOS quota goal test"
- Also some maintenance work in the series
"mm/damon/paddr: simplify page level access re-check for pageout"
"mm/damon: misc fixes and improvements"
- David Hildenbrand has disabled some known-to-fail selftests ni the
series "selftests: mm: cow: flag vmsplice() hugetlb tests as
XFAIL".
- memcg metadata storage optimizations from Shakeel Butt in "memcg:
reduce memory consumption by memcg stats".
- DAX fixes and maintenance work from Vishal Verma in the series
"dax/bus.c: Fixups for dax-bus locking""
* tag 'mm-stable-2024-05-17-19-19' of git://git.kernel.org/pub/scm/linux/kernel/git/akpm/mm: (426 commits)
memcg, oom: cleanup unused memcg_oom_gfp_mask and memcg_oom_order
selftests/mm: hugetlb_madv_vs_map: avoid test skipping by querying hugepage size at runtime
mm/hugetlb: add missing VM_FAULT_SET_HINDEX in hugetlb_wp
mm/hugetlb: add missing VM_FAULT_SET_HINDEX in hugetlb_fault
selftests: cgroup: add tests to verify the zswap writeback path
mm: memcg: make alloc_mem_cgroup_per_node_info() return bool
mm/damon/core: fix return value from damos_wmark_metric_value
mm: do not update memcg stats for NR_{FILE/SHMEM}_PMDMAPPED
selftests: cgroup: remove redundant enabling of memory controller
Docs/mm/damon/maintainer-profile: allow posting patches based on damon/next tree
Docs/mm/damon/maintainer-profile: change the maintainer's timezone from PST to PT
Docs/mm/damon/design: use a list for supported filters
Docs/admin-guide/mm/damon/usage: fix wrong schemes effective quota update command
Docs/admin-guide/mm/damon/usage: fix wrong example of DAMOS filter matching sysfs file
selftests/damon: classify tests for functionalities and regressions
selftests/damon/_damon_sysfs: use 'is' instead of '==' for 'None'
selftests/damon/_damon_sysfs: find sysfs mount point from /proc/mounts
selftests/damon/_damon_sysfs: check errors from nr_schemes file reads
mm/damon/core: initialize ->esz_bp from damos_quota_init_priv()
selftests/damon: add a test for DAMOS quota goal
...
766 lines
18 KiB
Plaintext
766 lines
18 KiB
Plaintext
# SPDX-License-Identifier: GPL-2.0
|
|
config SUPERH
|
|
def_bool y
|
|
select ARCH_32BIT_OFF_T
|
|
select ARCH_HAS_CPU_CACHE_ALIASING
|
|
select ARCH_ENABLE_MEMORY_HOTPLUG if SPARSEMEM && MMU
|
|
select ARCH_ENABLE_MEMORY_HOTREMOVE if SPARSEMEM && MMU
|
|
select ARCH_HAVE_NMI_SAFE_CMPXCHG if (GUSA_RB || CPU_SH4A)
|
|
select ARCH_HAS_BINFMT_FLAT if !MMU
|
|
select ARCH_HAS_CPU_FINALIZE_INIT
|
|
select ARCH_HAS_CURRENT_STACK_POINTER
|
|
select ARCH_HAS_GIGANTIC_PAGE
|
|
select ARCH_HAS_GCOV_PROFILE_ALL
|
|
select ARCH_HAS_PTE_SPECIAL
|
|
select ARCH_HAS_TICK_BROADCAST if GENERIC_CLOCKEVENTS_BROADCAST
|
|
select ARCH_HIBERNATION_POSSIBLE if MMU
|
|
select ARCH_MIGHT_HAVE_PC_PARPORT
|
|
select ARCH_WANT_IPC_PARSE_VERSION
|
|
select CPU_NO_EFFICIENT_FFS
|
|
select DMA_DECLARE_COHERENT
|
|
select GENERIC_ATOMIC64
|
|
select GENERIC_CMOS_UPDATE if SH_SH03 || SH_DREAMCAST
|
|
select GENERIC_IDLE_POLL_SETUP
|
|
select GENERIC_IRQ_SHOW
|
|
select GENERIC_LIB_ASHLDI3
|
|
select GENERIC_LIB_ASHRDI3
|
|
select GENERIC_LIB_LSHRDI3
|
|
select GENERIC_PCI_IOMAP if PCI
|
|
select GENERIC_SCHED_CLOCK
|
|
select GENERIC_SMP_IDLE_THREAD
|
|
select GUP_GET_PXX_LOW_HIGH if X2TLB
|
|
select HAS_IOPORT if HAS_IOPORT_MAP
|
|
select GENERIC_IOREMAP if MMU
|
|
select HAVE_ARCH_AUDITSYSCALL
|
|
select HAVE_ARCH_KGDB
|
|
select HAVE_ARCH_SECCOMP_FILTER
|
|
select HAVE_ARCH_TRACEHOOK
|
|
select HAVE_DEBUG_BUGVERBOSE
|
|
select HAVE_DEBUG_KMEMLEAK
|
|
select HAVE_DYNAMIC_FTRACE
|
|
select HAVE_GUP_FAST 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
|
|
select HAVE_KERNEL_BZIP2
|
|
select HAVE_KERNEL_GZIP
|
|
select HAVE_KERNEL_LZMA
|
|
select HAVE_KERNEL_LZO
|
|
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
|
|
select HAVE_UID16
|
|
select HAVE_SOFTIRQ_ON_OWN_STACK if IRQSTACKS
|
|
select HAVE_STACKPROTECTOR
|
|
select HAVE_SYSCALL_TRACEPOINTS
|
|
select IRQ_FORCED_THREADING
|
|
select LOCK_MM_AND_FIND_VMA
|
|
select MODULES_USE_ELF_RELA
|
|
select NEED_SG_DMA_LENGTH
|
|
select NO_DMA if !MMU && !DMA_COHERENT
|
|
select NO_GENERIC_PCI_IOPORT_MAP if PCI
|
|
select OLD_SIGACTION
|
|
select OLD_SIGSUSPEND
|
|
select PCI_DOMAINS if PCI
|
|
select PERF_EVENTS
|
|
select PERF_USE_VMALLOC
|
|
select RTC_LIB
|
|
select SPARSE_IRQ
|
|
select TRACE_IRQFLAGS_SUPPORT
|
|
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/>.
|
|
|
|
config GENERIC_BUG
|
|
def_bool y
|
|
depends on BUG
|
|
|
|
config GENERIC_HWEIGHT
|
|
def_bool y
|
|
|
|
config GENERIC_CALIBRATE_DELAY
|
|
bool
|
|
|
|
config GENERIC_LOCKBREAK
|
|
def_bool y
|
|
depends on SMP && PREEMPTION
|
|
|
|
config ARCH_SUSPEND_POSSIBLE
|
|
def_bool n
|
|
|
|
config ARCH_HIBERNATION_POSSIBLE
|
|
def_bool n
|
|
|
|
config SYS_SUPPORTS_APM_EMULATION
|
|
bool
|
|
select ARCH_SUSPEND_POSSIBLE
|
|
|
|
config SYS_SUPPORTS_SMP
|
|
bool
|
|
|
|
config SYS_SUPPORTS_NUMA
|
|
bool
|
|
|
|
config STACKTRACE_SUPPORT
|
|
def_bool y
|
|
|
|
config LOCKDEP_SUPPORT
|
|
def_bool y
|
|
|
|
config ARCH_HAS_ILOG2_U32
|
|
def_bool n
|
|
|
|
config ARCH_HAS_ILOG2_U64
|
|
def_bool n
|
|
|
|
config NO_IOPORT_MAP
|
|
def_bool !PCI
|
|
depends on !SH_SHMIN && !SH_HP6XX && !SH_SOLUTION_ENGINE && \
|
|
!SH_DREAMCAST
|
|
|
|
config IO_TRAPPED
|
|
bool
|
|
|
|
config SWAP_IO_SPACE
|
|
bool
|
|
|
|
config DMA_COHERENT
|
|
bool
|
|
|
|
config DMA_NONCOHERENT
|
|
def_bool !NO_DMA && !DMA_COHERENT
|
|
select ARCH_HAS_DMA_PREP_COHERENT
|
|
select ARCH_HAS_SYNC_DMA_FOR_DEVICE
|
|
select DMA_DIRECT_REMAP
|
|
|
|
config PGTABLE_LEVELS
|
|
default 3 if X2TLB
|
|
default 2
|
|
|
|
menu "System type"
|
|
|
|
#
|
|
# Processor families
|
|
#
|
|
config CPU_SH2
|
|
bool
|
|
select SH_INTC
|
|
|
|
config CPU_SH2A
|
|
bool
|
|
select CPU_SH2
|
|
select UNCACHED_MAPPING
|
|
|
|
config CPU_J2
|
|
bool
|
|
select CPU_SH2
|
|
select OF
|
|
select OF_EARLY_FLATTREE
|
|
|
|
config CPU_SH3
|
|
bool
|
|
select CPU_HAS_INTEVT
|
|
select CPU_HAS_SR_RB
|
|
select SH_INTC
|
|
select SYS_SUPPORTS_SH_TMU
|
|
|
|
config CPU_SH4
|
|
bool
|
|
select ARCH_SUPPORTS_HUGETLBFS if MMU
|
|
select CPU_HAS_INTEVT
|
|
select CPU_HAS_SR_RB
|
|
select CPU_HAS_FPU if !CPU_SH4AL_DSP
|
|
select SH_INTC
|
|
select SYS_SUPPORTS_SH_TMU
|
|
|
|
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
|
|
select DMA_COHERENT
|
|
select SYS_SUPPORTS_SMP
|
|
select SYS_SUPPORTS_NUMA
|
|
|
|
config ARCH_SHMOBILE
|
|
bool
|
|
select ARCH_SUSPEND_POSSIBLE
|
|
select PM
|
|
|
|
config CPU_HAS_PMU
|
|
depends on CPU_SH4 || CPU_SH4A
|
|
default y
|
|
bool
|
|
|
|
choice
|
|
prompt "Processor sub-type selection"
|
|
|
|
#
|
|
# Processor subtypes
|
|
#
|
|
|
|
# SH-2 Processor Support
|
|
|
|
config CPU_SUBTYPE_SH7619
|
|
bool "Support SH7619 processor"
|
|
select CPU_SH2
|
|
select SYS_SUPPORTS_SH_CMT
|
|
|
|
config CPU_SUBTYPE_J2
|
|
bool "Support J2 processor"
|
|
select CPU_J2
|
|
select SYS_SUPPORTS_SMP
|
|
select GENERIC_CLOCKEVENTS_BROADCAST if SMP
|
|
|
|
# SH-2A Processor Support
|
|
|
|
config CPU_SUBTYPE_SH7201
|
|
bool "Support SH7201 processor"
|
|
select CPU_SH2A
|
|
select CPU_HAS_FPU
|
|
select SYS_SUPPORTS_SH_MTU2
|
|
|
|
config CPU_SUBTYPE_SH7203
|
|
bool "Support SH7203 processor"
|
|
select CPU_SH2A
|
|
select CPU_HAS_FPU
|
|
select SYS_SUPPORTS_SH_CMT
|
|
select SYS_SUPPORTS_SH_MTU2
|
|
select PINCTRL
|
|
|
|
config CPU_SUBTYPE_SH7206
|
|
bool "Support SH7206 processor"
|
|
select CPU_SH2A
|
|
select SYS_SUPPORTS_SH_CMT
|
|
select SYS_SUPPORTS_SH_MTU2
|
|
|
|
config CPU_SUBTYPE_SH7263
|
|
bool "Support SH7263 processor"
|
|
select CPU_SH2A
|
|
select CPU_HAS_FPU
|
|
select SYS_SUPPORTS_SH_CMT
|
|
select SYS_SUPPORTS_SH_MTU2
|
|
|
|
config CPU_SUBTYPE_SH7264
|
|
bool "Support SH7264 processor"
|
|
select CPU_SH2A
|
|
select CPU_HAS_FPU
|
|
select SYS_SUPPORTS_SH_CMT
|
|
select SYS_SUPPORTS_SH_MTU2
|
|
select PINCTRL
|
|
|
|
config CPU_SUBTYPE_SH7269
|
|
bool "Support SH7269 processor"
|
|
select CPU_SH2A
|
|
select CPU_HAS_FPU
|
|
select SYS_SUPPORTS_SH_CMT
|
|
select SYS_SUPPORTS_SH_MTU2
|
|
select PINCTRL
|
|
|
|
config CPU_SUBTYPE_MXG
|
|
bool "Support MX-G processor"
|
|
select CPU_SH2A
|
|
select SYS_SUPPORTS_SH_MTU2
|
|
help
|
|
Select MX-G if running on an R8A03022BG part.
|
|
|
|
# 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
|
|
select SYS_SUPPORTS_SH_CMT
|
|
select USB_OHCI_SH if USB_OHCI_HCD
|
|
select PINCTRL
|
|
help
|
|
Select SH7720 if you have a SH3-DSP SH7720 CPU.
|
|
|
|
config CPU_SUBTYPE_SH7721
|
|
bool "Support SH7721 processor"
|
|
select CPU_SH3
|
|
select CPU_HAS_DSP
|
|
select SYS_SUPPORTS_SH_CMT
|
|
select USB_OHCI_SH if USB_OHCI_HCD
|
|
help
|
|
Select SH7721 if you have a SH3-DSP SH7721 CPU.
|
|
|
|
# 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
|
|
|
|
# SH-4A Processor Support
|
|
|
|
config CPU_SUBTYPE_SH7723
|
|
bool "Support SH7723 processor"
|
|
select CPU_SH4A
|
|
select CPU_SHX2
|
|
select ARCH_SHMOBILE
|
|
select ARCH_SPARSEMEM_ENABLE
|
|
select SYS_SUPPORTS_SH_CMT
|
|
select PINCTRL
|
|
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_SH_CMT
|
|
select PINCTRL
|
|
help
|
|
Select SH7724 if you have an SH-MobileR2R CPU.
|
|
|
|
config CPU_SUBTYPE_SH7734
|
|
bool "Support SH7734 processor"
|
|
select CPU_SH4A
|
|
select CPU_SHX2
|
|
select PINCTRL
|
|
help
|
|
Select SH7734 if you have a SH4A SH7734 CPU.
|
|
|
|
config CPU_SUBTYPE_SH7757
|
|
bool "Support SH7757 processor"
|
|
select CPU_SH4A
|
|
select CPU_SHX2
|
|
select PINCTRL
|
|
help
|
|
Select SH7757 if you have a SH4A SH7757 CPU.
|
|
|
|
config CPU_SUBTYPE_SH7763
|
|
bool "Support SH7763 processor"
|
|
select CPU_SH4A
|
|
select USB_OHCI_SH if USB_OHCI_HCD
|
|
help
|
|
Select SH7763 if you have a SH4A SH7763(R5S77631) CPU.
|
|
|
|
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
|
|
select ARCH_SPARSEMEM_ENABLE
|
|
select SYS_SUPPORTS_NUMA
|
|
select PINCTRL
|
|
|
|
config CPU_SUBTYPE_SH7786
|
|
bool "Support SH7786 processor"
|
|
select CPU_SH4A
|
|
select CPU_SHX3
|
|
select CPU_HAS_PTEAEX
|
|
select GENERIC_CLOCKEVENTS_BROADCAST if SMP
|
|
select USB_OHCI_SH if USB_OHCI_HCD
|
|
select USB_EHCI_SH if USB_EHCI_HCD
|
|
select PINCTRL
|
|
|
|
config CPU_SUBTYPE_SHX3
|
|
bool "Support SH-X3 processor"
|
|
select CPU_SH4A
|
|
select CPU_SHX3
|
|
select GENERIC_CLOCKEVENTS_BROADCAST if SMP
|
|
select GPIOLIB
|
|
select PINCTRL
|
|
|
|
# SH4AL-DSP Processor Support
|
|
|
|
config CPU_SUBTYPE_SH7343
|
|
bool "Support SH7343 processor"
|
|
select CPU_SH4AL_DSP
|
|
select ARCH_SHMOBILE
|
|
select SYS_SUPPORTS_SH_CMT
|
|
|
|
config CPU_SUBTYPE_SH7722
|
|
bool "Support SH7722 processor"
|
|
select CPU_SH4AL_DSP
|
|
select CPU_SHX2
|
|
select ARCH_SHMOBILE
|
|
select ARCH_SPARSEMEM_ENABLE
|
|
select SYS_SUPPORTS_NUMA
|
|
select SYS_SUPPORTS_SH_CMT
|
|
select PINCTRL
|
|
|
|
config CPU_SUBTYPE_SH7366
|
|
bool "Support SH7366 processor"
|
|
select CPU_SH4AL_DSP
|
|
select CPU_SHX2
|
|
select ARCH_SHMOBILE
|
|
select ARCH_SPARSEMEM_ENABLE
|
|
select SYS_SUPPORTS_NUMA
|
|
select SYS_SUPPORTS_SH_CMT
|
|
|
|
endchoice
|
|
|
|
source "arch/sh/mm/Kconfig"
|
|
|
|
source "arch/sh/Kconfig.cpu"
|
|
|
|
source "arch/sh/boards/Kconfig"
|
|
|
|
menu "Timer and clock configuration"
|
|
|
|
config SH_PCLK_FREQ
|
|
int "Peripheral clock frequency (in Hz)"
|
|
depends on SH_CLK_CPG_LEGACY
|
|
default "31250000" if CPU_SUBTYPE_SH7619
|
|
default "33333333" if CPU_SUBTYPE_SH7770 || \
|
|
CPU_SUBTYPE_SH7760 || \
|
|
CPU_SUBTYPE_SH7705 || \
|
|
CPU_SUBTYPE_SH7203 || \
|
|
CPU_SUBTYPE_SH7206 || \
|
|
CPU_SUBTYPE_SH7263 || \
|
|
CPU_SUBTYPE_MXG
|
|
default "60000000" if CPU_SUBTYPE_SH7751 || CPU_SUBTYPE_SH7751R
|
|
default "50000000"
|
|
help
|
|
This option is used to specify the peripheral clock frequency.
|
|
This is necessary for determining the reference clock value on
|
|
platforms lacking an RTC.
|
|
|
|
config SH_CLK_CPG
|
|
def_bool y
|
|
|
|
config SH_CLK_CPG_LEGACY
|
|
depends on SH_CLK_CPG
|
|
def_bool y if !CPU_SUBTYPE_SH7785 && !ARCH_SHMOBILE && \
|
|
!CPU_SHX3 && !CPU_SUBTYPE_SH7757 && \
|
|
!CPU_SUBTYPE_SH7734 && !CPU_SUBTYPE_SH7264 && \
|
|
!CPU_SUBTYPE_SH7269
|
|
|
|
endmenu
|
|
|
|
menu "CPU Frequency scaling"
|
|
source "drivers/cpufreq/Kconfig"
|
|
endmenu
|
|
|
|
source "arch/sh/drivers/Kconfig"
|
|
|
|
endmenu
|
|
|
|
menu "Kernel features"
|
|
|
|
source "kernel/Kconfig.hz"
|
|
|
|
config ARCH_SUPPORTS_KEXEC
|
|
def_bool MMU
|
|
|
|
config ARCH_SUPPORTS_CRASH_DUMP
|
|
def_bool BROKEN_ON_SMP
|
|
|
|
config ARCH_SUPPORTS_KEXEC_JUMP
|
|
def_bool y
|
|
|
|
config PHYSICAL_START
|
|
hex "Physical address where the kernel is loaded" if (EXPERT || CRASH_DUMP)
|
|
default MEMORY_START
|
|
help
|
|
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.
|
|
|
|
config SMP
|
|
bool "Symmetric multi-processing support"
|
|
depends on SYS_SUPPORTS_SMP
|
|
help
|
|
This enables support for systems with more than one CPU. If you have
|
|
a system with only one CPU, say N. If you have a system with more
|
|
than one CPU, say Y.
|
|
|
|
If you say N here, the kernel will run on uni- and multiprocessor
|
|
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,
|
|
uniprocessor machines. On a uniprocessor machine, the kernel
|
|
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.
|
|
|
|
See also <file:Documentation/admin-guide/lockup-watchdogs.rst> and the SMP-HOWTO
|
|
available at <https://www.tldp.org/docs.html#howto>.
|
|
|
|
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
|
|
default "4" if CPU_SUBTYPE_SHX3
|
|
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.
|
|
|
|
config HOTPLUG_CPU
|
|
bool "Support for hot-pluggable CPUs (EXPERIMENTAL)"
|
|
depends on SMP
|
|
help
|
|
Say Y here to experiment with turning CPUs off and on. CPUs
|
|
can be controlled through /sys/devices/system/cpu.
|
|
|
|
config GUSA
|
|
def_bool y
|
|
depends on !SMP
|
|
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.
|
|
|
|
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 implementation 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 interrupts around the atomic sequence.
|
|
|
|
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.
|
|
|
|
source "drivers/sh/Kconfig"
|
|
|
|
endmenu
|
|
|
|
menu "Boot options"
|
|
|
|
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.
|
|
|
|
config ZERO_PAGE_OFFSET
|
|
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
|
|
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
|
|
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 ROMIMAGE_MMCIF
|
|
bool "Include MMCIF loader in romImage (EXPERIMENTAL)"
|
|
depends on CPU_SUBTYPE_SH7724
|
|
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.
|
|
|
|
choice
|
|
prompt "Kernel command line"
|
|
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.
|
|
|
|
config CMDLINE_FROM_BOOTLOADER
|
|
bool "Use bootloader kernel arguments"
|
|
help
|
|
Uses the command-line options passed by the boot loader.
|
|
|
|
endchoice
|
|
|
|
config CMDLINE
|
|
string "Kernel command line arguments string"
|
|
depends on CMDLINE_OVERWRITE || CMDLINE_EXTEND
|
|
default "console=ttySC1,115200"
|
|
|
|
endmenu
|
|
|
|
menu "Bus options"
|
|
|
|
config MAPLE
|
|
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.
|
|
|
|
endmenu
|
|
|
|
menu "Power management options (EXPERIMENTAL)"
|
|
|
|
source "kernel/power/Kconfig"
|
|
|
|
source "drivers/cpuidle/Kconfig"
|
|
|
|
endmenu
|