Furquan Shaikh (furquan@google.com) just uploaded a new patch set to gerrit, which you can find at https://review.coreboot.org/18339
-gerrit
commit c5813e2d800b558c4f7f74d0cac0c3777a2c1517 Author: Furquan Shaikh furquan@chromium.org Date: Sat Feb 11 00:50:38 2017 -0800
sconfig: Add a new "SPI" device type
Update sconfig lex and yacc files to add support for a new "SPI" device type in the devicetree. SPI device takes only parameter i.e. chip select number for the device on the SPI bus.
Re-generate the shipped files for sconfig using flex 2.6.0 and bison 3.0.4 (make CONFIG_SCONFIG_GENPARSER=1). Clean up local paths that leak into generated files.
BUG=chrome-os-partner:59832 BRANCH=None TEST=Compiles successfully.
Change-Id: If0831e25b3e4ed87827ad92356d7bf47b6387884 Signed-off-by: Furquan Shaikh furquan@chromium.org --- util/sconfig/lex.yy.c_shipped | 245 +++++++++++++++++++------------------ util/sconfig/main.c | 5 + util/sconfig/sconfig.l | 1 + util/sconfig/sconfig.tab.c_shipped | 30 ++--- util/sconfig/sconfig.tab.h_shipped | 3 +- util/sconfig/sconfig.y | 2 +- 6 files changed, 151 insertions(+), 135 deletions(-)
diff --git a/util/sconfig/lex.yy.c_shipped b/util/sconfig/lex.yy.c_shipped index 2600296..500636b 100644 --- a/util/sconfig/lex.yy.c_shipped +++ b/util/sconfig/lex.yy.c_shipped @@ -208,7 +208,7 @@ struct yy_buffer_state /* Number of characters read into yy_ch_buf, not including EOB * characters. */ - int yy_n_chars; + yy_size_t yy_n_chars;
/* Whether we "own" the buffer - i.e., we know we created it, * and can realloc() it to grow it, and should free() it to @@ -278,7 +278,7 @@ static YY_BUFFER_STATE * yy_buffer_stack = 0; /**< Stack as an array. */
/* yy_hold_char holds the character lost when yytext is formed. */ static char yy_hold_char; -static int yy_n_chars; /* number of characters read into yy_ch_buf */ +static yy_size_t yy_n_chars; /* number of characters read into yy_ch_buf */ yy_size_t yyleng;
/* Points to current character in buffer. */ @@ -373,8 +373,8 @@ static void yy_fatal_error (yyconst char msg[] ); *yy_cp = '\0'; \ (yy_c_buf_p) = yy_cp;
-#define YY_NUM_RULES 33 -#define YY_END_OF_BUFFER 34 +#define YY_NUM_RULES 34 +#define YY_END_OF_BUFFER 35 /* This struct is not used in this scanner, but its presence is necessary. */ struct yy_trans_info @@ -382,22 +382,23 @@ struct yy_trans_info flex_int32_t yy_verify; flex_int32_t yy_nxt; }; -static yyconst flex_int16_t yy_accept[130] = +static yyconst flex_int16_t yy_accept[132] = { 0, - 0, 0, 34, 32, 1, 3, 32, 32, 32, 27, - 27, 25, 28, 32, 28, 28, 28, 32, 32, 32, - 32, 32, 32, 32, 32, 1, 3, 32, 0, 32, - 32, 0, 2, 27, 28, 32, 32, 32, 32, 28, - 32, 32, 32, 32, 32, 32, 20, 32, 32, 32, - 7, 32, 32, 32, 32, 31, 31, 32, 0, 26, - 32, 32, 15, 32, 32, 19, 24, 32, 12, 32, - 32, 18, 32, 8, 9, 11, 32, 32, 32, 0, - 29, 4, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 30, 30, 32, 32, 32, 32, 32, 32, 13, - - 32, 32, 32, 5, 16, 32, 32, 10, 32, 32, - 32, 17, 22, 32, 32, 32, 32, 32, 6, 32, - 32, 32, 32, 32, 21, 32, 14, 23, 0 + 0, 0, 35, 33, 1, 3, 33, 33, 33, 28, + 28, 26, 29, 33, 29, 29, 29, 33, 33, 33, + 33, 33, 33, 33, 33, 1, 3, 33, 0, 33, + 33, 0, 2, 28, 29, 33, 33, 33, 33, 29, + 33, 33, 33, 33, 33, 33, 21, 33, 33, 33, + 7, 33, 33, 33, 33, 33, 32, 32, 33, 0, + 27, 33, 33, 15, 33, 33, 20, 25, 33, 12, + 33, 33, 19, 33, 8, 9, 11, 33, 18, 33, + 33, 0, 30, 4, 33, 33, 33, 33, 33, 33, + 33, 33, 33, 31, 31, 33, 33, 33, 33, 33, + + 33, 13, 33, 33, 33, 5, 16, 33, 33, 10, + 33, 33, 33, 17, 23, 33, 33, 33, 33, 33, + 6, 33, 33, 33, 33, 33, 22, 33, 14, 24, + 0 } ;
static yyconst YY_CHAR yy_ec[256] = @@ -440,102 +441,104 @@ static yyconst YY_CHAR yy_meta[39] = 1, 1, 1, 1, 1, 1, 1, 1 } ;
-static yyconst flex_uint16_t yy_base[137] = +static yyconst flex_uint16_t yy_base[139] = { 0, - 0, 0, 200, 0, 197, 201, 195, 37, 41, 38, - 160, 0, 44, 182, 54, 78, 60, 174, 45, 177, - 42, 47, 172, 157, 0, 189, 201, 77, 185, 87, - 69, 186, 201, 0, 86, 104, 173, 162, 151, 93, - 158, 153, 163, 154, 162, 156, 162, 147, 147, 154, - 0, 150, 144, 150, 154, 0, 201, 101, 166, 0, - 159, 139, 152, 142, 149, 0, 0, 144, 0, 143, - 133, 0, 137, 0, 0, 0, 136, 127, 154, 153, - 0, 0, 138, 137, 130, 122, 121, 127, 132, 117, - 111, 0, 201, 122, 126, 118, 120, 119, 124, 0, - - 108, 95, 92, 0, 0, 101, 85, 102, 96, 80, - 76, 0, 0, 83, 73, 77, 63, 64, 0, 64, - 62, 50, 51, 33, 0, 28, 0, 0, 201, 40, - 129, 131, 133, 135, 137, 139 + 0, 0, 202, 0, 199, 203, 197, 37, 41, 38, + 162, 0, 44, 184, 54, 78, 60, 176, 45, 179, + 42, 47, 174, 41, 0, 192, 203, 77, 188, 87, + 91, 189, 203, 0, 88, 104, 176, 165, 154, 93, + 161, 156, 166, 157, 165, 159, 165, 150, 150, 157, + 0, 153, 147, 153, 150, 156, 0, 203, 101, 168, + 0, 161, 141, 154, 144, 151, 0, 0, 146, 0, + 145, 135, 0, 139, 0, 0, 0, 138, 0, 129, + 156, 155, 0, 0, 140, 139, 132, 124, 123, 129, + 134, 119, 113, 0, 203, 124, 128, 120, 122, 121, + + 126, 0, 110, 110, 107, 0, 0, 109, 93, 104, + 98, 84, 84, 0, 0, 89, 77, 87, 71, 66, + 0, 64, 62, 50, 47, 33, 0, 28, 0, 0, + 203, 40, 129, 131, 133, 135, 137, 139 } ;
-static yyconst flex_int16_t yy_def[137] = +static yyconst flex_int16_t yy_def[139] = { 0, - 129, 1, 129, 130, 129, 129, 130, 131, 132, 130, - 10, 130, 10, 130, 10, 10, 10, 130, 130, 130, - 130, 130, 130, 130, 130, 129, 129, 131, 133, 134, - 132, 135, 129, 10, 10, 10, 130, 130, 130, 10, - 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, - 130, 130, 130, 130, 130, 130, 129, 134, 136, 36, - 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, - 130, 130, 130, 130, 130, 130, 130, 130, 130, 129, - 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, - 130, 130, 129, 130, 130, 130, 130, 130, 130, 130, - - 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, - 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, - 130, 130, 130, 130, 130, 130, 130, 130, 0, 129, - 129, 129, 129, 129, 129, 129 + 131, 1, 131, 132, 131, 131, 132, 133, 134, 132, + 10, 132, 10, 132, 10, 10, 10, 132, 132, 132, + 132, 132, 132, 132, 132, 131, 131, 133, 135, 136, + 134, 137, 131, 10, 10, 10, 132, 132, 132, 10, + 132, 132, 132, 132, 132, 132, 132, 132, 132, 132, + 132, 132, 132, 132, 132, 132, 132, 131, 136, 138, + 36, 132, 132, 132, 132, 132, 132, 132, 132, 132, + 132, 132, 132, 132, 132, 132, 132, 132, 132, 132, + 132, 131, 132, 132, 132, 132, 132, 132, 132, 132, + 132, 132, 132, 132, 131, 132, 132, 132, 132, 132, + + 132, 132, 132, 132, 132, 132, 132, 132, 132, 132, + 132, 132, 132, 132, 132, 132, 132, 132, 132, 132, + 132, 132, 132, 132, 132, 132, 132, 132, 132, 132, + 0, 131, 131, 131, 131, 131, 131, 131 } ;
-static yyconst flex_uint16_t yy_nxt[240] = +static yyconst flex_uint16_t yy_nxt[242] = { 0, 4, 5, 6, 7, 8, 9, 10, 11, 10, 12, 13, 13, 14, 4, 4, 4, 13, 13, 15, 16, 17, 13, 18, 4, 19, 20, 4, 4, 21, 22, 4, 23, 24, 4, 4, 4, 4, 4, 29, 29, - 25, 30, 32, 33, 34, 34, 34, 128, 35, 35, + 25, 30, 32, 33, 34, 34, 34, 130, 35, 35, 35, 35, 35, 45, 35, 35, 35, 35, 35, 35, - 35, 35, 35, 50, 127, 52, 35, 35, 35, 51, - 32, 33, 46, 47, 53, 126, 48, 38, 29, 29, - 125, 56, 124, 39, 35, 35, 35, 43, 59, 59, - 123, 25, 35, 35, 35, 122, 121, 120, 40, 35, - - 35, 35, 59, 59, 119, 79, 41, 118, 117, 42, - 60, 60, 60, 116, 60, 60, 115, 114, 113, 112, - 60, 60, 60, 60, 60, 60, 111, 110, 64, 28, - 28, 31, 31, 29, 29, 58, 58, 32, 32, 59, - 59, 109, 108, 107, 106, 105, 104, 103, 102, 101, - 100, 99, 98, 97, 96, 95, 94, 93, 92, 91, - 90, 89, 88, 87, 86, 85, 84, 83, 82, 81, - 80, 78, 77, 76, 75, 74, 73, 72, 71, 70, - 69, 68, 67, 66, 65, 63, 62, 61, 33, 57, - 26, 55, 54, 49, 44, 37, 36, 27, 26, 129, - - 3, 129, 129, 129, 129, 129, 129, 129, 129, 129, - 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, - 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, - 129, 129, 129, 129, 129, 129, 129, 129, 129 + 35, 35, 35, 50, 129, 52, 35, 35, 35, 51, + 55, 128, 46, 47, 53, 56, 48, 38, 29, 29, + 127, 57, 126, 39, 35, 35, 35, 43, 60, 60, + 125, 25, 32, 33, 35, 35, 35, 124, 40, 35, + + 35, 35, 60, 60, 123, 81, 41, 122, 121, 42, + 61, 61, 61, 120, 61, 61, 119, 118, 117, 116, + 61, 61, 61, 61, 61, 61, 115, 114, 65, 28, + 28, 31, 31, 29, 29, 59, 59, 32, 32, 60, + 60, 113, 112, 111, 110, 109, 108, 107, 106, 105, + 104, 103, 102, 101, 100, 99, 98, 97, 96, 95, + 94, 93, 92, 91, 90, 89, 88, 87, 86, 85, + 84, 83, 82, 80, 79, 78, 77, 76, 75, 74, + 73, 72, 71, 70, 69, 68, 67, 66, 64, 63, + 62, 33, 58, 26, 54, 49, 44, 37, 36, 27, + + 26, 131, 3, 131, 131, 131, 131, 131, 131, 131, + 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, + 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, + 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, + 131 } ;
-static yyconst flex_int16_t yy_chk[240] = +static yyconst flex_int16_t yy_chk[242] = { 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 8, 8, - 130, 8, 9, 9, 10, 10, 10, 126, 10, 10, + 132, 8, 9, 9, 10, 10, 10, 128, 10, 10, 13, 13, 13, 19, 10, 10, 10, 10, 10, 10, - 15, 15, 15, 21, 124, 22, 17, 17, 17, 21, - 31, 31, 19, 19, 22, 123, 19, 15, 28, 28, - 122, 28, 121, 15, 16, 16, 16, 17, 30, 30, - 120, 30, 35, 35, 35, 118, 117, 116, 16, 40, - - 40, 40, 58, 58, 115, 58, 16, 114, 111, 16, - 36, 36, 36, 110, 36, 36, 109, 108, 107, 106, - 36, 36, 36, 36, 36, 36, 103, 102, 40, 131, - 131, 132, 132, 133, 133, 134, 134, 135, 135, 136, - 136, 101, 99, 98, 97, 96, 95, 94, 91, 90, - 89, 88, 87, 86, 85, 84, 83, 80, 79, 78, - 77, 73, 71, 70, 68, 65, 64, 63, 62, 61, - 59, 55, 54, 53, 52, 50, 49, 48, 47, 46, - 45, 44, 43, 42, 41, 39, 38, 37, 32, 29, - 26, 24, 23, 20, 18, 14, 11, 7, 5, 3, - - 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, - 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, - 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, - 129, 129, 129, 129, 129, 129, 129, 129, 129 + 15, 15, 15, 21, 126, 22, 17, 17, 17, 21, + 24, 125, 19, 19, 22, 24, 19, 15, 28, 28, + 124, 28, 123, 15, 16, 16, 16, 17, 30, 30, + 122, 30, 31, 31, 35, 35, 35, 120, 16, 40, + + 40, 40, 59, 59, 119, 59, 16, 118, 117, 16, + 36, 36, 36, 116, 36, 36, 113, 112, 111, 110, + 36, 36, 36, 36, 36, 36, 109, 108, 40, 133, + 133, 134, 134, 135, 135, 136, 136, 137, 137, 138, + 138, 105, 104, 103, 101, 100, 99, 98, 97, 96, + 93, 92, 91, 90, 89, 88, 87, 86, 85, 82, + 81, 80, 78, 74, 72, 71, 69, 66, 65, 64, + 63, 62, 60, 56, 55, 54, 53, 52, 50, 49, + 48, 47, 46, 45, 44, 43, 42, 41, 39, 38, + 37, 32, 29, 26, 23, 20, 18, 14, 11, 7, + + 5, 3, 131, 131, 131, 131, 131, 131, 131, 131, + 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, + 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, + 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, + 131 } ;
static yy_state_type yy_last_accepting_state; @@ -630,7 +633,7 @@ extern int yywrap (void ); #endif
#ifndef YY_NO_UNPUT - + static void yyunput (int c,char *buf_ptr );
#endif @@ -814,13 +817,13 @@ yy_match: while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state ) { yy_current_state = (int) yy_def[yy_current_state]; - if ( yy_current_state >= 130 ) + if ( yy_current_state >= 132 ) yy_c = yy_meta[(unsigned int) yy_c]; } yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c]; ++yy_cp; } - while ( yy_base[yy_current_state] != 201 ); + while ( yy_base[yy_current_state] != 203 );
yy_find_action: yy_act = yy_accept[yy_current_state]; @@ -916,39 +919,39 @@ YY_RULE_SETUP YY_BREAK case 18: YY_RULE_SETUP -{yylval.number=IRQ; return(RESOURCE);} +{yylval.number=SPI; return(BUS);} YY_BREAK case 19: YY_RULE_SETUP -{yylval.number=DRQ; return(RESOURCE);} +{yylval.number=IRQ; return(RESOURCE);} YY_BREAK case 20: YY_RULE_SETUP -{yylval.number=IO; return(RESOURCE);} +{yylval.number=DRQ; return(RESOURCE);} YY_BREAK case 21: YY_RULE_SETUP -{return(IOAPIC_IRQ);} +{yylval.number=IO; return(RESOURCE);} YY_BREAK case 22: YY_RULE_SETUP -{return(INHERIT);} +{return(IOAPIC_IRQ);} YY_BREAK case 23: YY_RULE_SETUP -{return(SUBSYSTEMID);} +{return(INHERIT);} YY_BREAK case 24: YY_RULE_SETUP -{return(END);} +{return(SUBSYSTEMID);} YY_BREAK case 25: YY_RULE_SETUP -{return(EQUALS);} +{return(END);} YY_BREAK case 26: YY_RULE_SETUP -{yylval.string = malloc(yyleng+1); strncpy(yylval.string, yytext, yyleng); yylval.string[yyleng]='\0'; return(NUMBER);} +{return(EQUALS);} YY_BREAK case 27: YY_RULE_SETUP @@ -960,12 +963,11 @@ YY_RULE_SETUP YY_BREAK case 29: 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 case 30: -/* rule 30 can match eol */ 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, yyleng); yylval.string[yyleng]='\0'; return(PCIINT);} YY_BREAK case 31: /* rule 31 can match eol */ @@ -973,11 +975,16 @@ YY_RULE_SETUP {yylval.string = malloc(yyleng-1); strncpy(yylval.string, yytext+1, yyleng-2); yylval.string[yyleng-2]='\0'; return(STRING);} YY_BREAK case 32: +/* rule 32 can match eol */ 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+1, yyleng-2); yylval.string[yyleng-2]='\0'; return(STRING);} YY_BREAK case 33: YY_RULE_SETUP +{yylval.string = malloc(yyleng+1); strncpy(yylval.string, yytext, yyleng); yylval.string[yyleng]='\0'; return(STRING);} + YY_BREAK +case 34: +YY_RULE_SETUP ECHO; YY_BREAK case YY_STATE_EOF(INITIAL): @@ -1235,9 +1242,9 @@ static int yy_get_next_buffer (void) else ret_val = EOB_ACT_CONTINUE_SCAN;
- if ((int) ((yy_n_chars) + number_to_move) > YY_CURRENT_BUFFER_LVALUE->yy_buf_size) { + if ((yy_size_t) ((yy_n_chars) + number_to_move) > YY_CURRENT_BUFFER_LVALUE->yy_buf_size) { /* Extend the array by 50%, plus the number we really need. */ - int new_size = (yy_n_chars) + number_to_move + ((yy_n_chars) >> 1); + yy_size_t new_size = (yy_n_chars) + number_to_move + ((yy_n_chars) >> 1); YY_CURRENT_BUFFER_LVALUE->yy_ch_buf = (char *) yyrealloc((void *) YY_CURRENT_BUFFER_LVALUE->yy_ch_buf,new_size ); if ( ! YY_CURRENT_BUFFER_LVALUE->yy_ch_buf ) YY_FATAL_ERROR( "out of dynamic memory in yy_get_next_buffer()" ); @@ -1272,7 +1279,7 @@ static int yy_get_next_buffer (void) while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state ) { yy_current_state = (int) yy_def[yy_current_state]; - if ( yy_current_state >= 130 ) + if ( yy_current_state >= 132 ) yy_c = yy_meta[(unsigned int) yy_c]; } yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c]; @@ -1300,11 +1307,11 @@ static int yy_get_next_buffer (void) while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state ) { yy_current_state = (int) yy_def[yy_current_state]; - if ( yy_current_state >= 130 ) + if ( yy_current_state >= 132 ) yy_c = yy_meta[(unsigned int) yy_c]; } yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c]; - yy_is_jam = (yy_current_state == 129); + yy_is_jam = (yy_current_state == 131);
return yy_is_jam ? 0 : yy_current_state; } @@ -1654,7 +1661,7 @@ static void yyensure_buffer_stack (void) * scanner will even need a stack. We use 2 instead of 1 to avoid an * immediate realloc on the next call. */ - num_to_alloc = 1; /* After all that talk, this was set to 1 anyways... */ + num_to_alloc = 1; // After all that talk, this was set to 1 anyways... (yy_buffer_stack) = (struct yy_buffer_state**)yyalloc (num_to_alloc * sizeof(struct yy_buffer_state*) ); @@ -1937,7 +1944,7 @@ int yylex_destroy (void) #ifndef yytext_ptr static void yy_flex_strncpy (char* s1, yyconst char * s2, int n ) { - + int i; for ( i = 0; i < n; ++i ) s1[i] = s2[i]; @@ -1962,7 +1969,7 @@ void *yyalloc (yy_size_t size )
void *yyrealloc (void * ptr, yy_size_t size ) { - + /* The cast to (char *) in the following accommodates both * implementations that use char* generic pointers, and those * that use void* generic pointers. It works with the latter diff --git a/util/sconfig/main.c b/util/sconfig/main.c index 81ce72b..2bc6145 100644 --- a/util/sconfig/main.c +++ b/util/sconfig/main.c @@ -285,6 +285,11 @@ struct device *new_device(struct device *parent, struct device *busdev, case GENERIC: new_d->path = ".type=DEVICE_PATH_GENERIC,{.generic={ .id = 0x%x, .subid = 0x%x }}"; break; + + case SPI: + new_d->path = ".type=DEVICE_PATH_SPI,{.spi={ .cs = 0x%x }}"; + break; + } return new_d; } diff --git a/util/sconfig/sconfig.l b/util/sconfig/sconfig.l index e361508..4f4084f 100755 --- a/util/sconfig/sconfig.l +++ b/util/sconfig/sconfig.l @@ -38,6 +38,7 @@ cpu_cluster {yylval.number=CPU_CLUSTER; return(BUS);} cpu {yylval.number=CPU; return(BUS);} domain {yylval.number=DOMAIN; return(BUS);} generic {yylval.number=GENERIC; return(BUS);} +spi {yylval.number=SPI; return(BUS);} irq {yylval.number=IRQ; return(RESOURCE);} drq {yylval.number=DRQ; return(RESOURCE);} io {yylval.number=IO; return(RESOURCE);} diff --git a/util/sconfig/sconfig.tab.c_shipped b/util/sconfig/sconfig.tab.c_shipped index bca06a0..116f41f 100644 --- a/util/sconfig/sconfig.tab.c_shipped +++ b/util/sconfig/sconfig.tab.c_shipped @@ -149,7 +149,8 @@ extern int yydebug; IOAPIC_IRQ = 281, IOAPIC = 282, PCIINT = 283, - GENERIC = 284 + GENERIC = 284, + SPI = 285 }; #endif
@@ -426,7 +427,7 @@ union yyalloc #define YYLAST 39
/* YYNTOKENS -- Number of terminals. */ -#define YYNTOKENS 30 +#define YYNTOKENS 31 /* YYNNTS -- Number of nonterminals. */ #define YYNNTS 13 /* YYNRULES -- Number of rules. */ @@ -437,7 +438,7 @@ union yyalloc /* YYTRANSLATE[YYX] -- Symbol number corresponding to YYX as returned by yylex, with out-of-bounds checking. */ #define YYUNDEFTOK 2 -#define YYMAXUTOK 284 +#define YYMAXUTOK 285
#define YYTRANSLATE(YYX) \ ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK) @@ -474,7 +475,7 @@ static const yytype_uint8 yytranslate[] = 2, 2, 2, 2, 2, 2, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, - 25, 26, 27, 28, 29 + 25, 26, 27, 28, 29, 30 };
#if YYDEBUG @@ -496,8 +497,8 @@ static const char *const yytname[] = "BUS", "RESOURCE", "END", "EQUALS", "HEX", "STRING", "PCI", "PNP", "I2C", "APIC", "CPU_CLUSTER", "CPU", "DOMAIN", "IRQ", "DRQ", "IO", "NUMBER", "SUBSYSTEMID", "INHERIT", "IOAPIC_IRQ", "IOAPIC", "PCIINT", "GENERIC", - "$accept", "devtree", "$@1", "chipchildren", "devicechildren", "chip", - "@2", "device", "@3", "resource", "registers", "subsystemid", + "SPI", "$accept", "devtree", "$@1", "chipchildren", "devicechildren", + "chip", "@2", "device", "@3", "resource", "registers", "subsystemid", "ioapic_irq", YY_NULLPTR }; #endif @@ -509,7 +510,8 @@ static const yytype_uint16 yytoknum[] = { 0, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, - 275, 276, 277, 278, 279, 280, 281, 282, 283, 284 + 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, + 285 }; # endif
@@ -583,19 +585,19 @@ static const yytype_int8 yycheck[] = symbol of state STATE-NUM. */ static const yytype_uint8 yystos[] = { - 0, 31, 32, 0, 3, 35, 12, 36, 33, 4, - 5, 9, 35, 37, 40, 7, 12, 23, 10, 6, - 12, 38, 34, 8, 9, 24, 26, 35, 37, 39, - 41, 42, 23, 23, 23, 10, 23, 28, 23, 25, + 0, 32, 33, 0, 3, 36, 12, 37, 34, 4, + 5, 9, 36, 38, 41, 7, 12, 23, 10, 6, + 12, 39, 35, 8, 9, 24, 26, 36, 38, 40, + 42, 43, 23, 23, 23, 10, 23, 28, 23, 25, 23 };
/* YYR1[YYN] -- Symbol number of symbol that rule YYN derives. */ static const yytype_uint8 yyr1[] = { - 0, 30, 32, 31, 33, 33, 33, 33, 34, 34, - 34, 34, 34, 34, 36, 35, 38, 37, 39, 40, - 41, 41, 42 + 0, 31, 33, 32, 34, 34, 34, 34, 35, 35, + 35, 35, 35, 35, 37, 36, 39, 38, 40, 41, + 42, 42, 43 };
/* YYR2[YYN] -- Number of symbols on the right hand side of rule YYN. */ diff --git a/util/sconfig/sconfig.tab.h_shipped b/util/sconfig/sconfig.tab.h_shipped index 9666b37..3c586f5 100644 --- a/util/sconfig/sconfig.tab.h_shipped +++ b/util/sconfig/sconfig.tab.h_shipped @@ -71,7 +71,8 @@ extern int yydebug; IOAPIC_IRQ = 281, IOAPIC = 282, PCIINT = 283, - GENERIC = 284 + GENERIC = 284, + SPI = 285 }; #endif
diff --git a/util/sconfig/sconfig.y b/util/sconfig/sconfig.y index b1e37a8..7108e67 100755 --- a/util/sconfig/sconfig.y +++ b/util/sconfig/sconfig.y @@ -29,7 +29,7 @@ static struct device *cur_parent, *cur_bus; int number; }
-%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 GENERIC +%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 GENERIC SPI %% devtree: { cur_parent = cur_bus = head; } chip { postprocess_devtree(); } ;