Add SPDX license identifiers to all Make/Kconfig files which: - Have no license information of any form These files fall under the project license, GPL v2 only. The resulting SPDX license identifier is: GPL-2.0-only Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
		
			
				
	
	
		
			218 lines
		
	
	
		
			6.3 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			218 lines
		
	
	
		
			6.3 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
| # SPDX-License-Identifier: GPL-2.0-only
 | |
| comment "Processor Features"
 | |
| 
 | |
| config CPU_BIG_ENDIAN
 | |
| 	def_bool !CPU_LITTLE_ENDIAN
 | |
| 
 | |
| config CPU_LITTLE_ENDIAN
 | |
| 	bool "Little endian"
 | |
| 	default y
 | |
| 
 | |
| config FPU
 | |
| 	bool "FPU support"
 | |
| 	default n
 | |
| 	help
 | |
| 	  If FPU ISA is used in user space, this configuration shall be Y to
 | |
|           enable required support in kerenl such as fpu context switch and
 | |
|           fpu exception handler.
 | |
| 
 | |
| 	  If no FPU ISA is used in user space, say N.
 | |
| 
 | |
| config LAZY_FPU
 | |
| 	bool "lazy FPU support"
 | |
| 	depends on FPU
 | |
| 	default y
 | |
| 	help
 | |
| 	  Say Y here to enable the lazy FPU scheme. The lazy FPU scheme can
 | |
|           enhance system performance by reducing the context switch
 | |
| 	  frequency of the FPU register.
 | |
| 
 | |
| 	  For nomal case, say Y.
 | |
| 
 | |
| config SUPPORT_DENORMAL_ARITHMETIC
 | |
| 	bool "Denormal arithmetic support"
 | |
| 	depends on FPU
 | |
| 	default n
 | |
| 	help
 | |
| 	  Say Y here to enable arithmetic of denormalized number. Enabling
 | |
| 	  this feature can enhance the precision for tininess number.
 | |
| 	  However, performance loss in float pointe calculations is
 | |
| 	  possibly significant due to additional FPU exception.
 | |
| 
 | |
| 	  If the calculated tolerance for tininess number is not critical,
 | |
| 	  say N to prevent performance loss.
 | |
| 
 | |
| config HWZOL
 | |
| 	bool "hardware zero overhead loop support"
 | |
| 	depends on CPU_D10 || CPU_D15
 | |
| 	default n
 | |
| 	help
 | |
| 	  A set of Zero-Overhead Loop mechanism is provided to reduce the
 | |
| 	  instruction fetch and execution overhead of loop-control instructions.
 | |
| 	  It will save 3 registers($LB, $LC, $LE) for context saving if say Y.
 | |
| 	  You don't need to save these registers if you can make sure your user
 | |
| 	  program doesn't use these registers.
 | |
| 
 | |
| 	  If unsure, say N.
 | |
| 
 | |
| config CPU_CACHE_ALIASING
 | |
| 	bool "Aliasing cache"
 | |
| 	depends on CPU_N10 || CPU_D10 || CPU_N13 || CPU_V3
 | |
| 	default y
 | |
| 	help
 | |
| 	  If this CPU is using VIPT data cache and its cache way size is larger
 | |
| 	  than page size, say Y. If it is using PIPT data cache, say N.
 | |
| 
 | |
| 	  If unsure, say Y.
 | |
| 
 | |
| choice
 | |
| 	prompt "minimum CPU type"
 | |
| 	default CPU_V3
 | |
| 	help
 | |
| 	  The data cache of N15/D15 is implemented as PIPT and it will not cause
 | |
| 	  the cache aliasing issue. The rest cpus(N13, N10 and D10) are
 | |
| 	  implemented as VIPT data cache. It may cause the cache aliasing issue
 | |
| 	  if its cache way size is larger than page size. You can specify the
 | |
| 	  CPU type direcly or choose CPU_V3 if unsure.
 | |
| 
 | |
|           A kernel built for N10 is able to run on N15, D15, N13, N10 or D10.
 | |
|           A kernel built for N15 is able to run on N15 or D15.
 | |
|           A kernel built for D10 is able to run on D10 or D15.
 | |
|           A kernel built for D15 is able to run on D15.
 | |
|           A kernel built for N13 is able to run on N15, N13 or D15.
 | |
| 
 | |
| config CPU_N15
 | |
| 	bool "AndesCore N15"
 | |
| config CPU_N13
 | |
| 	bool "AndesCore N13"
 | |
| 	select CPU_CACHE_ALIASING if ANDES_PAGE_SIZE_4KB
 | |
| config CPU_N10
 | |
| 	bool "AndesCore N10"
 | |
| 	select CPU_CACHE_ALIASING
 | |
| config CPU_D15
 | |
| 	bool "AndesCore D15"
 | |
| config CPU_D10
 | |
| 	bool "AndesCore D10"
 | |
| 	select CPU_CACHE_ALIASING
 | |
| config CPU_V3
 | |
| 	bool "AndesCore v3 compatible"
 | |
| 	select CPU_CACHE_ALIASING
 | |
| endchoice
 | |
| choice
 | |
| 	prompt "Paging -- page size "
 | |
| 	default ANDES_PAGE_SIZE_4KB
 | |
| config  ANDES_PAGE_SIZE_4KB
 | |
