forked from mirrors/linux
		
	MIPS: Add build support for the MIPS R6 ISA
Add build support for the latest revision (R6) of the MIPS ISA. microMIPS is not yet supported. Link: http://www.linux-mips.org/archives/linux-mips/2015-01/msg00386.html Cc: Maciej W. Rozycki <macro@linux-mips.org> Signed-off-by: Leonid Yegoshin <Leonid.Yegoshin@imgtec.com> Signed-off-by: Markos Chandras <markos.chandras@imgtec.com>
This commit is contained in:
		
							parent
							
								
									b2498af56a
								
							
						
					
					
						commit
						7fd08ca58a
					
				
					 2 changed files with 45 additions and 4 deletions
				
			
		|  | @ -1305,6 +1305,21 @@ config CPU_MIPS32_R2 | |||
| 	  specific type of processor in your system, choose those that one | ||||
| 	  otherwise CPU_MIPS32_R1 is a safe bet for any MIPS32 system. | ||||
| 
 | ||||
| config CPU_MIPS32_R6 | ||||
| 	bool "MIPS32 Release 6 (EXPERIMENTAL)" | ||||
| 	depends on SYS_HAS_CPU_MIPS32_R6 | ||||
| 	select CPU_HAS_PREFETCH | ||||
| 	select CPU_SUPPORTS_32BIT_KERNEL | ||||
| 	select CPU_SUPPORTS_HIGHMEM | ||||
| 	select CPU_SUPPORTS_MSA | ||||
| 	select HAVE_KVM | ||||
| 	select MIPS_O32_FP64_SUPPORT | ||||
| 	help | ||||
| 	  Choose this option to build a kernel for release 6 or later of the | ||||
| 	  MIPS32 architecture.  New MIPS processors, starting with the Warrior | ||||
| 	  family, are based on a MIPS32r6 processor. If you own an older | ||||
| 	  processor, you probably need to select MIPS32r1 or MIPS32r2 instead. | ||||
| 
 | ||||
| config CPU_MIPS64_R1 | ||||
| 	bool "MIPS64 Release 1" | ||||
| 	depends on SYS_HAS_CPU_MIPS64_R1 | ||||
|  | @ -1340,6 +1355,20 @@ config CPU_MIPS64_R2 | |||
| 	  specific type of processor in your system, choose those that one | ||||
| 	  otherwise CPU_MIPS64_R1 is a safe bet for any MIPS64 system. | ||||
| 
 | ||||
| config CPU_MIPS64_R6 | ||||
| 	bool "MIPS64 Release 6 (EXPERIMENTAL)" | ||||
| 	depends on SYS_HAS_CPU_MIPS64_R6 | ||||
| 	select CPU_HAS_PREFETCH | ||||
| 	select CPU_SUPPORTS_32BIT_KERNEL | ||||
| 	select CPU_SUPPORTS_64BIT_KERNEL | ||||
| 	select CPU_SUPPORTS_HIGHMEM | ||||
| 	select CPU_SUPPORTS_MSA | ||||
| 	help | ||||
| 	  Choose this option to build a kernel for release 6 or later of the | ||||
| 	  MIPS64 architecture.  New MIPS processors, starting with the Warrior | ||||
| 	  family, are based on a MIPS64r6 processor. If you own an older | ||||
| 	  processor, you probably need to select MIPS64r1 or MIPS64r2 instead. | ||||
| 
 | ||||
| config CPU_R3000 | ||||
| 	bool "R3000" | ||||
| 	depends on SYS_HAS_CPU_R3000 | ||||
|  | @ -1540,7 +1569,7 @@ endchoice | |||
| config CPU_MIPS32_3_5_FEATURES | ||||
| 	bool "MIPS32 Release 3.5 Features" | ||||
| 	depends on SYS_HAS_CPU_MIPS32_R3_5 | ||||
| 	depends on CPU_MIPS32_R2 | ||||
| 	depends on CPU_MIPS32_R2 || CPU_MIPS32_R6 | ||||
| 	help | ||||
| 	  Choose this option to build a kernel for release 2 or later of the | ||||
| 	  MIPS32 architecture including features from the 3.5 release such as | ||||
|  | @ -1660,12 +1689,18 @@ config SYS_HAS_CPU_MIPS32_R2 | |||
| config SYS_HAS_CPU_MIPS32_R3_5 | ||||
| 	bool | ||||
| 
 | ||||
