Linux Kernel
3.7.1
Main Page
Related Pages
Modules
Namespaces
Data Structures
Files
File List
Globals
All
Data Structures
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Macros
Groups
Pages
arch
x86
boot
mkcpustr.c
Go to the documentation of this file.
1
/* ----------------------------------------------------------------------- *
2
*
3
* Copyright 2008 rPath, Inc. - All Rights Reserved
4
*
5
* This file is part of the Linux kernel, and is made available under
6
* the terms of the GNU General Public License version 2 or (at your
7
* option) any later version; incorporated herein by reference.
8
*
9
* ----------------------------------------------------------------------- */
10
11
/*
12
* This is a host program to preprocess the CPU strings into a
13
* compact format suitable for the setup code.
14
*/
15
16
#include <
stdio.h
>
17
18
#include "../include/asm/required-features.h"
19
#include "../include/asm/cpufeature.h"
20
#include "../kernel/cpu/capflags.c"
21
22
int
main
(
void
)
23
{
24
int
i
,
j
;
25
const
char
*
str
;
26
27
printf
(
"static const char x86_cap_strs[] =\n"
);
28
29
for
(i = 0; i <
NCAPINTS
; i++) {
30
for
(j = 0; j < 32; j++) {
31
str = x86_cap_flags[i*32+
j
];
32
33
if
(i == NCAPINTS-1 && j == 31) {
34
/* The last entry must be unconditional; this
35
also consumes the compiler-added null
36
character */
37
if
(!str)
38
str =
""
;
39
printf
(
"\t\"\\x%02x\\x%02x\"\"%s\"\n"
,
40
i, j, str);
41
}
else
if
(str) {
42
printf
(
"#if REQUIRED_MASK%d & (1 << %d)\n"
43
"\t\"\\x%02x\\x%02x\"\"%s\\0\"\n"
44
"#endif\n"
,
45
i, j, i, j, str);
46
}
47
}
48
}
49
printf
(
"\t;\n"
);
50
return
0;
51
}
Generated on Thu Jan 10 2013 13:19:46 for Linux Kernel by
1.8.2