forked from mirrors/linux
		
	powerpc/64s: Refine feature sets for little endian builds
This reduces vmlinux text size by 1kB and data by 1.5kB with a small
build!
Signed-off-by: Nicholas Piggin <npiggin@gmail.com>
[mpe: Add the recently added CPU_FTRS_POWER9_DD2_2 to the little
      endian possible mask as noticed by Nick.]
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
			
			
This commit is contained in:
		
							parent
							
								
									a73657ea19
								
							
						
					
					
						commit
						db5ae1c155
					
				
					 1 changed files with 15 additions and 0 deletions
				
			
		| 
						 | 
					@ -483,6 +483,13 @@ static inline void cpu_feature_keys_init(void) { }
 | 
				
			||||||
#ifdef CONFIG_PPC_BOOK3E
 | 
					#ifdef CONFIG_PPC_BOOK3E
 | 
				
			||||||
#define CPU_FTRS_POSSIBLE	(CPU_FTRS_E6500 | CPU_FTRS_E5500)
 | 
					#define CPU_FTRS_POSSIBLE	(CPU_FTRS_E6500 | CPU_FTRS_E5500)
 | 
				
			||||||
#else
 | 
					#else
 | 
				
			||||||
 | 
					#ifdef CONFIG_CPU_LITTLE_ENDIAN
 | 
				
			||||||
 | 
					#define CPU_FTRS_POSSIBLE	\
 | 
				
			||||||
 | 
						    (CPU_FTRS_POWER7 | CPU_FTRS_POWER8E | CPU_FTRS_POWER8 | \
 | 
				
			||||||
 | 
						     CPU_FTRS_POWER8_DD1 | CPU_FTR_ALTIVEC_COMP | CPU_FTR_VSX_COMP | \
 | 
				
			||||||
 | 
						     CPU_FTRS_POWER9 | CPU_FTRS_POWER9_DD1 | CPU_FTRS_POWER9_DD2_1 | \
 | 
				
			||||||
 | 
						     CPU_FTRS_POWER9_DD2_2)
 | 
				
			||||||
 | 
					#else
 | 
				
			||||||
#define CPU_FTRS_POSSIBLE	\
 | 
					#define CPU_FTRS_POSSIBLE	\
 | 
				
			||||||
	    (CPU_FTRS_PPC970 | CPU_FTRS_POWER5 | \
 | 
						    (CPU_FTRS_PPC970 | CPU_FTRS_POWER5 | \
 | 
				
			||||||
	     CPU_FTRS_POWER6 | CPU_FTRS_POWER7 | CPU_FTRS_POWER8E | \
 | 
						     CPU_FTRS_POWER6 | CPU_FTRS_POWER7 | CPU_FTRS_POWER8E | \
 | 
				
			||||||
| 
						 | 
					@ -490,6 +497,7 @@ static inline void cpu_feature_keys_init(void) { }
 | 
				
			||||||
	     CPU_FTRS_PA6T | CPU_FTR_VSX_COMP | CPU_FTR_ALTIVEC_COMP | \
 | 
						     CPU_FTRS_PA6T | CPU_FTR_VSX_COMP | CPU_FTR_ALTIVEC_COMP | \
 | 
				
			||||||
	     CPU_FTRS_POWER9 | CPU_FTRS_POWER9_DD1 | CPU_FTRS_POWER9_DD2_1 | \
 | 
						     CPU_FTRS_POWER9 | CPU_FTRS_POWER9_DD1 | CPU_FTRS_POWER9_DD2_1 | \
 | 
				
			||||||
	     CPU_FTRS_POWER9_DD2_2)
 | 
						     CPU_FTRS_POWER9_DD2_2)
 | 
				
			||||||
 | 
					#endif /* CONFIG_CPU_LITTLE_ENDIAN */
 | 
				
			||||||
#endif
 | 
					#endif
 | 
				
			||||||
#else
 | 
					#else
 | 
				
			||||||
enum {
 | 
					enum {
 | 
				
			||||||
| 
						 | 
					@ -536,12 +544,19 @@ enum {
 | 
				
			||||||
#ifdef CONFIG_PPC_BOOK3E
 | 
					#ifdef CONFIG_PPC_BOOK3E
 | 
				
			||||||
#define CPU_FTRS_ALWAYS		(CPU_FTRS_E6500 & CPU_FTRS_E5500)
 | 
					#define CPU_FTRS_ALWAYS		(CPU_FTRS_E6500 & CPU_FTRS_E5500)
 | 
				
			||||||
#else
 | 
					#else
 | 
				
			||||||
 | 
					#ifdef CONFIG_CPU_LITTLE_ENDIAN
 | 
				
			||||||
 | 
					#define CPU_FTRS_ALWAYS \
 | 
				
			||||||
 | 
						    (CPU_FTRS_POSSIBLE & ~CPU_FTR_HVMODE & CPU_FTRS_POWER7 & \
 | 
				
			||||||
 | 
						     CPU_FTRS_POWER8E & CPU_FTRS_POWER8 & CPU_FTRS_POWER8_DD1 & \
 | 
				
			||||||
 | 
						     CPU_FTRS_POWER9 & CPU_FTRS_POWER9_DD1 & CPU_FTRS_POWER9_DD2_1)
 | 
				
			||||||
 | 
					#else
 | 
				
			||||||
#define CPU_FTRS_ALWAYS		\
 | 
					#define CPU_FTRS_ALWAYS		\
 | 
				
			||||||
	    (CPU_FTRS_PPC970 & CPU_FTRS_POWER5 & \
 | 
						    (CPU_FTRS_PPC970 & CPU_FTRS_POWER5 & \
 | 
				
			||||||
	     CPU_FTRS_POWER6 & CPU_FTRS_POWER7 & CPU_FTRS_CELL & \
 | 
						     CPU_FTRS_POWER6 & CPU_FTRS_POWER7 & CPU_FTRS_CELL & \
 | 
				
			||||||
	     CPU_FTRS_PA6T & CPU_FTRS_POWER8 & CPU_FTRS_POWER8E & \
 | 
						     CPU_FTRS_PA6T & CPU_FTRS_POWER8 & CPU_FTRS_POWER8E & \
 | 
				
			||||||
	     CPU_FTRS_POWER8_DD1 & ~CPU_FTR_HVMODE & CPU_FTRS_POSSIBLE & \
 | 
						     CPU_FTRS_POWER8_DD1 & ~CPU_FTR_HVMODE & CPU_FTRS_POSSIBLE & \
 | 
				
			||||||
	     CPU_FTRS_POWER9 & CPU_FTRS_POWER9_DD1 & CPU_FTRS_POWER9_DD2_1)
 | 
						     CPU_FTRS_POWER9 & CPU_FTRS_POWER9_DD1 & CPU_FTRS_POWER9_DD2_1)
 | 
				
			||||||
 | 
					#endif /* CONFIG_CPU_LITTLE_ENDIAN */
 | 
				
			||||||
#endif
 | 
					#endif
 | 
				
			||||||
#else
 | 
					#else
 | 
				
			||||||
enum {
 | 
					enum {
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
		Reference in a new issue