| config SYS_HAS_CPU_MIPS32_R6 | ||||
| 	bool | ||||
| 
 | ||||
| config SYS_HAS_CPU_MIPS64_R1 | ||||
| 	bool | ||||
| 
 | ||||
| config SYS_HAS_CPU_MIPS64_R2 | ||||
| 	bool | ||||
| 
 | ||||
| config SYS_HAS_CPU_MIPS64_R6 | ||||
| 	bool | ||||
| 
 | ||||
| config SYS_HAS_CPU_R3000 | ||||
| 	bool | ||||
| 
 | ||||
|  | @ -1765,11 +1800,11 @@ endmenu | |||
| # | ||||
| config CPU_MIPS32 | ||||
| 	bool | ||||
| 	default y if CPU_MIPS32_R1 || CPU_MIPS32_R2 | ||||
| 	default y if CPU_MIPS32_R1 || CPU_MIPS32_R2 || CPU_MIPS32_R6 | ||||
| 
 | ||||
| config CPU_MIPS64 | ||||
| 	bool | ||||
| 	default y if CPU_MIPS64_R1 || CPU_MIPS64_R2 | ||||
| 	default y if CPU_MIPS64_R1 || CPU_MIPS64_R2 || CPU_MIPS64_R6 | ||||
| 
 | ||||
| # | ||||
| # These two indicate the revision of the architecture, either Release 1 or Release 2 | ||||
|  | @ -1782,6 +1817,10 @@ config CPU_MIPSR2 | |||
| 	bool | ||||
| 	default y if CPU_MIPS32_R2 || CPU_MIPS64_R2 || CPU_CAVIUM_OCTEON | ||||
| 
 | ||||
| config CPU_MIPSR6 | ||||
| 	bool | ||||
| 	default y if CPU_MIPS32_R6 || CPU_MIPS64_R6 | ||||
| 
 | ||||
| config EVA | ||||
| 	bool | ||||
| 
 | ||||
|  | @ -2149,7 +2188,7 @@ config CPU_HAS_SMARTMIPS | |||
| 	  here. | ||||
| 
 | ||||
| config CPU_MICROMIPS | ||||
| 	depends on 32BIT && SYS_SUPPORTS_MICROMIPS | ||||
| 	depends on 32BIT && SYS_SUPPORTS_MICROMIPS && !CPU_MIPSR6 | ||||
| 	bool "microMIPS" | ||||
| 	help | ||||
| 	  When this option is enabled the kernel will be built using the | ||||
|  |  | |||
|  | @ -138,10 +138,12 @@ cflags-$(CONFIG_CPU_MIPS32_R1)	+= $(call cc-option,-march=mips32,-mips32 -U_MIPS | |||
| 			-Wa,-mips32 -Wa,--trap | ||||
| cflags-$(CONFIG_CPU_MIPS32_R2)	+= $(call cc-option,-march=mips32r2,-mips32r2 -U_MIPS_ISA -D_MIPS_ISA=_MIPS_ISA_MIPS32) \
 | ||||
| 			-Wa,-mips32r2 -Wa,--trap | ||||
| cflags-$(CONFIG_CPU_MIPS32_R6)	+= -march=mips32r6 -Wa,--trap | ||||
| cflags-$(CONFIG_CPU_MIPS64_R1)	+= $(call cc-option,-march=mips64,-mips64 -U_MIPS_ISA -D_MIPS_ISA=_MIPS_ISA_MIPS64) \
 | ||||
| 			-Wa,-mips64 -Wa,--trap | ||||
| cflags-$(CONFIG_CPU_MIPS64_R2)	+= $(call cc-option,-march=mips64r2,-mips64r2 -U_MIPS_ISA -D_MIPS_ISA=_MIPS_ISA_MIPS64) \
 | ||||
| 			-Wa,-mips64r2 -Wa,--trap | ||||
| cflags-$(CONFIG_CPU_MIPS64_R6)	+= -march=mips64r6 -Wa,--trap | ||||
| cflags-$(CONFIG_CPU_R5000)	+= -march=r5000 -Wa,--trap | ||||
| cflags-$(CONFIG_CPU_R5432)	+= $(call cc-option,-march=r5400,-march=r5000) \
 | ||||
| 			-Wa,--trap | ||||
|  |  | |||
		Loading…
	
		Reference in a new issue
	
	 Leonid Yegoshin
						Leonid Yegoshin