| 	bool "use 4KB page size"
 | |
| config  ANDES_PAGE_SIZE_8KB
 | |
| 	bool "use 8KB page size"
 | |
| endchoice
 | |
| 
 | |
| config CPU_ICACHE_DISABLE
 | |
| 	bool "Disable I-Cache"
 | |
| 	help
 | |
| 	  Say Y here to disable the processor instruction cache. Unless
 | |
| 	  you have a reason not to or are unsure, say N.
 | |
| 
 | |
| config CPU_DCACHE_DISABLE
 | |
| 	bool "Disable D-Cache"
 | |
| 	help
 | |
| 	  Say Y here to disable the processor data cache. Unless
 | |
| 	  you have a reason not to or are unsure, say N.
 | |
| 
 | |
| config CPU_DCACHE_WRITETHROUGH
 | |
| 	bool "Force write through D-cache"
 | |
| 	depends on !CPU_DCACHE_DISABLE
 | |
| 	help
 | |
| 	  Say Y here to use the data cache in writethrough mode. Unless you
 | |
| 	  specifically require this or are unsure, say N.
 | |
| 
 | |
| config WBNA
 | |
| 	bool "WBNA"
 | |
| 	default n
 | |
| 	help
 | |
| 	  Say Y here to enable write-back memory with no-write-allocation policy.
 | |
| 
 | |
| config ALIGNMENT_TRAP
 | |
| 	bool "Kernel support unaligned access handling by sw"
 | |
| 	depends on PROC_FS
 | |
| 	default n
 | |
| 	help
 | |
| 	  Andes processors cannot load/store information which is not
 | |
| 	  naturally aligned on the bus, i.e., a 4 byte load must start at an
 | |
| 	  address divisible by 4. On 32-bit Andes processors, these non-aligned
 | |
| 	  load/store instructions will be emulated in software if you say Y
 | |
| 	  here, which has a severe performance impact. With an IP-only
 | |
| 	  configuration it is safe to say N, otherwise say Y.
 | |
| 
 | |
| config HW_SUPPORT_UNALIGNMENT_ACCESS
 | |
| 	bool "Kernel support unaligned access handling by hw"
 | |
| 	depends on !ALIGNMENT_TRAP
 | |
| 	default n
 | |
| 	help
 | |
| 	  Andes processors load/store world/half-word instructions can access
 | |
| 	  unaligned memory locations without generating the Data Alignment
 | |
| 	  Check exceptions. With an IP-only configuration it is safe to say N,
 | |
| 	  otherwise say Y.
 | |
| 
 | |
| config HIGHMEM
 | |
| 	bool "High Memory Support"
 | |
| 	depends on MMU && !CPU_CACHE_ALIASING
 | |
| 	help
 | |
| 	  The address space of Andes processors is only 4 Gigabytes large
 | |
| 	  and it has to accommodate user address space, kernel address
 | |
| 	  space as well as some memory mapped IO. That means that, if you
 | |
| 	  have a large amount of physical memory and/or IO, not all of the
 | |
| 	  memory can be "permanently mapped" by the kernel. The physical
 | |
| 	  memory that is not permanently mapped is called "high memory".
 | |
| 
 | |
| 	  Depending on the selected kernel/user memory split, minimum
 | |
| 	  vmalloc space and actual amount of RAM, you may not need this
 | |
| 	  option which should result in a slightly faster kernel.
 | |
| 
 | |
| 	  If unsure, say N.
 | |
| 
 | |
| config CACHE_L2
 | |
| 	bool "Support L2 cache"
 | |
|         default y
 | |
| 	help
 | |
| 	  Say Y here to enable L2 cache if your SoC are integrated with L2CC.
 | |
| 	  If unsure, say N.
 | |
| 
 | |
| config HW_PRE
 | |
| 	bool "Enable hardware prefetcher"
 | |
| 	default y
 | |
| 	help
 | |
| 	  Say Y here to enable hardware prefetcher feature.
 | |
| 	  Only when CPU_VER.REV >= 0x09 can support.
 | |
| 
 | |
| menu "Memory configuration"
 | |
| 
 | |
| choice
 | |
| 	prompt "Memory split"
 | |
| 	depends on MMU
 | |
| 	default VMSPLIT_3G_OPT
 | |
| 	help
 | |
| 	  Select the desired split between kernel and user memory.
 | |
| 
 | |
| 	  If you are not absolutely sure what you are doing, leave this
 | |
| 	  option alone!
 | |
| 
 | |
| 	config VMSPLIT_3G
 | |
| 		bool "3G/1G user/kernel split"
 | |
| 	config VMSPLIT_3G_OPT
 | |
| 		bool "3G/1G user/kernel split (for full 1G low memory)"
 | |
| 	config VMSPLIT_2G
 | |
| 		bool "2G/2G user/kernel split"
 | |
| 	config VMSPLIT_1G
 | |
| 		bool "1G/3G user/kernel split"
 | |
| endchoice
 | |
| 
 | |
| config PAGE_OFFSET
 | |
| 	hex
 | |
| 	default 0x40000000 if VMSPLIT_1G
 | |
| 	default 0x80000000 if VMSPLIT_2G
 | |
| 	default 0xB0000000 if VMSPLIT_3G_OPT
 | |
| 	default 0xC0000000
 | |
| 
 | |
| endmenu
 |