sconfig: add cpu device type
In order to enumerate CPU devices that are non-x86 (read: no lapic) provide a generic 'cpu' device. Change-Id: Ifeafdad8076935c3448784e6958117002509acbf Signed-off-by: Aaron Durbin <adurbin@chromium.org> Reviewed-on: http://review.coreboot.org/6824 Tested-by: build bot (Jenkins) Reviewed-by: Stefan Reinauer <stefan.reinauer@coreboot.org> Reviewed-by: Ronald G. Minnich <rminnich@gmail.com>
This commit is contained in:
parent
a296f9e3d3
commit
ffda804b52
|
@ -368,8 +368,8 @@ static void yy_fatal_error (yyconst char msg[] );
|
||||||
*yy_cp = '\0'; \
|
*yy_cp = '\0'; \
|
||||||
(yy_c_buf_p) = yy_cp;
|
(yy_c_buf_p) = yy_cp;
|
||||||
|
|
||||||
#define YY_NUM_RULES 30
|
#define YY_NUM_RULES 31
|
||||||
#define YY_END_OF_BUFFER 31
|
#define YY_END_OF_BUFFER 32
|
||||||
/* This struct is not used in this scanner,
|
/* This struct is not used in this scanner,
|
||||||
but its presence is necessary. */
|
but its presence is necessary. */
|
||||||
struct yy_trans_info
|
struct yy_trans_info
|
||||||
|
@ -379,19 +379,19 @@ struct yy_trans_info
|
||||||
};
|
};
|
||||||
static yyconst flex_int16_t yy_accept[116] =
|
static yyconst flex_int16_t yy_accept[116] =
|
||||||
{ 0,
|
{ 0,
|
||||||
0, 0, 31, 29, 1, 3, 29, 29, 29, 25,
|
0, 0, 32, 30, 1, 3, 30, 30, 30, 26,
|
||||||
25, 23, 26, 29, 26, 26, 26, 29, 29, 29,
|
26, 24, 27, 30, 27, 27, 27, 30, 30, 30,
|
||||||
29, 29, 29, 29, 1, 3, 29, 0, 29, 0,
|
30, 30, 30, 30, 1, 3, 30, 0, 30, 0,
|
||||||
2, 25, 26, 29, 29, 29, 29, 26, 29, 29,
|
2, 26, 27, 30, 30, 30, 30, 27, 30, 30,
|
||||||
29, 29, 29, 18, 29, 29, 29, 7, 29, 29,
|
30, 30, 30, 19, 30, 30, 30, 7, 30, 30,
|
||||||
29, 29, 28, 28, 24, 29, 29, 29, 29, 29,
|
30, 30, 29, 29, 25, 30, 30, 15, 30, 30,
|
||||||
17, 22, 12, 29, 29, 16, 29, 8, 9, 11,
|
18, 23, 12, 30, 30, 17, 30, 8, 9, 11,
|
||||||
29, 29, 27, 4, 29, 29, 29, 29, 29, 29,
|
30, 30, 28, 4, 30, 30, 30, 30, 30, 30,
|
||||||
29, 29, 29, 29, 29, 29, 29, 13, 29, 29,
|
30, 30, 30, 30, 30, 30, 30, 13, 30, 30,
|
||||||
29, 5, 15, 29, 10, 29, 29, 29, 20, 29,
|
30, 5, 16, 30, 10, 30, 30, 30, 21, 30,
|
||||||
|
|
||||||
29, 29, 29, 29, 6, 29, 29, 29, 29, 29,
|
30, 30, 30, 30, 6, 30, 30, 30, 30, 30,
|
||||||
19, 29, 14, 21, 0
|
20, 30, 14, 22, 0
|
||||||
} ;
|
} ;
|
||||||
|
|
||||||
static yyconst flex_int32_t yy_ec[256] =
|
static yyconst flex_int32_t yy_ec[256] =
|
||||||
|
@ -888,43 +888,43 @@ YY_RULE_SETUP
|
||||||
YY_BREAK
|
YY_BREAK
|
||||||
case 15:
|
case 15:
|
||||||
YY_RULE_SETUP
|
YY_RULE_SETUP
|
||||||
{yylval.number=DOMAIN; return(BUS);}
|
{yylval.number=CPU; return(BUS);}
|
||||||
YY_BREAK
|
YY_BREAK
|
||||||
case 16:
|
case 16:
|
||||||
YY_RULE_SETUP
|
YY_RULE_SETUP
|
||||||
{yylval.number=IRQ; return(RESOURCE);}
|
{yylval.number=DOMAIN; return(BUS);}
|
||||||
YY_BREAK
|
YY_BREAK
|
||||||
case 17:
|
case 17:
|
||||||
YY_RULE_SETUP
|
YY_RULE_SETUP
|
||||||
{yylval.number=DRQ; return(RESOURCE);}
|
{yylval.number=IRQ; return(RESOURCE);}
|
||||||
YY_BREAK
|
YY_BREAK
|
||||||
case 18:
|
case 18:
|
||||||
YY_RULE_SETUP
|
YY_RULE_SETUP
|
||||||
{yylval.number=IO; return(RESOURCE);}
|
{yylval.number=DRQ; return(RESOURCE);}
|
||||||
YY_BREAK
|
YY_BREAK
|
||||||
case 19:
|
case 19:
|
||||||
YY_RULE_SETUP
|
YY_RULE_SETUP
|
||||||
{return(IOAPIC_IRQ);}
|
{yylval.number=IO; return(RESOURCE);}
|
||||||
YY_BREAK
|
YY_BREAK
|
||||||
case 20:
|
case 20:
|
||||||
YY_RULE_SETUP
|
YY_RULE_SETUP
|
||||||
{return(INHERIT);}
|
{return(IOAPIC_IRQ);}
|
||||||
YY_BREAK
|
YY_BREAK
|
||||||
case 21:
|
case 21:
|
||||||
YY_RULE_SETUP
|
YY_RULE_SETUP
|
||||||
{return(SUBSYSTEMID);}
|
{return(INHERIT);}
|
||||||
YY_BREAK
|
YY_BREAK
|
||||||
case 22:
|
case 22:
|
||||||
YY_RULE_SETUP
|
YY_RULE_SETUP
|
||||||
{return(END);}
|
{return(SUBSYSTEMID);}
|
||||||
YY_BREAK
|
YY_BREAK
|
||||||
case 23:
|
case 23:
|
||||||
YY_RULE_SETUP
|
YY_RULE_SETUP
|
||||||
{return(EQUALS);}
|
{return(END);}
|
||||||
YY_BREAK
|
YY_BREAK
|
||||||
case 24:
|
case 24:
|
||||||
YY_RULE_SETUP
|
YY_RULE_SETUP
|
||||||
{yylval.string = malloc(yyleng+1); strncpy(yylval.string, yytext, yyleng); yylval.string[yyleng]='\0'; return(NUMBER);}
|
{return(EQUALS);}
|
||||||
YY_BREAK
|
YY_BREAK
|
||||||
case 25:
|
case 25:
|
||||||
YY_RULE_SETUP
|
YY_RULE_SETUP
|
||||||
|
@ -936,18 +936,22 @@ YY_RULE_SETUP
|
||||||
YY_BREAK
|
YY_BREAK
|
||||||
case 27:
|
case 27:
|
||||||
YY_RULE_SETUP
|
YY_RULE_SETUP
|
||||||
{yylval.string = malloc(yyleng+1); strncpy(yylval.string, yytext, yyleng); yylval.string[yyleng]='\0'; return(PCIINT);}
|
{yylval.string = malloc(yyleng+1); strncpy(yylval.string, yytext, yyleng); yylval.string[yyleng]='\0'; return(NUMBER);}
|
||||||
YY_BREAK
|
YY_BREAK
|
||||||
case 28:
|
case 28:
|
||||||
/* rule 28 can match eol */
|
YY_RULE_SETUP
|
||||||
|
{yylval.string = malloc(yyleng+1); strncpy(yylval.string, yytext, yyleng); yylval.string[yyleng]='\0'; return(PCIINT);}
|
||||||
|
YY_BREAK
|
||||||
|
case 29:
|
||||||
|
/* rule 29 can match eol */
|
||||||
YY_RULE_SETUP
|
YY_RULE_SETUP
|
||||||
{yylval.string = malloc(yyleng-1); strncpy(yylval.string, yytext+1, yyleng-2); yylval.string[yyleng-2]='\0'; return(STRING);}
|
{yylval.string = malloc(yyleng-1); strncpy(yylval.string, yytext+1, yyleng-2); yylval.string[yyleng-2]='\0'; return(STRING);}
|
||||||
YY_BREAK
|
YY_BREAK
|
||||||
case 29:
|
case 30:
|
||||||
YY_RULE_SETUP
|
YY_RULE_SETUP
|
||||||
{yylval.string = malloc(yyleng+1); strncpy(yylval.string, yytext, yyleng); yylval.string[yyleng]='\0'; return(STRING);}
|
{yylval.string = malloc(yyleng+1); strncpy(yylval.string, yytext, yyleng); yylval.string[yyleng]='\0'; return(STRING);}
|
||||||
YY_BREAK
|
YY_BREAK
|
||||||
case 30:
|
case 31:
|
||||||
YY_RULE_SETUP
|
YY_RULE_SETUP
|
||||||
ECHO;
|
ECHO;
|
||||||
YY_BREAK
|
YY_BREAK
|
||||||
|
|
|
@ -272,6 +272,10 @@ struct device *new_device(struct device *parent, struct device *busdev, const in
|
||||||
new_d->path = ".type=DEVICE_PATH_CPU_CLUSTER,{.cpu_cluster={ .cluster = 0x%x }}";
|
new_d->path = ".type=DEVICE_PATH_CPU_CLUSTER,{.cpu_cluster={ .cluster = 0x%x }}";
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
case CPU:
|
||||||
|
new_d->path = ".type=DEVICE_PATH_CPU,{.cpu={ .id = 0x%x }}";
|
||||||
|
break;
|
||||||
|
|
||||||
case DOMAIN:
|
case DOMAIN:
|
||||||
new_d->path = ".type=DEVICE_PATH_DOMAIN,{.domain={ .domain = 0x%x }}";
|
new_d->path = ".type=DEVICE_PATH_DOMAIN,{.domain={ .domain = 0x%x }}";
|
||||||
break;
|
break;
|
||||||
|
|
|
@ -39,6 +39,7 @@ pnp {yylval.number=PNP; return(BUS);}
|
||||||
i2c {yylval.number=I2C; return(BUS);}
|
i2c {yylval.number=I2C; return(BUS);}
|
||||||
lapic {yylval.number=APIC; return(BUS);}
|
lapic {yylval.number=APIC; return(BUS);}
|
||||||
cpu_cluster {yylval.number=CPU_CLUSTER; return(BUS);}
|
cpu_cluster {yylval.number=CPU_CLUSTER; return(BUS);}
|
||||||
|
cpu {yylval.number=CPU; return(BUS);}
|
||||||
domain {yylval.number=DOMAIN; return(BUS);}
|
domain {yylval.number=DOMAIN; return(BUS);}
|
||||||
irq {yylval.number=IRQ; return(RESOURCE);}
|
irq {yylval.number=IRQ; return(RESOURCE);}
|
||||||
drq {yylval.number=DRQ; return(RESOURCE);}
|
drq {yylval.number=DRQ; return(RESOURCE);}
|
||||||
|
|
|
@ -133,16 +133,17 @@ static struct device *cur_parent, *cur_bus;
|
||||||
I2C = 270,
|
I2C = 270,
|
||||||
APIC = 271,
|
APIC = 271,
|
||||||
CPU_CLUSTER = 272,
|
CPU_CLUSTER = 272,
|
||||||
DOMAIN = 273,
|
CPU = 273,
|
||||||
IRQ = 274,
|
DOMAIN = 274,
|
||||||
DRQ = 275,
|
IRQ = 275,
|
||||||
IO = 276,
|
DRQ = 276,
|
||||||
NUMBER = 277,
|
IO = 277,
|
||||||
SUBSYSTEMID = 278,
|
NUMBER = 278,
|
||||||
INHERIT = 279,
|
SUBSYSTEMID = 279,
|
||||||
IOAPIC_IRQ = 280,
|
INHERIT = 280,
|
||||||
IOAPIC = 281,
|
IOAPIC_IRQ = 281,
|
||||||
PCIINT = 282
|
IOAPIC = 282,
|
||||||
|
PCIINT = 283
|
||||||
};
|
};
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
@ -387,10 +388,10 @@ union yyalloc
|
||||||
/* YYFINAL -- State number of the termination state. */
|
/* YYFINAL -- State number of the termination state. */
|
||||||
#define YYFINAL 3
|
#define YYFINAL 3
|
||||||
/* YYLAST -- Last index in YYTABLE. */
|
/* YYLAST -- Last index in YYTABLE. */
|
||||||
#define YYLAST 37
|
#define YYLAST 39
|
||||||
|
|
||||||
/* YYNTOKENS -- Number of terminals. */
|
/* YYNTOKENS -- Number of terminals. */
|
||||||
#define YYNTOKENS 28
|
#define YYNTOKENS 29
|
||||||
/* YYNNTS -- Number of nonterminals. */
|
/* YYNNTS -- Number of nonterminals. */
|
||||||
#define YYNNTS 13
|
#define YYNNTS 13
|
||||||
/* YYNRULES -- Number of rules. */
|
/* YYNRULES -- Number of rules. */
|
||||||
|
@ -400,7 +401,7 @@ union yyalloc
|
||||||
|
|
||||||
/* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX. */
|
/* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX. */
|
||||||
#define YYUNDEFTOK 2
|
#define YYUNDEFTOK 2
|
||||||
#define YYMAXUTOK 282
|
#define YYMAXUTOK 283
|
||||||
|
|
||||||
#define YYTRANSLATE(YYX) \
|
#define YYTRANSLATE(YYX) \
|
||||||
((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK)
|
((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK)
|
||||||
|
@ -436,7 +437,7 @@ static const yytype_uint8 yytranslate[] =
|
||||||
2, 2, 2, 2, 2, 2, 1, 2, 3, 4,
|
2, 2, 2, 2, 2, 2, 1, 2, 3, 4,
|
||||||
5, 6, 7, 8, 9, 10, 11, 12, 13, 14,
|
5, 6, 7, 8, 9, 10, 11, 12, 13, 14,
|
||||||
15, 16, 17, 18, 19, 20, 21, 22, 23, 24,
|
15, 16, 17, 18, 19, 20, 21, 22, 23, 24,
|
||||||
25, 26, 27
|
25, 26, 27, 28
|
||||||
};
|
};
|
||||||
|
|
||||||
#if YYDEBUG
|
#if YYDEBUG
|
||||||
|
@ -452,14 +453,14 @@ static const yytype_uint8 yyprhs[] =
|
||||||
/* YYRHS -- A `-1'-separated list of the rules' RHS. */
|
/* YYRHS -- A `-1'-separated list of the rules' RHS. */
|
||||||
static const yytype_int8 yyrhs[] =
|
static const yytype_int8 yyrhs[] =
|
||||||
{
|
{
|
||||||
29, 0, -1, -1, 30, 33, -1, 31, 35, -1,
|
30, 0, -1, -1, 31, 34, -1, 32, 36, -1,
|
||||||
31, 33, -1, 31, 38, -1, -1, 32, 35, -1,
|
32, 34, -1, 32, 39, -1, -1, 33, 36, -1,
|
||||||
32, 33, -1, 32, 37, -1, 32, 39, -1, 32,
|
33, 34, -1, 33, 38, -1, 33, 40, -1, 33,
|
||||||
40, -1, -1, -1, 3, 12, 34, 31, 9, -1,
|
41, -1, -1, -1, 3, 12, 35, 32, 9, -1,
|
||||||
-1, 4, 7, 22, 6, 36, 32, 9, -1, 8,
|
-1, 4, 7, 23, 6, 37, 33, 9, -1, 8,
|
||||||
22, 10, 22, -1, 5, 12, 10, 12, -1, 23,
|
23, 10, 23, -1, 5, 12, 10, 12, -1, 24,
|
||||||
22, 22, -1, 23, 22, 22, 24, -1, 25, 22,
|
23, 23, -1, 24, 23, 23, 25, -1, 26, 23,
|
||||||
27, 22, -1
|
28, 23, -1
|
||||||
};
|
};
|
||||||
|
|
||||||
/* YYRLINE[YYN] -- source line where rule number YYN was defined. */
|
/* YYRLINE[YYN] -- source line where rule number YYN was defined. */
|
||||||
|
@ -478,7 +479,7 @@ static const char *const yytname[] =
|
||||||
{
|
{
|
||||||
"$end", "error", "$undefined", "CHIP", "DEVICE", "REGISTER", "BOOL",
|
"$end", "error", "$undefined", "CHIP", "DEVICE", "REGISTER", "BOOL",
|
||||||
"BUS", "RESOURCE", "END", "EQUALS", "HEX", "STRING", "PCI", "PNP", "I2C",
|
"BUS", "RESOURCE", "END", "EQUALS", "HEX", "STRING", "PCI", "PNP", "I2C",
|
||||||
"APIC", "CPU_CLUSTER", "DOMAIN", "IRQ", "DRQ", "IO", "NUMBER",
|
"APIC", "CPU_CLUSTER", "CPU", "DOMAIN", "IRQ", "DRQ", "IO", "NUMBER",
|
||||||
"SUBSYSTEMID", "INHERIT", "IOAPIC_IRQ", "IOAPIC", "PCIINT", "$accept",
|
"SUBSYSTEMID", "INHERIT", "IOAPIC_IRQ", "IOAPIC", "PCIINT", "$accept",
|
||||||
"devtree", "$@1", "chipchildren", "devicechildren", "chip", "@2",
|
"devtree", "$@1", "chipchildren", "devicechildren", "chip", "@2",
|
||||||
"device", "@3", "resource", "registers", "subsystemid", "ioapic_irq", 0
|
"device", "@3", "resource", "registers", "subsystemid", "ioapic_irq", 0
|
||||||
|
@ -492,16 +493,16 @@ static const yytype_uint16 yytoknum[] =
|
||||||
{
|
{
|
||||||
0, 256, 257, 258, 259, 260, 261, 262, 263, 264,
|
0, 256, 257, 258, 259, 260, 261, 262, 263, 264,
|
||||||
265, 266, 267, 268, 269, 270, 271, 272, 273, 274,
|
265, 266, 267, 268, 269, 270, 271, 272, 273, 274,
|
||||||
275, 276, 277, 278, 279, 280, 281, 282
|
275, 276, 277, 278, 279, 280, 281, 282, 283
|
||||||
};
|
};
|
||||||
# endif
|
# endif
|
||||||
|
|
||||||
/* YYR1[YYN] -- Symbol number of symbol that rule YYN derives. */
|
/* YYR1[YYN] -- Symbol number of symbol that rule YYN derives. */
|
||||||
static const yytype_uint8 yyr1[] =
|
static const yytype_uint8 yyr1[] =
|
||||||
{
|
{
|
||||||
0, 28, 30, 29, 31, 31, 31, 31, 32, 32,
|
0, 29, 31, 30, 32, 32, 32, 32, 33, 33,
|
||||||
32, 32, 32, 32, 34, 33, 36, 35, 37, 38,
|
33, 33, 33, 33, 35, 34, 37, 36, 38, 39,
|
||||||
39, 39, 40
|
40, 40, 41
|
||||||
};
|
};
|
||||||
|
|
||||||
/* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN. */
|
/* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN. */
|
||||||
|
@ -533,21 +534,21 @@ static const yytype_int8 yydefgoto[] =
|
||||||
|
|
||||||
/* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
|
/* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
|
||||||
STATE-NUM. */
|
STATE-NUM. */
|
||||||
#define YYPACT_NINF -9
|
#define YYPACT_NINF -10
|
||||||
static const yytype_int8 yypact[] =
|
static const yytype_int8 yypact[] =
|
||||||
{
|
{
|
||||||
-9, 3, 1, -9, -2, -9, -9, -9, 4, 5,
|
-10, 3, 1, -10, -2, -10, -10, -10, 4, 5,
|
||||||
-1, -9, -9, -9, -9, -8, 7, 9, 6, -9,
|
-1, -10, -10, -10, -10, -9, 7, 9, 6, -10,
|
||||||
-9, -9, -3, 2, -9, 8, 10, -9, -9, -9,
|
-10, -10, -3, -4, -10, 2, 8, -10, -10, -10,
|
||||||
-9, -9, 11, 12, -4, 13, -5, 14, -9, -9,
|
-10, -10, 10, 11, 0, 12, 13, 14, -10, -10,
|
||||||
-9
|
-10
|
||||||
};
|
};
|
||||||
|
|
||||||
/* YYPGOTO[NTERM-NUM]. */
|
/* YYPGOTO[NTERM-NUM]. */
|
||||||
static const yytype_int8 yypgoto[] =
|
static const yytype_int8 yypgoto[] =
|
||||||
{
|
{
|
||||||
-9, -9, -9, -9, -9, -6, -9, 15, -9, -9,
|
-10, -10, -10, -10, -10, -6, -10, 17, -10, -10,
|
||||||
-9, -9, -9
|
-10, -10, -10
|
||||||
};
|
};
|
||||||
|
|
||||||
/* YYTABLE[YYPACT[STATE-NUM]]. What to do in state STATE-NUM. If
|
/* YYTABLE[YYPACT[STATE-NUM]]. What to do in state STATE-NUM. If
|
||||||
|
@ -557,13 +558,13 @@ static const yytype_int8 yypgoto[] =
|
||||||
static const yytype_uint8 yytable[] =
|
static const yytype_uint8 yytable[] =
|
||||||
{
|
{
|
||||||
4, 9, 12, 3, 4, 23, 24, 4, 9, 10,
|
4, 9, 12, 3, 4, 23, 24, 4, 9, 10,
|
||||||
6, 16, 15, 11, 17, 19, 27, 18, 20, 39,
|
6, 16, 15, 11, 17, 19, 27, 18, 20, 32,
|
||||||
25, 35, 26, 37, 32, 0, 0, 0, 0, 0,
|
35, 25, 0, 26, 0, 33, 0, 0, 37, 0,
|
||||||
33, 0, 34, 0, 36, 38, 40, 28
|
0, 34, 0, 0, 36, 38, 0, 40, 39, 28
|
||||||
};
|
};
|
||||||
|
|
||||||
#define yypact_value_is_default(yystate) \
|
#define yypact_value_is_default(yystate) \
|
||||||
((yystate) == (-9))
|
((yystate) == (-10))
|
||||||
|
|
||||||
#define yytable_value_is_error(yytable_value) \
|
#define yytable_value_is_error(yytable_value) \
|
||||||
YYID (0)
|
YYID (0)
|
||||||
|
@ -571,20 +572,20 @@ static const yytype_uint8 yytable[] =
|
||||||
static const yytype_int8 yycheck[] =
|
static const yytype_int8 yycheck[] =
|
||||||
{
|
{
|
||||||
3, 4, 8, 0, 3, 8, 9, 3, 4, 5,
|
3, 4, 8, 0, 3, 8, 9, 3, 4, 5,
|
||||||
12, 12, 7, 9, 22, 6, 22, 10, 12, 24,
|
12, 12, 7, 9, 23, 6, 22, 10, 12, 23,
|
||||||
23, 10, 25, 27, 22, -1, -1, -1, -1, -1,
|
10, 24, -1, 26, -1, 23, -1, -1, 28, -1,
|
||||||
22, -1, 22, -1, 22, 22, 22, 22
|
-1, 23, -1, -1, 23, 23, -1, 23, 25, 22
|
||||||
};
|
};
|
||||||
|
|
||||||
/* YYSTOS[STATE-NUM] -- The (internal number of the) accessing
|
/* YYSTOS[STATE-NUM] -- The (internal number of the) accessing
|
||||||
symbol of state STATE-NUM. */
|
symbol of state STATE-NUM. */
|
||||||
static const yytype_uint8 yystos[] =
|
static const yytype_uint8 yystos[] =
|
||||||
{
|
{
|
||||||
0, 29, 30, 0, 3, 33, 12, 34, 31, 4,
|
0, 30, 31, 0, 3, 34, 12, 35, 32, 4,
|
||||||
5, 9, 33, 35, 38, 7, 12, 22, 10, 6,
|
5, 9, 34, 36, 39, 7, 12, 23, 10, 6,
|
||||||
12, 36, 32, 8, 9, 23, 25, 33, 35, 37,
|
12, 37, 33, 8, 9, 24, 26, 34, 36, 38,
|
||||||
39, 40, 22, 22, 22, 10, 22, 27, 22, 24,
|
40, 41, 23, 23, 23, 10, 23, 28, 23, 25,
|
||||||
22
|
23
|
||||||
};
|
};
|
||||||
|
|
||||||
#define yyerrok (yyerrstatus = 0)
|
#define yyerrok (yyerrstatus = 0)
|
||||||
|
|
|
@ -52,16 +52,17 @@
|
||||||
I2C = 270,
|
I2C = 270,
|
||||||
APIC = 271,
|
APIC = 271,
|
||||||
CPU_CLUSTER = 272,
|
CPU_CLUSTER = 272,
|
||||||
DOMAIN = 273,
|
CPU = 273,
|
||||||
IRQ = 274,
|
DOMAIN = 274,
|
||||||
DRQ = 275,
|
IRQ = 275,
|
||||||
IO = 276,
|
DRQ = 276,
|
||||||
NUMBER = 277,
|
IO = 277,
|
||||||
SUBSYSTEMID = 278,
|
NUMBER = 278,
|
||||||
INHERIT = 279,
|
SUBSYSTEMID = 279,
|
||||||
IOAPIC_IRQ = 280,
|
INHERIT = 280,
|
||||||
IOAPIC = 281,
|
IOAPIC_IRQ = 281,
|
||||||
PCIINT = 282
|
IOAPIC = 282,
|
||||||
|
PCIINT = 283
|
||||||
};
|
};
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|
|
@ -30,7 +30,7 @@ static struct device *cur_parent, *cur_bus;
|
||||||
int number;
|
int number;
|
||||||
}
|
}
|
||||||
|
|
||||||
%token CHIP DEVICE REGISTER BOOL BUS RESOURCE END EQUALS HEX STRING PCI PNP I2C APIC CPU_CLUSTER DOMAIN IRQ DRQ IO NUMBER SUBSYSTEMID INHERIT IOAPIC_IRQ IOAPIC PCIINT
|
%token CHIP DEVICE REGISTER BOOL BUS RESOURCE END EQUALS HEX STRING PCI PNP I2C APIC CPU_CLUSTER CPU DOMAIN IRQ DRQ IO NUMBER SUBSYSTEMID INHERIT IOAPIC_IRQ IOAPIC PCIINT
|
||||||
%%
|
%%
|
||||||
devtree: { cur_parent = cur_bus = head; } chip { postprocess_devtree(); } ;
|
devtree: { cur_parent = cur_bus = head; } chip { postprocess_devtree(); } ;
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue