diff options
Diffstat (limited to 'arch/x86/boot/mkcpustr.c')
| -rw-r--r-- | arch/x86/boot/mkcpustr.c | 40 | 
1 files changed, 20 insertions, 20 deletions
diff --git a/arch/x86/boot/mkcpustr.c b/arch/x86/boot/mkcpustr.c index bbe76953bae..8ef60f20b37 100644 --- a/arch/x86/boot/mkcpustr.c +++ b/arch/x86/boot/mkcpustr.c @@ -15,33 +15,33 @@  #include <stdio.h> -#include "../kernel/cpu/feature_names.c" - -#if NCAPFLAGS > 8 -# error "Need to adjust the boot code handling of CPUID strings" -#endif +#include "../kernel/cpu/capflags.c"  int main(void)  { -	int i; +	int i, j;  	const char *str;  	printf("static const char x86_cap_strs[] = \n"); -	for (i = 0; i < NCAPINTS*32; i++) { -		str = x86_cap_flags[i]; - -		if (i == NCAPINTS*32-1) { -			/* The last entry must be unconditional; this -			   also consumes the compiler-added null character */ -			if (!str) -				str = ""; -			printf("\t\"\\x%02x\"\"%s\"\n", i, str); -		} else if (str) { -			printf("#if REQUIRED_MASK%d & (1 << %d)\n" -			       "\t\"\\x%02x\"\"%s\\0\"\n" -			       "#endif\n", -			       i >> 5, i & 31, i, str); +	for (i = 0; i < NCAPINTS; i++) { +		for (j = 0; j < 32; j++) { +			str = x86_cap_flags[i*32+j]; + +			if (i == NCAPINTS-1 && j == 31) { +				/* The last entry must be unconditional; this +				   also consumes the compiler-added null +				   character */ +				if (!str) +					str = ""; +				printf("\t\"\\x%02x\\x%02x\"\"%s\"\n", +				       i, j, str); +			} else if (str) { +				printf("#if REQUIRED_MASK%d & (1 << %d)\n" +				       "\t\"\\x%02x\\x%02x\"\"%s\\0\"\n" +				       "#endif\n", +				       i, j, i, j, str); +			}  		}  	}  	printf("\t;\n");  | 
