mirror of
https://github.com/torvalds/linux.git
synced 2024-11-22 20:22:09 +00:00
7fa8a8ee94
switching from a user process to a kernel thread. - More folio conversions from Kefeng Wang, Zhang Peng and Pankaj Raghav. - zsmalloc performance improvements from Sergey Senozhatsky. - Yue Zhao has found and fixed some data race issues around the alteration of memcg userspace tunables. - VFS rationalizations from Christoph Hellwig: - removal of most of the callers of write_one_page(). - make __filemap_get_folio()'s return value more useful - Luis Chamberlain has changed tmpfs so it no longer requires swap backing. Use `mount -o noswap'. - Qi Zheng has made the slab shrinkers operate locklessly, providing some scalability benefits. - Keith Busch has improved dmapool's performance, making part of its operations O(1) rather than O(n). - Peter Xu adds the UFFD_FEATURE_WP_UNPOPULATED feature to userfaultd, permitting userspace to wr-protect anon memory unpopulated ptes. - Kirill Shutemov has changed MAX_ORDER's meaning to be inclusive rather than exclusive, and has fixed a bunch of errors which were caused by its unintuitive meaning. - Axel Rasmussen give userfaultfd the UFFDIO_CONTINUE_MODE_WP feature, which causes minor faults to install a write-protected pte. - Vlastimil Babka has done some maintenance work on vma_merge(): cleanups to the kernel code and improvements to our userspace test harness. - Cleanups to do_fault_around() by Lorenzo Stoakes. - Mike Rapoport has moved a lot of initialization code out of various mm/ files and into mm/mm_init.c. - Lorenzo Stoakes removd vmf_insert_mixed_prot(), which was added for DRM, but DRM doesn't use it any more. - Lorenzo has also coverted read_kcore() and vread() to use iterators and has thereby removed the use of bounce buffers in some cases. - Lorenzo has also contributed further cleanups of vma_merge(). - Chaitanya Prakash provides some fixes to the mmap selftesting code. - Matthew Wilcox changes xfs and afs so they no longer take sleeping locks in ->map_page(), a step towards RCUification of pagefaults. - Suren Baghdasaryan has improved mmap_lock scalability by switching to per-VMA locking. - Frederic Weisbecker has reworked the percpu cache draining so that it no longer causes latency glitches on cpu isolated workloads. - Mike Rapoport cleans up and corrects the ARCH_FORCE_MAX_ORDER Kconfig logic. - Liu Shixin has changed zswap's initialization so we no longer waste a chunk of memory if zswap is not being used. - Yosry Ahmed has improved the performance of memcg statistics flushing. - David Stevens has fixed several issues involving khugepaged, userfaultfd and shmem. - Christoph Hellwig has provided some cleanup work to zram's IO-related code paths. - David Hildenbrand has fixed up some issues in the selftest code's testing of our pte state changing. - Pankaj Raghav has made page_endio() unneeded and has removed it. - Peter Xu contributed some rationalizations of the userfaultfd selftests. - Yosry Ahmed has fixed an issue around memcg's page recalim accounting. - Chaitanya Prakash has fixed some arm-related issues in the selftests/mm code. - Longlong Xia has improved the way in which KSM handles hwpoisoned pages. - Peter Xu fixes a few issues with uffd-wp at fork() time. - Stefan Roesch has changed KSM so that it may now be used on a per-process and per-cgroup basis. -----BEGIN PGP SIGNATURE----- iHUEABYIAB0WIQTTMBEPP41GrTpTJgfdBJ7gKXxAjgUCZEr3zQAKCRDdBJ7gKXxA jlLoAP0fpQBipwFxED0Us4SKQfupV6z4caXNJGPeay7Aj11/kQD/aMRC2uPfgr96 eMG3kwn2pqkB9ST2QpkaRbxA//eMbQY= =J+Dj -----END PGP SIGNATURE----- Merge tag 'mm-stable-2023-04-27-15-30' of git://git.kernel.org/pub/scm/linux/kernel/git/akpm/mm Pull MM updates from Andrew Morton: - Nick Piggin's "shoot lazy tlbs" series, to improve the peformance of switching from a user process to a kernel thread. - More folio conversions from Kefeng Wang, Zhang Peng and Pankaj Raghav. - zsmalloc performance improvements from Sergey Senozhatsky. - Yue Zhao has found and fixed some data race issues around the alteration of memcg userspace tunables. - VFS rationalizations from Christoph Hellwig: - removal of most of the callers of write_one_page() - make __filemap_get_folio()'s return value more useful - Luis Chamberlain has changed tmpfs so it no longer requires swap backing. Use `mount -o noswap'. - Qi Zheng has made the slab shrinkers operate locklessly, providing some scalability benefits. - Keith Busch has improved dmapool's performance, making part of its operations O(1) rather than O(n). - Peter Xu adds the UFFD_FEATURE_WP_UNPOPULATED feature to userfaultd, permitting userspace to wr-protect anon memory unpopulated ptes. - Kirill Shutemov has changed MAX_ORDER's meaning to be inclusive rather than exclusive, and has fixed a bunch of errors which were caused by its unintuitive meaning. - Axel Rasmussen give userfaultfd the UFFDIO_CONTINUE_MODE_WP feature, which causes minor faults to install a write-protected pte. - Vlastimil Babka has done some maintenance work on vma_merge(): cleanups to the kernel code and improvements to our userspace test harness. - Cleanups to do_fault_around() by Lorenzo Stoakes. - Mike Rapoport has moved a lot of initialization code out of various mm/ files and into mm/mm_init.c. - Lorenzo Stoakes removd vmf_insert_mixed_prot(), which was added for DRM, but DRM doesn't use it any more. - Lorenzo has also coverted read_kcore() and vread() to use iterators and has thereby removed the use of bounce buffers in some cases. - Lorenzo has also contributed further cleanups of vma_merge(). - Chaitanya Prakash provides some fixes to the mmap selftesting code. - Matthew Wilcox changes xfs and afs so they no longer take sleeping locks in ->map_page(), a step towards RCUification of pagefaults. - Suren Baghdasaryan has improved mmap_lock scalability by switching to per-VMA locking. - Frederic Weisbecker has reworked the percpu cache draining so that it no longer causes latency glitches on cpu isolated workloads. - Mike Rapoport cleans up and corrects the ARCH_FORCE_MAX_ORDER Kconfig logic. - Liu Shixin has changed zswap's initialization so we no longer waste a chunk of memory if zswap is not being used. - Yosry Ahmed has improved the performance of memcg statistics flushing. - David Stevens has fixed several issues involving khugepaged, userfaultfd and shmem. - Christoph Hellwig has provided some cleanup work to zram's IO-related code paths. - David Hildenbrand has fixed up some issues in the selftest code's testing of our pte state changing. - Pankaj Raghav has made page_endio() unneeded and has removed it. - Peter Xu contributed some rationalizations of the userfaultfd selftests. - Yosry Ahmed has fixed an issue around memcg's page recalim accounting. - Chaitanya Prakash has fixed some arm-related issues in the selftests/mm code. - Longlong Xia has improved the way in which KSM handles hwpoisoned pages. - Peter Xu fixes a few issues with uffd-wp at fork() time. - Stefan Roesch has changed KSM so that it may now be used on a per-process and per-cgroup basis. * tag 'mm-stable-2023-04-27-15-30' of git://git.kernel.org/pub/scm/linux/kernel/git/akpm/mm: (369 commits) mm,unmap: avoid flushing TLB in batch if PTE is inaccessible shmem: restrict noswap option to initial user namespace mm/khugepaged: fix conflicting mods to collapse_file() sparse: remove unnecessary 0 values from rc mm: move 'mmap_min_addr' logic from callers into vm_unmapped_area() hugetlb: pte_alloc_huge() to replace huge pte_alloc_map() maple_tree: fix allocation in mas_sparse_area() mm: do not increment pgfault stats when page fault handler retries zsmalloc: allow only one active pool compaction context selftests/mm: add new selftests for KSM mm: add new KSM process and sysfs knobs mm: add new api to enable ksm per process mm: shrinkers: fix debugfs file permissions mm: don't check VMA write permissions if the PTE/PMD indicates write permissions migrate_pages_batch: fix statistics for longterm pin retry userfaultfd: use helper function range_in_vma() lib/show_mem.c: use for_each_populated_zone() simplify code mm: correct arg in reclaim_pages()/reclaim_clean_pages_from_list() fs/buffer: convert create_page_buffers to folio_create_buffers fs/buffer: add folio_create_empty_buffers helper ...
538 lines
14 KiB
Plaintext
538 lines
14 KiB
Plaintext
# SPDX-License-Identifier: GPL-2.0
|
|
comment "Processor Type"
|
|
|
|
choice
|
|
prompt "CPU family support"
|
|
default M68KCLASSIC if MMU
|
|
default COLDFIRE if !MMU
|
|
help
|
|
The Freescale (was Motorola) M68K family of processors implements
|
|
the full 68000 processor instruction set.
|
|
The Freescale ColdFire family of processors is a modern derivative
|
|
of the 68000 processor family. They are mainly targeted at embedded
|
|
applications, and are all System-On-Chip (SOC) devices, as opposed
|
|
to stand alone CPUs. They implement a subset of the original 68000
|
|
processor instruction set.
|
|
If you anticipate running this kernel on a computer with a classic
|
|
MC68xxx processor, select M68KCLASSIC.
|
|
If you anticipate running this kernel on a computer with a ColdFire
|
|
processor, select COLDFIRE.
|
|
|
|
config M68KCLASSIC
|
|
bool "Classic M68K CPU family support"
|
|
select HAVE_ARCH_PFN_VALID
|
|
|
|
config COLDFIRE
|
|
bool "Coldfire CPU family support"
|
|
select CPU_HAS_NO_BITFIELDS
|
|
select CPU_HAS_NO_CAS
|
|
select CPU_HAS_NO_MULDIV64
|
|
select GENERIC_CSUM
|
|
select GPIOLIB
|
|
select HAVE_LEGACY_CLK
|
|
|
|
endchoice
|
|
|
|
if M68KCLASSIC
|
|
|
|
config M68000
|
|
def_bool y
|
|
depends on !MMU
|
|
select CPU_HAS_NO_BITFIELDS
|
|
select CPU_HAS_NO_CAS
|
|
select CPU_HAS_NO_MULDIV64
|
|
select CPU_HAS_NO_UNALIGNED
|
|
select GENERIC_CSUM
|
|
select CPU_NO_EFFICIENT_FFS
|
|
select HAVE_ARCH_HASH
|
|
select LEGACY_TIMER_TICK
|
|
help
|
|
The Freescale (was Motorola) 68000 CPU is the first generation of
|
|
the well known M68K family of processors. The CPU core as well as
|
|
being available as a stand alone CPU was also used in many
|
|
System-On-Chip devices (eg 68328, 68302, etc). It does not contain
|
|
a paging MMU.
|
|
|
|
config M68020
|
|
bool "68020 support"
|
|
depends on MMU
|
|
select FPU
|
|
select CPU_HAS_ADDRESS_SPACES
|
|
help
|
|
If you anticipate running this kernel on a computer with a MC68020
|
|
processor, say Y. Otherwise, say N. Note that the 68020 requires a
|
|
68851 MMU (Memory Management Unit) to run Linux/m68k, except on the
|
|
Sun 3, which provides its own version.
|
|
|
|
config M68030
|
|
bool "68030 support"
|
|
depends on MMU && !MMU_SUN3
|
|
select FPU
|
|
select CPU_HAS_ADDRESS_SPACES
|
|
help
|
|
If you anticipate running this kernel on a computer with a MC68030
|
|
processor, say Y. Otherwise, say N. Note that a MC68EC030 will not
|
|
work, as it does not include an MMU (Memory Management Unit).
|
|
|
|
config M68040
|
|
bool "68040 support"
|
|
depends on MMU && !MMU_SUN3
|
|
select FPU
|
|
select CPU_HAS_ADDRESS_SPACES
|
|
help
|
|
If you anticipate running this kernel on a computer with a MC68LC040
|
|
or MC68040 processor, say Y. Otherwise, say N. Note that an
|
|
MC68EC040 will not work, as it does not include an MMU (Memory
|
|
Management Unit).
|
|
|
|
config M68060
|
|
bool "68060 support"
|
|
depends on MMU && !MMU_SUN3
|
|
select FPU
|
|
select CPU_HAS_ADDRESS_SPACES
|
|
help
|
|
If you anticipate running this kernel on a computer with a MC68060
|
|
processor, say Y. Otherwise, say N.
|
|
|
|
config M68328
|
|
bool
|
|
depends on !MMU
|
|
select M68000
|
|
help
|
|
Motorola 68328 processor support.
|
|
|
|
config M68EZ328
|
|
bool
|
|
depends on !MMU
|
|
select M68000
|
|
help
|
|
Motorola 68EX328 processor support.
|
|
|
|
config M68VZ328
|
|
bool
|
|
depends on !MMU
|
|
select M68000
|
|
help
|
|
Motorola 68VZ328 processor support.
|
|
|
|
endif # M68KCLASSIC
|
|
|
|
if COLDFIRE
|
|
|
|
choice
|
|
prompt "ColdFire SoC type"
|
|
default M520x
|
|
help
|
|
Select the type of ColdFire System-on-Chip (SoC) that you want
|
|
to build for.
|
|
|
|
config M5206
|
|
bool "MCF5206"
|
|
depends on !MMU
|
|
select COLDFIRE_SW_A7
|
|
select COLDFIRE_TIMERS
|
|
select HAVE_MBAR
|
|
select CPU_NO_EFFICIENT_FFS
|
|
help
|
|
Motorola ColdFire 5206 processor support.
|
|
|
|
config M5206e
|
|
bool "MCF5206e"
|
|
depends on !MMU
|
|
select COLDFIRE_SW_A7
|
|
select COLDFIRE_TIMERS
|
|
select HAVE_MBAR
|
|
select CPU_NO_EFFICIENT_FFS
|
|
help
|
|
Motorola ColdFire 5206e processor support.
|
|
|
|
config M520x
|
|
bool "MCF520x"
|
|
depends on !MMU
|
|
select COLDFIRE_PIT_TIMER
|
|
select HAVE_CACHE_SPLIT
|
|
help
|
|
Freescale Coldfire 5207/5208 processor support.
|
|
|
|
config M523x
|
|
bool "MCF523x"
|
|
depends on !MMU
|
|
select COLDFIRE_PIT_TIMER
|
|
select HAVE_CACHE_SPLIT
|
|
select HAVE_IPSBAR
|
|
help
|
|
Freescale Coldfire 5230/1/2/4/5 processor support
|
|
|
|
config M5249
|
|
bool "MCF5249"
|
|
depends on !MMU
|
|
select COLDFIRE_SW_A7
|
|
select COLDFIRE_TIMERS
|
|
select HAVE_MBAR
|
|
select CPU_NO_EFFICIENT_FFS
|
|
help
|
|
Motorola ColdFire 5249 processor support.
|
|
|
|
config M525x
|
|
bool "MCF525x"
|
|
depends on !MMU
|
|
select COLDFIRE_SW_A7
|
|
select COLDFIRE_TIMERS
|
|
select HAVE_MBAR
|
|
select CPU_NO_EFFICIENT_FFS
|
|
help
|
|
Freescale (Motorola) Coldfire 5251/5253 processor support.
|
|
|
|
config M5271
|
|
bool "MCF5271"
|
|
depends on !MMU
|
|
select COLDFIRE_PIT_TIMER
|
|
select M527x
|
|
select HAVE_CACHE_SPLIT
|
|
select HAVE_IPSBAR
|
|
help
|
|
Freescale (Motorola) ColdFire 5270/5271 processor support.
|
|
|
|
config M5272
|
|
bool "MCF5272"
|
|
depends on !MMU
|
|
select COLDFIRE_SW_A7
|
|
select COLDFIRE_TIMERS
|
|
select HAVE_MBAR
|
|
select CPU_NO_EFFICIENT_FFS
|
|
help
|
|
Motorola ColdFire 5272 processor support.
|
|
|
|
config M5275
|
|
bool "MCF5275"
|
|
depends on !MMU
|
|
select COLDFIRE_PIT_TIMER
|
|
select M527x
|
|
select HAVE_CACHE_SPLIT
|
|
select HAVE_IPSBAR
|
|
help
|
|
Freescale (Motorola) ColdFire 5274/5275 processor support.
|
|
|
|
config M528x
|
|
bool "MCF528x"
|
|
depends on !MMU
|
|
select COLDFIRE_PIT_TIMER
|
|
select HAVE_CACHE_SPLIT
|
|
select HAVE_IPSBAR
|
|
help
|
|
Motorola ColdFire 5280/5282 processor support.
|
|
|
|
config M5307
|
|
bool "MCF5307"
|
|
depends on !MMU
|
|
select COLDFIRE_TIMERS
|
|
select COLDFIRE_SW_A7
|
|
select HAVE_CACHE_CB
|
|
select HAVE_MBAR
|
|
select CPU_NO_EFFICIENT_FFS
|
|
help
|
|
Motorola ColdFire 5307 processor support.
|
|
|
|
config M532x
|
|
bool "MCF532x"
|
|
depends on !MMU
|
|
select COLDFIRE_TIMERS
|
|
select M53xx
|
|
select HAVE_CACHE_CB
|
|
help
|
|
Freescale (Motorola) ColdFire 532x processor support.
|
|
|
|
config M537x
|
|
bool "MCF537x"
|
|
depends on !MMU
|
|
select COLDFIRE_TIMERS
|
|
select M53xx
|
|
select HAVE_CACHE_CB
|
|
help
|
|
Freescale ColdFire 537x processor support.
|
|
|
|
config M5407
|
|
bool "MCF5407"
|
|
depends on !MMU
|
|
select COLDFIRE_SW_A7
|
|
select COLDFIRE_TIMERS
|
|
select HAVE_CACHE_CB
|
|
select HAVE_MBAR
|
|
select CPU_NO_EFFICIENT_FFS
|
|
help
|
|
Motorola ColdFire 5407 processor support.
|
|
|
|
config M547x
|
|
bool "MCF547x"
|
|
select M54xx
|
|
select COLDFIRE_SLTIMERS
|
|
select MMU_COLDFIRE if MMU
|
|
select FPU if MMU
|
|
select HAVE_CACHE_CB
|
|
select HAVE_MBAR
|
|
select CPU_NO_EFFICIENT_FFS
|
|
help
|
|
Freescale ColdFire 5470/5471/5472/5473/5474/5475 processor support.
|
|
|
|
config M548x
|
|
bool "MCF548x"
|
|
select COLDFIRE_SLTIMERS
|
|
select MMU_COLDFIRE if MMU
|
|
select FPU if MMU
|
|
select M54xx
|
|
select HAVE_CACHE_CB
|
|
select HAVE_MBAR
|
|
select CPU_NO_EFFICIENT_FFS
|
|
help
|
|
Freescale ColdFire 5480/5481/5482/5483/5484/5485 processor support.
|
|
|
|
config M5441x
|
|
bool "MCF5441x"
|
|
select COLDFIRE_PIT_TIMER
|
|
select MMU_COLDFIRE if MMU
|
|
select HAVE_CACHE_CB
|
|
help
|
|
Freescale Coldfire 54410/54415/54416/54417/54418 processor support.
|
|
|
|
endchoice
|
|
|
|
config M527x
|
|
bool
|
|
|
|
config M53xx
|
|
bool
|
|
|
|
config M54xx
|
|
select HAVE_PCI
|
|
bool
|
|
|
|
config COLDFIRE_PIT_TIMER
|
|
bool
|
|
|
|
config COLDFIRE_TIMERS
|
|
bool
|
|
select LEGACY_TIMER_TICK
|
|
|
|
config COLDFIRE_SLTIMERS
|
|
bool
|
|
select LEGACY_TIMER_TICK
|
|
|
|
endif # COLDFIRE
|
|
|
|
comment "Processor Specific Options"
|
|
|
|
config M68KFPU_EMU
|
|
bool "Math emulation support"
|
|
depends on M68KCLASSIC && FPU
|
|
help
|
|
At some point in the future, this will cause floating-point math
|
|
instructions to be emulated by the kernel on machines that lack a
|
|
floating-point math coprocessor. Thrill-seekers and chronically
|
|
sleep-deprived psychotic hacker types can say Y now, everyone else
|
|
should probably wait a while.
|
|
|
|
config M68KFPU_EMU_EXTRAPREC
|
|
bool "Math emulation extra precision"
|
|
depends on M68KFPU_EMU
|
|
help
|
|
The fpu uses normally a few bit more during calculations for
|
|
correct rounding, the emulator can (often) do the same but this
|
|
extra calculation can cost quite some time, so you can disable
|
|
it here. The emulator will then "only" calculate with a 64 bit
|
|
mantissa and round slightly incorrect, what is more than enough
|
|
for normal usage.
|
|
|
|
config M68KFPU_EMU_ONLY
|
|
bool "Math emulation only kernel"
|
|
depends on M68KFPU_EMU
|
|
help
|
|
This option prevents any floating-point instructions from being
|
|
compiled into the kernel, thereby the kernel doesn't save any
|
|
floating point context anymore during task switches, so this
|
|
kernel will only be usable on machines without a floating-point
|
|
math coprocessor. This makes the kernel a bit faster as no tests
|
|
needs to be executed whether a floating-point instruction in the
|
|
kernel should be executed or not.
|
|
|
|
config ADVANCED
|
|
bool "Advanced configuration options"
|
|
depends on MMU
|
|
help
|
|
This gives you access to some advanced options for the CPU. The
|
|
defaults should be fine for most users, but these options may make
|
|
it possible for you to improve performance somewhat if you know what
|
|
you are doing.
|
|
|
|
Note that the answer to this question won't directly affect the
|
|
kernel: saying N will just cause the configurator to skip all
|
|
the questions about these options.
|
|
|
|
Most users should say N to this question.
|
|
|
|
config RMW_INSNS
|
|
bool "Use read-modify-write instructions"
|
|
depends on ADVANCED && !CPU_HAS_NO_CAS
|
|
help
|
|
This allows to use certain instructions that work with indivisible
|
|
read-modify-write bus cycles. While this is faster than the
|
|
workaround of disabling interrupts, it can conflict with DMA
|
|
( = direct memory access) on many Amiga systems, and it is also said
|
|
to destabilize other machines. It is very likely that this will
|
|
cause serious problems on any Amiga or Atari Medusa if set. The only
|
|
configuration where it should work are 68030-based Ataris, where it
|
|
apparently improves performance. But you've been warned! Unless you
|
|
really know what you are doing, say N. Try Y only if you're quite
|
|
adventurous.
|
|
|
|
config SINGLE_MEMORY_CHUNK
|
|
bool "Use one physical chunk of memory only" if ADVANCED && !SUN3
|
|
depends on MMU
|
|
default y if SUN3 || MMU_COLDFIRE
|
|
help
|
|
Ignore all but the first contiguous chunk of physical memory for VM
|
|
purposes. This will save a few bytes kernel size and may speed up
|
|
some operations.
|
|
When this option os set to N, you may want to lower "Maximum zone
|
|
order" to save memory that could be wasted for unused memory map.
|
|
Say N if not sure.
|
|
|
|
config ARCH_FORCE_MAX_ORDER
|
|
int "Order of maximal physically contiguous allocations" if ADVANCED
|
|
depends on !SINGLE_MEMORY_CHUNK
|
|
default "10"
|
|
help
|
|
The kernel page allocator limits the size of maximal physically
|
|
contiguous allocations. The limit is called MAX_ORDER and it
|
|
defines the maximal power of two of number of pages that can be
|
|
allocated as a single contiguous block. This option allows
|
|
overriding the default setting when ability to allocate very
|
|
large blocks of physically contiguous memory is required.
|
|
|
|
For systems that have holes in their physical address space this
|
|
value also defines the minimal size of the hole that allows
|
|
freeing unused memory map.
|
|
|
|
Don't change if unsure.
|
|
|
|
config 060_WRITETHROUGH
|
|
bool "Use write-through caching for 68060 supervisor accesses"
|
|
depends on ADVANCED && M68060
|
|
help
|
|
The 68060 generally uses copyback caching of recently accessed data.
|
|
Copyback caching means that memory writes will be held in an on-chip
|
|
cache and only written back to memory some time later. Saying Y
|
|
here will force supervisor (kernel) accesses to use writethrough
|
|
caching. Writethrough caching means that data is written to memory
|
|
straight away, so that cache and memory data always agree.
|
|
Writethrough caching is less efficient, but is needed for some
|
|
drivers on 68060 based systems where the 68060 bus snooping signal
|
|
is hardwired on. The 53c710 SCSI driver is known to suffer from
|
|
this problem.
|
|
|
|
config M68K_L2_CACHE
|
|
bool
|
|
depends on MAC
|
|
default y
|
|
|
|
config CPU_HAS_NO_BITFIELDS
|
|
bool
|
|
|
|
config CPU_HAS_NO_CAS
|
|
bool
|
|
|
|
config CPU_HAS_NO_MULDIV64
|
|
bool
|
|
|
|
config CPU_HAS_NO_UNALIGNED
|
|
bool
|
|
|
|
config CPU_HAS_ADDRESS_SPACES
|
|
bool
|
|
select ALTERNATE_USER_ADDRESS_SPACE
|
|
|
|
config FPU
|
|
bool
|
|
|
|
config COLDFIRE_SW_A7
|
|
bool
|
|
|
|
config HAVE_CACHE_SPLIT
|
|
bool
|
|
|
|
config HAVE_CACHE_CB
|
|
bool
|
|
|
|
config HAVE_MBAR
|
|
bool
|
|
|
|
config HAVE_IPSBAR
|
|
bool
|
|
|
|
config CLOCK_FREQ
|
|
int "Set the core clock frequency"
|
|
default "25000000" if M5206
|
|
default "54000000" if M5206e
|
|
default "166666666" if M520x
|
|
default "140000000" if M5249
|
|
default "150000000" if M527x || M523x
|
|
default "90000000" if M5307
|
|
default "50000000" if M5407
|
|
default "266000000" if M54xx
|
|
default "66666666"
|
|
depends on COLDFIRE
|
|
help
|
|
Define the CPU clock frequency in use. This is the core clock
|
|
frequency, it may or may not be the same as the external clock
|
|
crystal fitted to your board. Some processors have an internal
|
|
PLL and can have their frequency programmed at run time, others
|
|
use internal dividers. In general the kernel won't setup a PLL
|
|
if it is fitted (there are some exceptions). This value will be
|
|
specific to the exact CPU that you are using.
|
|
|
|
config OLDMASK
|
|
bool "Old mask 5307 (1H55J) silicon"
|
|
depends on M5307
|
|
help
|
|
Build support for the older revision ColdFire 5307 silicon.
|
|
Specifically this is the 1H55J mask revision.
|
|
|
|
if HAVE_CACHE_SPLIT
|
|
choice
|
|
prompt "Split Cache Configuration"
|
|
default CACHE_I
|
|
|
|
config CACHE_I
|
|
bool "Instruction"
|
|
help
|
|
Use all of the ColdFire CPU cache memory as an instruction cache.
|
|
|
|
config CACHE_D
|
|
bool "Data"
|
|
help
|
|
Use all of the ColdFire CPU cache memory as a data cache.
|
|
|
|
config CACHE_BOTH
|
|
bool "Both"
|
|
help
|
|
Split the ColdFire CPU cache, and use half as an instruction cache
|
|
and half as a data cache.
|
|
endchoice
|
|
endif # HAVE_CACHE_SPLIT
|
|
|
|
if HAVE_CACHE_CB
|
|
choice
|
|
prompt "Data cache mode"
|
|
default CACHE_WRITETHRU
|
|
|
|
config CACHE_WRITETHRU
|
|
bool "Write-through"
|
|
help
|
|
The ColdFire CPU cache is set into Write-through mode.
|
|
|
|
config CACHE_COPYBACK
|
|
bool "Copy-back"
|
|
help
|
|
The ColdFire CPU cache is set into Copy-back mode.
|
|
endchoice
|
|
endif # HAVE_CACHE_CB
|