summaryrefslogtreecommitdiffstats
path: root/meta-fsl-extras
diff options
context:
space:
mode:
authorSamuli Piippo <samuli.piippo@qt.io>2017-05-15 16:56:36 +0300
committerSamuli Piippo <samuli.piippo@qt.io>2017-05-17 12:03:12 +0000
commit1d6420978f10e5a3858edc3c692a0dc9fca86acb (patch)
treebde88fa3b6138496b45a1ec48f86558605894673 /meta-fsl-extras
parent8617be4d049e733889cb84a8ef48f7461801e974 (diff)
downloadmeta-boot2qt-1d6420978f10e5a3858edc3c692a0dc9fca86acb.tar.gz
toradex: use latest toradex meta layers
Use meta-toradex-bsp-common and meta-toradex-nxp instead of only meta-freescale-3rdparty. This provides latest kernel and uboot versions. Update the u-boot updates scripts to the v2.7 used by toradex images. Task-number: QTBUG-60802 Task-number: QTBUG-60055 Change-Id: I34f2637f6bc46c15d558eeafefc8a57e066bd2b9 Reviewed-by: Mikko Gronoff <mikko.gronoff@qt.io>
Diffstat (limited to 'meta-fsl-extras')
-rw-r--r--meta-fsl-extras/recipes/linux/linux-toradex/0001-genksyms-fix-typeof-handling.patch1360
-rw-r--r--meta-fsl-extras/recipes/u-boot/u-boot-script-toradex.bb8
-rw-r--r--meta-fsl-extras/recipes/u-boot/u-boot-script-toradex/apalis-imx6/0001-Update-only-u-boot.patch60
-rw-r--r--meta-fsl-extras/recipes/u-boot/u-boot-script-toradex/apalis-imx6/flash_blk.scr45
-rw-r--r--meta-fsl-extras/recipes/u-boot/u-boot-script-toradex/apalis-imx6/flash_eth.scr46
-rw-r--r--meta-fsl-extras/recipes/u-boot/u-boot-script-toradex/colibri-imx6/0001-Update-only-u-boot.patch52
-rw-r--r--meta-fsl-extras/recipes/u-boot/u-boot-script-toradex/colibri-imx7/0001-Update-only-u-boot.patch28
-rw-r--r--meta-fsl-extras/recipes/u-boot/u-boot-script-toradex/colibri-imx7/flash_blk.scr20
-rw-r--r--meta-fsl-extras/recipes/u-boot/u-boot-script-toradex/colibri-imx7/flash_eth.scr20
-rw-r--r--meta-fsl-extras/recipes/u-boot/u-boot-script-toradex/mx6/0001-Update-only-u-boot.patch22
-rw-r--r--meta-fsl-extras/recipes/u-boot/u-boot-script-toradex/mx6/flash_blk.scr (renamed from meta-fsl-extras/recipes/u-boot/u-boot-script-toradex/colibri-imx6/flash_blk.scr)23
-rw-r--r--meta-fsl-extras/recipes/u-boot/u-boot-script-toradex/mx6/flash_eth.scr (renamed from meta-fsl-extras/recipes/u-boot/u-boot-script-toradex/colibri-imx6/flash_eth.scr)22
-rw-r--r--meta-fsl-extras/recipes/u-boot/u-boot-script-toradex/mx7/flash_blk.scr6
-rw-r--r--meta-fsl-extras/recipes/u-boot/u-boot-script-toradex/mx7/flash_mmc.scr6
-rw-r--r--meta-fsl-extras/recipes/u-boot/u-boot-toradex/0001-Make-sdboot-default-on-all-boards.patch80
-rw-r--r--meta-fsl-extras/recipes/u-boot/u-boot-toradex_%.bbappend (renamed from meta-fsl-extras/recipes/linux/linux-toradex_3.14.%.bbappend)12
-rw-r--r--meta-fsl-extras/recipes/u-boot/u-boot-toradex_2015.04.bbappend44
17 files changed, 132 insertions, 1722 deletions
diff --git a/meta-fsl-extras/recipes/linux/linux-toradex/0001-genksyms-fix-typeof-handling.patch b/meta-fsl-extras/recipes/linux/linux-toradex/0001-genksyms-fix-typeof-handling.patch
deleted file mode 100644
index 6c2b553..0000000
--- a/meta-fsl-extras/recipes/linux/linux-toradex/0001-genksyms-fix-typeof-handling.patch
+++ /dev/null
@@ -1,1360 +0,0 @@
1From dc53324060f324e8af6867f57bf4891c13c6ef18 Mon Sep 17 00:00:00 2001
2From: Jan Beulich <JBeulich@suse.com>
3Date: Thu, 3 Apr 2014 14:46:37 -0700
4Subject: [PATCH] genksyms: fix typeof() handling
5
6Recent increased use of typeof() throughout the tree resulted in a
7number of symbols (25 in a typical distro config of ours) not getting a
8proper CRC calculated for them anymore, due to the parser in genksyms
9not coping with several of these uses (interestingly in the majority of
10[if not all] cases the problem is due to the use of typeof() in code
11preceding a certain export, not in the declaration/definition of the
12exported function/object itself; I wasn't able to find a way to address
13this more general parser shortcoming).
14
15The use of parameter_declaration is a little more relaxed than would be
16ideal (permitting not just a bare type specification, but also one with
17identifier), but since the same code is being passed through an actual
18compiler, there's no apparent risk of allowing through any broken code.
19
20Otoh using parameter_declaration instead of the ad hoc
21"decl_specifier_seq '*'" / "decl_specifier_seq" pair allows all types to
22be handled rather than just plain ones and pointers to plain ones.
23
24Signed-off-by: Jan Beulich <jbeulich@suse.com>
25Cc: Michal Marek <mmarek@suse.cz>
26Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
27Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
28---
29 scripts/genksyms/keywords.gperf | 5 +-
30 scripts/genksyms/keywords.hash.c_shipped | 133 +++----
31 scripts/genksyms/lex.l | 51 ++-
32 scripts/genksyms/lex.lex.c_shipped | 51 ++-
33 scripts/genksyms/parse.tab.c_shipped | 608 ++++++++++++++++---------------
34 scripts/genksyms/parse.tab.h_shipped | 29 +-
35 scripts/genksyms/parse.y | 5 +-
36 7 files changed, 498 insertions(+), 384 deletions(-)
37
38diff --git a/scripts/genksyms/keywords.gperf b/scripts/genksyms/keywords.gperf
39index 3e77a943e7b7..a9096d993172 100644
40--- a/scripts/genksyms/keywords.gperf
41+++ b/scripts/genksyms/keywords.gperf
42@@ -23,6 +23,8 @@ __inline, INLINE_KEYW
43 __inline__, INLINE_KEYW
44 __signed, SIGNED_KEYW
45 __signed__, SIGNED_KEYW
46+__typeof, TYPEOF_KEYW
47+__typeof__, TYPEOF_KEYW
48 __volatile, VOLATILE_KEYW
49 __volatile__, VOLATILE_KEYW
50 # According to rth, c99 defines _Bool, __restrict, __restrict__, restrict. KAO
51@@ -51,9 +53,8 @@ signed, SIGNED_KEYW
52 static, STATIC_KEYW
53 struct, STRUCT_KEYW
54 typedef, TYPEDEF_KEYW
55+typeof, TYPEOF_KEYW
56 union, UNION_KEYW
57 unsigned, UNSIGNED_KEYW
58 void, VOID_KEYW
59 volatile, VOLATILE_KEYW
60-typeof, TYPEOF_KEYW
61-__typeof__, TYPEOF_KEYW
62diff --git a/scripts/genksyms/keywords.hash.c_shipped b/scripts/genksyms/keywords.hash.c_shipped
63index 82062607e8c0..e9452482e198 100644
64--- a/scripts/genksyms/keywords.hash.c_shipped
65+++ b/scripts/genksyms/keywords.hash.c_shipped
66@@ -34,7 +34,7 @@ struct resword;
67 static const struct resword *is_reserved_word(register const char *str, register unsigned int len);
68 #line 8 "scripts/genksyms/keywords.gperf"
69 struct resword { const char *name; int token; };
70-/* maximum key range = 64, duplicates = 0 */
71+/* maximum key range = 98, duplicates = 0 */
72
73 #ifdef __GNUC__
74 __inline
75@@ -48,32 +48,32 @@ is_reserved_hash (register const char *str, register unsigned int len)
76 {
77 static const unsigned char asso_values[] =
78 {
79- 67, 67, 67, 67, 67, 67, 67, 67, 67, 67,
80- 67, 67, 67, 67, 67, 67, 67, 67, 67, 67,
81- 67, 67, 67, 67, 67, 67, 67, 67, 67, 67,
82- 67, 67, 67, 67, 67, 67, 67, 67, 67, 67,
83- 67, 67, 67, 67, 67, 67, 67, 67, 67, 67,
84- 67, 67, 67, 67, 67, 67, 67, 67, 67, 67,
85- 67, 67, 67, 67, 67, 67, 67, 67, 67, 0,
86- 67, 67, 67, 67, 67, 67, 15, 67, 67, 67,
87- 0, 67, 67, 67, 67, 67, 67, 67, 67, 67,
88- 67, 67, 67, 67, 67, 0, 67, 0, 67, 5,
89- 25, 20, 15, 30, 67, 15, 67, 67, 10, 0,
90- 10, 40, 20, 67, 10, 5, 0, 10, 15, 67,
91- 67, 67, 67, 67, 67, 67, 67, 67, 67, 67,
92- 67, 67, 67, 67, 67, 67, 67, 67, 67, 67,
93- 67, 67, 67, 67, 67, 67, 67, 67, 67, 67,
94- 67, 67, 67, 67, 67, 67, 67, 67, 67, 67,
95- 67, 67, 67, 67, 67, 67, 67, 67, 67, 67,
96- 67, 67, 67, 67, 67, 67, 67, 67, 67, 67,
97- 67, 67, 67, 67, 67, 67, 67, 67, 67, 67,
98- 67, 67, 67, 67, 67, 67, 67, 67, 67, 67,
99- 67, 67, 67, 67, 67, 67, 67, 67, 67, 67,
100- 67, 67, 67, 67, 67, 67, 67, 67, 67, 67,
101- 67, 67, 67, 67, 67, 67, 67, 67, 67, 67,
102- 67, 67, 67, 67, 67, 67, 67, 67, 67, 67,
103- 67, 67, 67, 67, 67, 67, 67, 67, 67, 67,
104- 67, 67, 67, 67, 67, 67
105+ 101, 101, 101, 101, 101, 101, 101, 101, 101, 101,
106+ 101, 101, 101, 101, 101, 101, 101, 101, 101, 101,
107+ 101, 101, 101, 101, 101, 101, 101, 101, 101, 101,
108+ 101, 101, 101, 101, 101, 101, 101, 101, 101, 101,
109+ 101, 101, 101, 101, 101, 101, 101, 101, 101, 101,
110+ 101, 101, 101, 101, 101, 101, 101, 101, 101, 101,
111+ 101, 101, 101, 101, 101, 101, 101, 101, 101, 0,
112+ 101, 101, 101, 101, 101, 101, 15, 101, 101, 101,
113+ 0, 101, 101, 101, 101, 101, 101, 101, 101, 101,
114+ 101, 101, 101, 101, 101, 0, 101, 0, 101, 5,
115+ 25, 20, 55, 30, 101, 15, 101, 101, 10, 0,
116+ 10, 40, 10, 101, 10, 5, 0, 10, 15, 101,
117+ 101, 101, 101, 101, 101, 101, 101, 101, 101, 101,
118+ 101, 101, 101, 101, 101, 101, 101, 101, 101, 101,
119+ 101, 101, 101, 101, 101, 101, 101, 101, 101, 101,
120+ 101, 101, 101, 101, 101, 101, 101, 101, 101, 101,
121+ 101, 101, 101, 101, 101, 101, 101, 101, 101, 101,
122+ 101, 101, 101, 101, 101, 101, 101, 101, 101, 101,
123+ 101, 101, 101, 101, 101, 101, 101, 101, 101, 101,
124+ 101, 101, 101, 101, 101, 101, 101, 101, 101, 101,
125+ 101, 101, 101, 101, 101, 101, 101, 101, 101, 101,
126+ 101, 101, 101, 101, 101, 101, 101, 101, 101, 101,
127+ 101, 101, 101, 101, 101, 101, 101, 101, 101, 101,
128+ 101, 101, 101, 101, 101, 101, 101, 101, 101, 101,
129+ 101, 101, 101, 101, 101, 101, 101, 101, 101, 101,
130+ 101, 101, 101, 101, 101, 101
131 };
132 return len + asso_values[(unsigned char)str[2]] + asso_values[(unsigned char)str[0]] + asso_values[(unsigned char)str[len - 1]];
133 }
134@@ -89,17 +89,17 @@ is_reserved_word (register const char *str, register unsigned int len)
135 {
136 enum
137 {
138- TOTAL_KEYWORDS = 45,
139+ TOTAL_KEYWORDS = 46,
140 MIN_WORD_LENGTH = 3,
141 MAX_WORD_LENGTH = 24,
142 MIN_HASH_VALUE = 3,
143- MAX_HASH_VALUE = 66
144+ MAX_HASH_VALUE = 100
145 };
146
147 static const struct resword wordlist[] =
148 {
149 {""}, {""}, {""},
150-#line 33 "scripts/genksyms/keywords.gperf"
151+#line 35 "scripts/genksyms/keywords.gperf"
152 {"asm", ASM_KEYW},
153 {""},
154 #line 15 "scripts/genksyms/keywords.gperf"
155@@ -108,7 +108,7 @@ is_reserved_word (register const char *str, register unsigned int len)
156 #line 16 "scripts/genksyms/keywords.gperf"
157 {"__asm__", ASM_KEYW},
158 {""}, {""},
159-#line 59 "scripts/genksyms/keywords.gperf"
160+#line 27 "scripts/genksyms/keywords.gperf"
161 {"__typeof__", TYPEOF_KEYW},
162 {""},
163 #line 19 "scripts/genksyms/keywords.gperf"
164@@ -119,31 +119,31 @@ is_reserved_word (register const char *str, register unsigned int len)
165 {"__const__", CONST_KEYW},
166 #line 25 "scripts/genksyms/keywords.gperf"
167 {"__signed__", SIGNED_KEYW},
168-#line 51 "scripts/genksyms/keywords.gperf"
169+#line 53 "scripts/genksyms/keywords.gperf"
170 {"static", STATIC_KEYW},
171 {""},
172-#line 46 "scripts/genksyms/keywords.gperf"
173+#line 48 "scripts/genksyms/keywords.gperf"
174 {"int", INT_KEYW},
175-#line 39 "scripts/genksyms/keywords.gperf"
176+#line 41 "scripts/genksyms/keywords.gperf"
177 {"char", CHAR_KEYW},
178-#line 40 "scripts/genksyms/keywords.gperf"
179+#line 42 "scripts/genksyms/keywords.gperf"
180 {"const", CONST_KEYW},
181-#line 52 "scripts/genksyms/keywords.gperf"
182+#line 54 "scripts/genksyms/keywords.gperf"
183 {"struct", STRUCT_KEYW},
184-#line 31 "scripts/genksyms/keywords.gperf"
185+#line 33 "scripts/genksyms/keywords.gperf"
186 {"__restrict__", RESTRICT_KEYW},
187-#line 32 "scripts/genksyms/keywords.gperf"
188+#line 34 "scripts/genksyms/keywords.gperf"
189 {"restrict", RESTRICT_KEYW},
190 #line 12 "scripts/genksyms/keywords.gperf"
191 {"EXPORT_SYMBOL_GPL_FUTURE", EXPORT_SYMBOL_KEYW},
192 #line 23 "scripts/genksyms/keywords.gperf"
193 {"__inline__", INLINE_KEYW},
194 {""},
195-#line 27 "scripts/genksyms/keywords.gperf"
196+#line 29 "scripts/genksyms/keywords.gperf"
197 {"__volatile__", VOLATILE_KEYW},
198 #line 10 "scripts/genksyms/keywords.gperf"
199 {"EXPORT_SYMBOL", EXPORT_SYMBOL_KEYW},
200-#line 30 "scripts/genksyms/keywords.gperf"
201+#line 32 "scripts/genksyms/keywords.gperf"
202 {"_restrict", RESTRICT_KEYW},
203 {""},
204 #line 17 "scripts/genksyms/keywords.gperf"
205@@ -152,56 +152,65 @@ is_reserved_word (register const char *str, register unsigned int len)
206 {"EXPORT_SYMBOL_GPL", EXPORT_SYMBOL_KEYW},
207 #line 21 "scripts/genksyms/keywords.gperf"
208 {"__extension__", EXTENSION_KEYW},
209-#line 42 "scripts/genksyms/keywords.gperf"
210+#line 44 "scripts/genksyms/keywords.gperf"
211 {"enum", ENUM_KEYW},
212 #line 13 "scripts/genksyms/keywords.gperf"
213 {"EXPORT_UNUSED_SYMBOL", EXPORT_SYMBOL_KEYW},
214-#line 43 "scripts/genksyms/keywords.gperf"
215+#line 45 "scripts/genksyms/keywords.gperf"
216 {"extern", EXTERN_KEYW},
217 {""},
218 #line 24 "scripts/genksyms/keywords.gperf"
219 {"__signed", SIGNED_KEYW},
220 #line 14 "scripts/genksyms/keywords.gperf"
221 {"EXPORT_UNUSED_SYMBOL_GPL", EXPORT_SYMBOL_KEYW},
222-#line 54 "scripts/genksyms/keywords.gperf"
223+#line 57 "scripts/genksyms/keywords.gperf"
224 {"union", UNION_KEYW},
225-#line 58 "scripts/genksyms/keywords.gperf"
226- {"typeof", TYPEOF_KEYW},
227-#line 53 "scripts/genksyms/keywords.gperf"
228- {"typedef", TYPEDEF_KEYW},
229+ {""}, {""},
230 #line 22 "scripts/genksyms/keywords.gperf"
231 {"__inline", INLINE_KEYW},
232-#line 38 "scripts/genksyms/keywords.gperf"
233+#line 40 "scripts/genksyms/keywords.gperf"
234 {"auto", AUTO_KEYW},
235-#line 26 "scripts/genksyms/keywords.gperf"
236+#line 28 "scripts/genksyms/keywords.gperf"
237 {"__volatile", VOLATILE_KEYW},
238 {""}, {""},
239-#line 55 "scripts/genksyms/keywords.gperf"
240+#line 58 "scripts/genksyms/keywords.gperf"
241 {"unsigned", UNSIGNED_KEYW},
242 {""},
243-#line 49 "scripts/genksyms/keywords.gperf"
244+#line 51 "scripts/genksyms/keywords.gperf"
245 {"short", SHORT_KEYW},
246-#line 45 "scripts/genksyms/keywords.gperf"
247+#line 47 "scripts/genksyms/keywords.gperf"
248 {"inline", INLINE_KEYW},
249 {""},
250-#line 57 "scripts/genksyms/keywords.gperf"
251+#line 60 "scripts/genksyms/keywords.gperf"
252 {"volatile", VOLATILE_KEYW},
253-#line 47 "scripts/genksyms/keywords.gperf"
254+#line 49 "scripts/genksyms/keywords.gperf"
255 {"long", LONG_KEYW},
256-#line 29 "scripts/genksyms/keywords.gperf"
257+#line 31 "scripts/genksyms/keywords.gperf"
258 {"_Bool", BOOL_KEYW},
259 {""}, {""},
260-#line 48 "scripts/genksyms/keywords.gperf"
261+#line 50 "scripts/genksyms/keywords.gperf"
262 {"register", REGISTER_KEYW},
263-#line 56 "scripts/genksyms/keywords.gperf"
264+#line 59 "scripts/genksyms/keywords.gperf"
265 {"void", VOID_KEYW},
266-#line 44 "scripts/genksyms/keywords.gperf"
267- {"float", FLOAT_KEYW},
268-#line 41 "scripts/genksyms/keywords.gperf"
269+ {""},
270+#line 43 "scripts/genksyms/keywords.gperf"
271 {"double", DOUBLE_KEYW},
272+ {""},
273+#line 26 "scripts/genksyms/keywords.gperf"
274+ {"__typeof", TYPEOF_KEYW},
275+ {""}, {""},
276+#line 52 "scripts/genksyms/keywords.gperf"
277+ {"signed", SIGNED_KEYW},
278 {""}, {""}, {""}, {""},
279-#line 50 "scripts/genksyms/keywords.gperf"
280- {"signed", SIGNED_KEYW}
281+#line 56 "scripts/genksyms/keywords.gperf"
282+ {"typeof", TYPEOF_KEYW},
283+#line 55 "scripts/genksyms/keywords.gperf"
284+ {"typedef", TYPEDEF_KEYW},
285+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
286+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
287+ {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""}, {""},
288+#line 46 "scripts/genksyms/keywords.gperf"
289+ {"float", FLOAT_KEYW}
290 };
291
292 if (len <= MAX_WORD_LENGTH && len >= MIN_WORD_LENGTH)
293diff --git a/scripts/genksyms/lex.l b/scripts/genksyms/lex.l
294index f770071719cb..e583565f2011 100644
295--- a/scripts/genksyms/lex.l
296+++ b/scripts/genksyms/lex.l
297@@ -129,8 +129,9 @@ int
298 yylex(void)
299 {
300 static enum {
301- ST_NOTSTARTED, ST_NORMAL, ST_ATTRIBUTE, ST_ASM, ST_BRACKET, ST_BRACE,
302- ST_EXPRESSION, ST_TABLE_1, ST_TABLE_2, ST_TABLE_3, ST_TABLE_4,
303+ ST_NOTSTARTED, ST_NORMAL, ST_ATTRIBUTE, ST_ASM, ST_TYPEOF, ST_TYPEOF_1,
304+ ST_BRACKET, ST_BRACE, ST_EXPRESSION,
305+ ST_TABLE_1, ST_TABLE_2, ST_TABLE_3, ST_TABLE_4,
306 ST_TABLE_5, ST_TABLE_6
307 } lexstate = ST_NOTSTARTED;
308
309@@ -198,6 +199,10 @@ repeat:
310 lexstate = ST_ASM;
311 count = 0;
312 goto repeat;
313+ case TYPEOF_KEYW:
314+ lexstate = ST_TYPEOF;
315+ count = 0;
316+ goto repeat;
317
318 case STRUCT_KEYW:
319 case UNION_KEYW:
320@@ -284,6 +289,48 @@ repeat:
321 }
322 break;
323
324+ case ST_TYPEOF:
325+ switch (token)
326+ {
327+ case '(':
328+ if ( ++count == 1 )
329+ lexstate = ST_TYPEOF_1;
330+ else
331+ APP;
332+ goto repeat;
333+ case ')':
334+ APP;
335+ if (--count == 0)
336+ {
337+ lexstate = ST_NORMAL;
338+ token = TYPEOF_PHRASE;
339+ break;
340+ }
341+ goto repeat;
342+ default:
343+ APP;
344+ goto repeat;
345+ }
346+ break;
347+
348+ case ST_TYPEOF_1:
349+ if (token == IDENT)
350+ {
351+ if (is_reserved_word(yytext, yyleng)
352+ || find_symbol(yytext, SYM_TYPEDEF, 1))
353+ {
354+ yyless(0);
355+ unput('(');
356+ lexstate = ST_NORMAL;
357+ token = TYPEOF_KEYW;
358+ break;
359+ }
360+ _APP("(", 1);
361+ }
362+ APP;
363+ lexstate = ST_TYPEOF;
364+ goto repeat;
365+
366 case ST_BRACKET:
367 APP;
368 switch (token)
369diff --git a/scripts/genksyms/lex.lex.c_shipped b/scripts/genksyms/lex.lex.c_shipped
370index 0bf4157e6161..f82740a69b85 100644
371--- a/scripts/genksyms/lex.lex.c_shipped
372+++ b/scripts/genksyms/lex.lex.c_shipped
373@@ -1938,8 +1938,9 @@ int
374 yylex(void)
375 {
376 static enum {
377- ST_NOTSTARTED, ST_NORMAL, ST_ATTRIBUTE, ST_ASM, ST_BRACKET, ST_BRACE,
378- ST_EXPRESSION, ST_TABLE_1, ST_TABLE_2, ST_TABLE_3, ST_TABLE_4,
379+ ST_NOTSTARTED, ST_NORMAL, ST_ATTRIBUTE, ST_ASM, ST_TYPEOF, ST_TYPEOF_1,
380+ ST_BRACKET, ST_BRACE, ST_EXPRESSION,
381+ ST_TABLE_1, ST_TABLE_2, ST_TABLE_3, ST_TABLE_4,
382 ST_TABLE_5, ST_TABLE_6
383 } lexstate = ST_NOTSTARTED;
384
385@@ -2007,6 +2008,10 @@ repeat:
386 lexstate = ST_ASM;
387 count = 0;
388 goto repeat;
389+ case TYPEOF_KEYW:
390+ lexstate = ST_TYPEOF;
391+ count = 0;
392+ goto repeat;
393
394 case STRUCT_KEYW:
395 case UNION_KEYW:
396@@ -2093,6 +2098,48 @@ repeat:
397 }
398 break;
399
400+ case ST_TYPEOF:
401+ switch (token)
402+ {
403+ case '(':
404+ if ( ++count == 1 )
405+ lexstate = ST_TYPEOF_1;
406+ else
407+ APP;
408+ goto repeat;
409+ case ')':
410+ APP;
411+ if (--count == 0)
412+ {
413+ lexstate = ST_NORMAL;
414+ token = TYPEOF_PHRASE;
415+ break;
416+ }
417+ goto repeat;
418+ default:
419+ APP;
420+ goto repeat;
421+ }
422+ break;
423+
424+ case ST_TYPEOF_1:
425+ if (token == IDENT)
426+ {
427+ if (is_reserved_word(yytext, yyleng)
428+ || find_symbol(yytext, SYM_TYPEDEF, 1))
429+ {
430+ yyless(0);
431+ unput('(');
432+ lexstate = ST_NORMAL;
433+ token = TYPEOF_KEYW;
434+ break;
435+ }
436+ _APP("(", 1);
437+ }
438+ APP;
439+ lexstate = ST_TYPEOF;
440+ goto repeat;
441+
442 case ST_BRACKET:
443 APP;
444 switch (token)
445diff --git a/scripts/genksyms/parse.tab.c_shipped b/scripts/genksyms/parse.tab.c_shipped
446index ece53c79bb59..c9f0f0ce82ff 100644
447--- a/scripts/genksyms/parse.tab.c_shipped
448+++ b/scripts/genksyms/parse.tab.c_shipped
449@@ -1,8 +1,8 @@
450-/* A Bison parser, made by GNU Bison 2.5. */
451+/* A Bison parser, made by GNU Bison 2.5.1. */
452
453 /* Bison implementation for Yacc-like parsers in C
454
455- Copyright (C) 1984, 1989-1990, 2000-2011 Free Software Foundation, Inc.
456+ Copyright (C) 1984, 1989-1990, 2000-2012 Free Software Foundation, Inc.
457
458 This program is free software: you can redistribute it and/or modify
459 it under the terms of the GNU General Public License as published by
460@@ -44,7 +44,7 @@
461 #define YYBISON 1
462
463 /* Bison version. */
464-#define YYBISON_VERSION "2.5"
465+#define YYBISON_VERSION "2.5.1"
466
467 /* Skeleton name. */
468 #define YYSKELETON_NAME "yacc.c"
469@@ -117,6 +117,14 @@ static void record_compound(struct string_list **keyw,
470
471
472
473+# ifndef YY_NULL
474+# if defined __cplusplus && 201103L <= __cplusplus
475+# define YY_NULL nullptr
476+# else
477+# define YY_NULL 0
478+# endif
479+# endif
480+
481 /* Enabling traces. */
482 #ifndef YYDEBUG
483 # define YYDEBUG 1
484@@ -171,18 +179,19 @@ static void record_compound(struct string_list **keyw,
485 EXPORT_SYMBOL_KEYW = 284,
486 ASM_PHRASE = 285,
487 ATTRIBUTE_PHRASE = 286,
488- BRACE_PHRASE = 287,
489- BRACKET_PHRASE = 288,
490- EXPRESSION_PHRASE = 289,
491- CHAR = 290,
492- DOTS = 291,
493- IDENT = 292,
494- INT = 293,
495- REAL = 294,
496- STRING = 295,
497- TYPE = 296,
498- OTHER = 297,
499- FILENAME = 298
500+ TYPEOF_PHRASE = 287,
501+ BRACE_PHRASE = 288,
502+ BRACKET_PHRASE = 289,
503+ EXPRESSION_PHRASE = 290,
504+ CHAR = 291,
505+ DOTS = 292,
506+ IDENT = 293,
507+ INT = 294,
508+ REAL = 295,
509+ STRING = 296,
510+ TYPE = 297,
511+ OTHER = 298,
512+ FILENAME = 299
513 };
514 #endif
515
516@@ -304,6 +313,7 @@ YYID (yyi)
517 # if ! defined _ALLOCA_H && ! defined EXIT_SUCCESS && (defined __STDC__ || defined __C99__FUNC__ \
518 || defined __cplusplus || defined _MSC_VER)
519 # include <stdlib.h> /* INFRINGES ON USER NAME SPACE */
520+ /* Use EXIT_SUCCESS as a witness for stdlib.h. */
521 # ifndef EXIT_SUCCESS
522 # define EXIT_SUCCESS 0
523 # endif
524@@ -395,20 +405,20 @@ union yyalloc
525 #endif
526
527 #if defined YYCOPY_NEEDED && YYCOPY_NEEDED
528-/* Copy COUNT objects from FROM to TO. The source and destination do
529+/* Copy COUNT objects from SRC to DST. The source and destination do
530 not overlap. */
531 # ifndef YYCOPY
532 # if defined __GNUC__ && 1 < __GNUC__
533-# define YYCOPY(To, From, Count) \
534- __builtin_memcpy (To, From, (Count) * sizeof (*(From)))
535+# define YYCOPY(Dst, Src, Count) \
536+ __builtin_memcpy (Dst, Src, (Count) * sizeof (*(Src)))
537 # else
538-# define YYCOPY(To, From, Count) \
539- do \
540- { \
541- YYSIZE_T yyi; \
542- for (yyi = 0; yyi < (Count); yyi++) \
543- (To)[yyi] = (From)[yyi]; \
544- } \
545+# define YYCOPY(Dst, Src, Count) \
546+ do \
547+ { \
548+ YYSIZE_T yyi; \
549+ for (yyi = 0; yyi < (Count); yyi++) \
550+ (Dst)[yyi] = (Src)[yyi]; \
551+ } \
552 while (YYID (0))
553 # endif
554 # endif
555@@ -417,20 +427,20 @@ union yyalloc
556 /* YYFINAL -- State number of the termination state. */
557 #define YYFINAL 4
558 /* YYLAST -- Last index in YYTABLE. */
559-#define YYLAST 532
560+#define YYLAST 514
561
562 /* YYNTOKENS -- Number of terminals. */
563-#define YYNTOKENS 53
564+#define YYNTOKENS 54
565 /* YYNNTS -- Number of nonterminals. */
566 #define YYNNTS 49
567 /* YYNRULES -- Number of rules. */
568 #define YYNRULES 132
569 /* YYNRULES -- Number of states. */
570-#define YYNSTATES 188
571+#define YYNSTATES 187
572
573 /* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX. */
574 #define YYUNDEFTOK 2
575-#define YYMAXUTOK 298
576+#define YYMAXUTOK 299
577
578 #define YYTRANSLATE(YYX) \
579 ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK)
580@@ -442,15 +452,15 @@ static const yytype_uint8 yytranslate[] =
581 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
582 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
583 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
584- 47, 49, 48, 2, 46, 2, 2, 2, 2, 2,
585- 2, 2, 2, 2, 2, 2, 2, 2, 52, 44,
586- 2, 50, 2, 2, 2, 2, 2, 2, 2, 2,
587+ 48, 49, 50, 2, 47, 2, 2, 2, 2, 2,
588+ 2, 2, 2, 2, 2, 2, 2, 2, 53, 45,
589+ 2, 51, 2, 2, 2, 2, 2, 2, 2, 2,
590 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
591 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
592 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
593 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
594 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
595- 2, 2, 2, 51, 2, 45, 2, 2, 2, 2,
596+ 2, 2, 2, 52, 2, 46, 2, 2, 2, 2,
597 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
598 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
599 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
600@@ -467,7 +477,7 @@ static const yytype_uint8 yytranslate[] =
601 5, 6, 7, 8, 9, 10, 11, 12, 13, 14,
602 15, 16, 17, 18, 19, 20, 21, 22, 23, 24,
603 25, 26, 27, 28, 29, 30, 31, 32, 33, 34,
604- 35, 36, 37, 38, 39, 40, 41, 42, 43
605+ 35, 36, 37, 38, 39, 40, 41, 42, 43, 44
606 };
607
608 #if YYDEBUG
609@@ -478,78 +488,77 @@ static const yytype_uint16 yyprhs[] =
610 0, 0, 3, 5, 8, 9, 12, 13, 18, 19,
611 23, 25, 27, 29, 31, 34, 37, 41, 42, 44,
612 46, 50, 55, 56, 58, 60, 63, 65, 67, 69,
613- 71, 73, 75, 77, 79, 81, 87, 92, 95, 98,
614- 101, 105, 109, 113, 116, 119, 122, 124, 126, 128,
615- 130, 132, 134, 136, 138, 140, 142, 144, 147, 148,
616- 150, 152, 155, 157, 159, 161, 163, 166, 168, 170,
617- 175, 180, 183, 187, 191, 194, 196, 198, 200, 205,
618- 210, 213, 217, 221, 224, 226, 230, 231, 233, 235,
619- 239, 242, 245, 247, 248, 250, 252, 257, 262, 265,
620- 269, 273, 277, 278, 280, 283, 287, 291, 292, 294,
621- 296, 299, 303, 306, 307, 309, 311, 315, 318, 321,
622- 323, 326, 327, 330, 334, 339, 341, 345, 347, 351,
623- 354, 355, 357
624+ 71, 73, 75, 77, 79, 81, 86, 88, 91, 94,
625+ 97, 101, 105, 109, 112, 115, 118, 120, 122, 124,
626+ 126, 128, 130, 132, 134, 136, 138, 140, 143, 144,
627+ 146, 148, 151, 153, 155, 157, 159, 162, 164, 166,
628+ 171, 176, 179, 183, 187, 190, 192, 194, 196, 201,
629+ 206, 209, 213, 217, 220, 222, 226, 227, 229, 231,
630+ 235, 238, 241, 243, 244, 246, 248, 253, 258, 261,
631+ 265, 269, 273, 274, 276, 279, 283, 287, 288, 290,
632+ 292, 295, 299, 302, 303, 305, 307, 311, 314, 317,
633+ 319, 322, 323, 326, 330, 335, 337, 341, 343, 347,
634+ 350, 351, 353
635 };
636
637 /* YYRHS -- A `-1'-separated list of the rules' RHS. */
638 static const yytype_int8 yyrhs[] =
639 {
640- 54, 0, -1, 55, -1, 54, 55, -1, -1, 56,
641- 57, -1, -1, 12, 23, 58, 60, -1, -1, 23,
642- 59, 60, -1, 60, -1, 84, -1, 99, -1, 101,
643- -1, 1, 44, -1, 1, 45, -1, 64, 61, 44,
644- -1, -1, 62, -1, 63, -1, 62, 46, 63, -1,
645- 74, 100, 95, 85, -1, -1, 65, -1, 66, -1,
646- 65, 66, -1, 67, -1, 68, -1, 5, -1, 17,
647- -1, 21, -1, 11, -1, 14, -1, 69, -1, 73,
648- -1, 28, 47, 65, 48, 49, -1, 28, 47, 65,
649- 49, -1, 22, 37, -1, 24, 37, -1, 10, 37,
650- -1, 22, 37, 87, -1, 24, 37, 87, -1, 10,
651- 37, 96, -1, 10, 96, -1, 22, 87, -1, 24,
652- 87, -1, 7, -1, 19, -1, 15, -1, 16, -1,
653- 20, -1, 25, -1, 13, -1, 9, -1, 26, -1,
654- 6, -1, 41, -1, 48, 71, -1, -1, 72, -1,
655- 73, -1, 72, 73, -1, 8, -1, 27, -1, 31,
656- -1, 18, -1, 70, 74, -1, 75, -1, 37, -1,
657- 75, 47, 78, 49, -1, 75, 47, 1, 49, -1,
658- 75, 33, -1, 47, 74, 49, -1, 47, 1, 49,
659- -1, 70, 76, -1, 77, -1, 37, -1, 41, -1,
660- 77, 47, 78, 49, -1, 77, 47, 1, 49, -1,
661- 77, 33, -1, 47, 76, 49, -1, 47, 1, 49,
662- -1, 79, 36, -1, 79, -1, 80, 46, 36, -1,
663- -1, 80, -1, 81, -1, 80, 46, 81, -1, 65,
664- 82, -1, 70, 82, -1, 83, -1, -1, 37, -1,
665- 41, -1, 83, 47, 78, 49, -1, 83, 47, 1,
666- 49, -1, 83, 33, -1, 47, 82, 49, -1, 47,
667- 1, 49, -1, 64, 74, 32, -1, -1, 86, -1,
668- 50, 34, -1, 51, 88, 45, -1, 51, 1, 45,
669- -1, -1, 89, -1, 90, -1, 89, 90, -1, 64,
670- 91, 44, -1, 1, 44, -1, -1, 92, -1, 93,
671- -1, 92, 46, 93, -1, 76, 95, -1, 37, 94,
672- -1, 94, -1, 52, 34, -1, -1, 95, 31, -1,
673- 51, 97, 45, -1, 51, 97, 46, 45, -1, 98,
674- -1, 97, 46, 98, -1, 37, -1, 37, 50, 34,
675- -1, 30, 44, -1, -1, 30, -1, 29, 47, 37,
676- 49, 44, -1
677+ 55, 0, -1, 56, -1, 55, 56, -1, -1, 57,
678+ 58, -1, -1, 12, 23, 59, 61, -1, -1, 23,
679+ 60, 61, -1, 61, -1, 85, -1, 100, -1, 102,
680+ -1, 1, 45, -1, 1, 46, -1, 65, 62, 45,
681+ -1, -1, 63, -1, 64, -1, 63, 47, 64, -1,
682+ 75, 101, 96, 86, -1, -1, 66, -1, 67, -1,
683+ 66, 67, -1, 68, -1, 69, -1, 5, -1, 17,
684+ -1, 21, -1, 11, -1, 14, -1, 70, -1, 74,
685+ -1, 28, 48, 82, 49, -1, 32, -1, 22, 38,
686+ -1, 24, 38, -1, 10, 38, -1, 22, 38, 88,
687+ -1, 24, 38, 88, -1, 10, 38, 97, -1, 10,
688+ 97, -1, 22, 88, -1, 24, 88, -1, 7, -1,
689+ 19, -1, 15, -1, 16, -1, 20, -1, 25, -1,
690+ 13, -1, 9, -1, 26, -1, 6, -1, 42, -1,
691+ 50, 72, -1, -1, 73, -1, 74, -1, 73, 74,
692+ -1, 8, -1, 27, -1, 31, -1, 18, -1, 71,
693+ 75, -1, 76, -1, 38, -1, 76, 48, 79, 49,
694+ -1, 76, 48, 1, 49, -1, 76, 34, -1, 48,
695+ 75, 49, -1, 48, 1, 49, -1, 71, 77, -1,
696+ 78, -1, 38, -1, 42, -1, 78, 48, 79, 49,
697+ -1, 78, 48, 1, 49, -1, 78, 34, -1, 48,
698+ 77, 49, -1, 48, 1, 49, -1, 80, 37, -1,
699+ 80, -1, 81, 47, 37, -1, -1, 81, -1, 82,
700+ -1, 81, 47, 82, -1, 66, 83, -1, 71, 83,
701+ -1, 84, -1, -1, 38, -1, 42, -1, 84, 48,
702+ 79, 49, -1, 84, 48, 1, 49, -1, 84, 34,
703+ -1, 48, 83, 49, -1, 48, 1, 49, -1, 65,
704+ 75, 33, -1, -1, 87, -1, 51, 35, -1, 52,
705+ 89, 46, -1, 52, 1, 46, -1, -1, 90, -1,
706+ 91, -1, 90, 91, -1, 65, 92, 45, -1, 1,
707+ 45, -1, -1, 93, -1, 94, -1, 93, 47, 94,
708+ -1, 77, 96, -1, 38, 95, -1, 95, -1, 53,
709+ 35, -1, -1, 96, 31, -1, 52, 98, 46, -1,
710+ 52, 98, 47, 46, -1, 99, -1, 98, 47, 99,
711+ -1, 38, -1, 38, 51, 35, -1, 30, 45, -1,
712+ -1, 30, -1, 29, 48, 38, 49, 45, -1
713 };
714
715 /* YYRLINE[YYN] -- source line where rule number YYN was defined. */
716 static const yytype_uint16 yyrline[] =
717 {
718- 0, 123, 123, 124, 128, 128, 134, 134, 136, 136,
719- 138, 139, 140, 141, 142, 143, 147, 161, 162, 166,
720- 174, 187, 193, 194, 198, 199, 203, 209, 213, 214,
721- 215, 216, 217, 221, 222, 223, 224, 228, 230, 232,
722- 236, 238, 240, 245, 248, 249, 253, 254, 255, 256,
723- 257, 258, 259, 260, 261, 262, 263, 267, 272, 273,
724- 277, 278, 282, 282, 282, 283, 291, 292, 296, 305,
725- 307, 309, 311, 313, 320, 321, 325, 326, 327, 329,
726- 331, 333, 335, 340, 341, 342, 346, 347, 351, 352,
727- 357, 362, 364, 368, 369, 377, 381, 383, 385, 387,
728- 389, 394, 403, 404, 409, 414, 415, 419, 420, 424,
729- 425, 429, 431, 436, 437, 441, 442, 446, 447, 448,
730- 452, 456, 457, 461, 462, 466, 467, 470, 475, 483,
731- 487, 488, 492
732+ 0, 124, 124, 125, 129, 129, 135, 135, 137, 137,
733+ 139, 140, 141, 142, 143, 144, 148, 162, 163, 167,
734+ 175, 188, 194, 195, 199, 200, 204, 210, 214, 215,
735+ 216, 217, 218, 222, 223, 224, 225, 229, 231, 233,
736+ 237, 239, 241, 246, 249, 250, 254, 255, 256, 257,
737+ 258, 259, 260, 261, 262, 263, 264, 268, 273, 274,
738+ 278, 279, 283, 283, 283, 284, 292, 293, 297, 306,
739+ 308, 310, 312, 314, 321, 322, 326, 327, 328, 330,
740+ 332, 334, 336, 341, 342, 343, 347, 348, 352, 353,
741+ 358, 363, 365, 369, 370, 378, 382, 384, 386, 388,
742+ 390, 395, 404, 405, 410, 415, 416, 420, 421, 425,
743+ 426, 430, 432, 437, 438, 442, 443, 447, 448, 449,
744+ 453, 457, 458, 462, 463, 467, 468, 471, 476, 484,
745+ 488, 489, 493
746 };
747 #endif
748
749@@ -565,9 +574,9 @@ static const char *const yytname[] =
750 "SHORT_KEYW", "SIGNED_KEYW", "STATIC_KEYW", "STRUCT_KEYW",
751 "TYPEDEF_KEYW", "UNION_KEYW", "UNSIGNED_KEYW", "VOID_KEYW",
752 "VOLATILE_KEYW", "TYPEOF_KEYW", "EXPORT_SYMBOL_KEYW", "ASM_PHRASE",
753- "ATTRIBUTE_PHRASE", "BRACE_PHRASE", "BRACKET_PHRASE",
754+ "ATTRIBUTE_PHRASE", "TYPEOF_PHRASE", "BRACE_PHRASE", "BRACKET_PHRASE",
755 "EXPRESSION_PHRASE", "CHAR", "DOTS", "IDENT", "INT", "REAL", "STRING",
756- "TYPE", "OTHER", "FILENAME", "';'", "'}'", "','", "'('", "'*'", "')'",
757+ "TYPE", "OTHER", "FILENAME", "';'", "'}'", "','", "'('", "')'", "'*'",
758 "'='", "'{'", "':'", "$accept", "declaration_seq", "declaration", "$@1",
759 "declaration1", "$@2", "$@3", "simple_declaration",
760 "init_declarator_list_opt", "init_declarator_list", "init_declarator",
761@@ -584,7 +593,7 @@ static const char *const yytname[] =
762 "member_declarator_list_opt", "member_declarator_list",
763 "member_declarator", "member_bitfield_declarator", "attribute_opt",
764 "enum_body", "enumerator_list", "enumerator", "asm_definition",
765- "asm_phrase_opt", "export_definition", 0
766+ "asm_phrase_opt", "export_definition", YY_NULL
767 };
768 #endif
769
770@@ -597,28 +606,28 @@ static const yytype_uint16 yytoknum[] =
771 265, 266, 267, 268, 269, 270, 271, 272, 273, 274,
772 275, 276, 277, 278, 279, 280, 281, 282, 283, 284,
773 285, 286, 287, 288, 289, 290, 291, 292, 293, 294,
774- 295, 296, 297, 298, 59, 125, 44, 40, 42, 41,
775- 61, 123, 58
776+ 295, 296, 297, 298, 299, 59, 125, 44, 40, 41,
777+ 42, 61, 123, 58
778 };
779 # endif
780
781 /* YYR1[YYN] -- Symbol number of symbol that rule YYN derives. */
782 static const yytype_uint8 yyr1[] =
783 {
784- 0, 53, 54, 54, 56, 55, 58, 57, 59, 57,
785- 57, 57, 57, 57, 57, 57, 60, 61, 61, 62,
786- 62, 63, 64, 64, 65, 65, 66, 66, 67, 67,
787- 67, 67, 67, 68, 68, 68, 68, 68, 68, 68,
788- 68, 68, 68, 68, 68, 68, 69, 69, 69, 69,
789- 69, 69, 69, 69, 69, 69, 69, 70, 71, 71,
790- 72, 72, 73, 73, 73, 73, 74, 74, 75, 75,
791- 75, 75, 75, 75, 76, 76, 77, 77, 77, 77,
792- 77, 77, 77, 78, 78, 78, 79, 79, 80, 80,
793- 81, 82, 82, 83, 83, 83, 83, 83, 83, 83,
794- 83, 84, 85, 85, 86, 87, 87, 88, 88, 89,
795- 89, 90, 90, 91, 91, 92, 92, 93, 93, 93,
796- 94, 95, 95, 96, 96, 97, 97, 98, 98, 99,
797- 100, 100, 101
798+ 0, 54, 55, 55, 57, 56, 59, 58, 60, 58,
799+ 58, 58, 58, 58, 58, 58, 61, 62, 62, 63,
800+ 63, 64, 65, 65, 66, 66, 67, 67, 68, 68,
801+ 68, 68, 68, 69, 69, 69, 69, 69, 69, 69,
802+ 69, 69, 69, 69, 69, 69, 70, 70, 70, 70,
803+ 70, 70, 70, 70, 70, 70, 70, 71, 72, 72,
804+ 73, 73, 74, 74, 74, 74, 75, 75, 76, 76,
805+ 76, 76, 76, 76, 77, 77, 78, 78, 78, 78,
806+ 78, 78, 78, 79, 79, 79, 80, 80, 81, 81,
807+ 82, 83, 83, 84, 84, 84, 84, 84, 84, 84,
808+ 84, 85, 86, 86, 87, 88, 88, 89, 89, 90,
809+ 90, 91, 91, 92, 92, 93, 93, 94, 94, 94,
810+ 95, 96, 96, 97, 97, 98, 98, 99, 99, 100,
811+ 101, 101, 102
812 };
813
814 /* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN. */
815@@ -627,7 +636,7 @@ static const yytype_uint8 yyr2[] =
816 0, 2, 1, 2, 0, 2, 0, 4, 0, 3,
817 1, 1, 1, 1, 2, 2, 3, 0, 1, 1,
818 3, 4, 0, 1, 1, 2, 1, 1, 1, 1,
819- 1, 1, 1, 1, 1, 5, 4, 2, 2, 2,
820+ 1, 1, 1, 1, 1, 4, 1, 2, 2, 2,
821 3, 3, 3, 2, 2, 2, 1, 1, 1, 1,
822 1, 1, 1, 1, 1, 1, 1, 2, 0, 1,
823 1, 2, 1, 1, 1, 1, 2, 1, 1, 4,
824@@ -648,68 +657,68 @@ static const yytype_uint8 yydefact[] =
825 4, 4, 2, 0, 1, 3, 0, 28, 55, 46,
826 62, 53, 0, 31, 0, 52, 32, 48, 49, 29,
827 65, 47, 50, 30, 0, 8, 0, 51, 54, 63,
828- 0, 0, 0, 64, 56, 5, 10, 17, 23, 24,
829- 26, 27, 33, 34, 11, 12, 13, 14, 15, 39,
830- 0, 43, 6, 37, 0, 44, 22, 38, 45, 0,
831- 0, 129, 68, 0, 58, 0, 18, 19, 0, 130,
832- 67, 25, 42, 127, 0, 125, 22, 40, 0, 113,
833- 0, 0, 109, 9, 17, 41, 0, 0, 0, 0,
834- 57, 59, 60, 16, 0, 66, 131, 101, 121, 71,
835- 0, 0, 123, 0, 7, 112, 106, 76, 77, 0,
836- 0, 0, 121, 75, 0, 114, 115, 119, 105, 0,
837- 110, 130, 0, 36, 0, 73, 72, 61, 20, 102,
838- 0, 93, 0, 84, 87, 88, 128, 124, 126, 118,
839- 0, 76, 0, 120, 74, 117, 80, 0, 111, 0,
840- 35, 132, 122, 0, 21, 103, 70, 94, 56, 0,
841- 93, 90, 92, 69, 83, 0, 82, 81, 0, 0,
842- 116, 104, 0, 95, 0, 91, 98, 0, 85, 89,
843- 79, 78, 100, 99, 0, 0, 97, 96
844+ 0, 0, 0, 64, 36, 56, 5, 10, 17, 23,
845+ 24, 26, 27, 33, 34, 11, 12, 13, 14, 15,
846+ 39, 0, 43, 6, 37, 0, 44, 22, 38, 45,
847+ 0, 0, 129, 68, 0, 58, 0, 18, 19, 0,
848+ 130, 67, 25, 42, 127, 0, 125, 22, 40, 0,
849+ 113, 0, 0, 109, 9, 17, 41, 93, 0, 0,
850+ 0, 0, 57, 59, 60, 16, 0, 66, 131, 101,
851+ 121, 71, 0, 0, 123, 0, 7, 112, 106, 76,
852+ 77, 0, 0, 0, 121, 75, 0, 114, 115, 119,
853+ 105, 0, 110, 130, 94, 56, 0, 93, 90, 92,
854+ 35, 0, 73, 72, 61, 20, 102, 0, 0, 84,
855+ 87, 88, 128, 124, 126, 118, 0, 76, 0, 120,
856+ 74, 117, 80, 0, 111, 0, 0, 95, 0, 91,
857+ 98, 0, 132, 122, 0, 21, 103, 70, 69, 83,
858+ 0, 82, 81, 0, 0, 116, 100, 99, 0, 0,
859+ 104, 85, 89, 79, 78, 97, 96
860 };
861
862 /* YYDEFGOTO[NTERM-NUM]. */
863 static const yytype_int16 yydefgoto[] =
864 {
865- -1, 1, 2, 3, 35, 76, 56, 36, 65, 66,
866- 67, 79, 38, 39, 40, 41, 42, 68, 90, 91,
867- 43, 121, 70, 112, 113, 132, 133, 134, 135, 161,
868- 162, 44, 154, 155, 55, 80, 81, 82, 114, 115,
869- 116, 117, 129, 51, 74, 75, 45, 98, 46
870+ -1, 1, 2, 3, 36, 77, 57, 37, 66, 67,
871+ 68, 80, 39, 40, 41, 42, 43, 69, 92, 93,
872+ 44, 123, 71, 114, 115, 138, 139, 140, 141, 128,
873+ 129, 45, 165, 166, 56, 81, 82, 83, 116, 117,
874+ 118, 119, 136, 52, 75, 76, 46, 100, 47
875 };
876
877 /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
878 STATE-NUM. */
879-#define YYPACT_NINF -135
880+#define YYPACT_NINF -140
881 static const yytype_int16 yypact[] =
882 {
883- -135, 20, -135, 321, -135, -135, 30, -135, -135, -135,
884- -135, -135, -28, -135, 2, -135, -135, -135, -135, -135,
885- -135, -135, -135, -135, -6, -135, 9, -135, -135, -135,
886- -5, 15, -17, -135, -135, -135, -135, 18, 491, -135,
887- -135, -135, -135, -135, -135, -135, -135, -135, -135, -22,
888- 31, -135, -135, 19, 106, -135, 491, 19, -135, 491,
889- 50, -135, -135, 11, -3, 51, 57, -135, 18, -14,
890- 14, -135, -135, 48, 46, -135, 491, -135, 33, 32,
891- 59, 154, -135, -135, 18, -135, 365, 56, 60, 61,
892- -135, -3, -135, -135, 18, -135, -135, -135, -135, -135,
893- 202, 74, -135, -23, -135, -135, -135, 77, -135, 16,
894- 101, 49, -135, 34, 92, 93, -135, -135, -135, 94,
895- -135, 110, 95, -135, 97, -135, -135, -135, -135, -20,
896- 96, 410, 99, 113, 100, -135, -135, -135, -135, -135,
897- 103, -135, 107, -135, -135, 111, -135, 239, -135, 32,
898- -135, -135, -135, 123, -135, -135, -135, -135, -135, 3,
899- 52, -135, 38, -135, -135, 454, -135, -135, 117, 128,
900- -135, -135, 134, -135, 135, -135, -135, 276, -135, -135,
901- -135, -135, -135, -135, 137, 138, -135, -135
902+ -140, 29, -140, 207, -140, -140, 40, -140, -140, -140,
903+ -140, -140, -27, -140, 44, -140, -140, -140, -140, -140,
904+ -140, -140, -140, -140, -22, -140, -18, -140, -140, -140,
905+ -9, 22, 28, -140, -140, -140, -140, -140, 42, 472,
906+ -140, -140, -140, -140, -140, -140, -140, -140, -140, -140,
907+ 46, 43, -140, -140, 47, 107, -140, 472, 47, -140,
908+ 472, 62, -140, -140, 16, -3, 57, 56, -140, 42,
909+ 35, -11, -140, -140, 53, 48, -140, 472, -140, 51,
910+ 21, 59, 157, -140, -140, 42, -140, 388, 58, 60,
911+ 70, 81, -140, -3, -140, -140, 42, -140, -140, -140,
912+ -140, -140, 253, 71, -140, -20, -140, -140, -140, 83,
913+ -140, 5, 102, 34, -140, 12, 95, 94, -140, -140,
914+ -140, 97, -140, 113, -140, -140, 2, 41, -140, 27,
915+ -140, 99, -140, -140, -140, -140, -24, 98, 101, 109,
916+ 104, -140, -140, -140, -140, -140, 105, -140, 110, -140,
917+ -140, 117, -140, 298, -140, 21, 112, -140, 120, -140,
918+ -140, 343, -140, -140, 121, -140, -140, -140, -140, -140,
919+ 434, -140, -140, 131, 137, -140, -140, -140, 138, 141,
920+ -140, -140, -140, -140, -140, -140, -140
921 };
922
923 /* YYPGOTO[NTERM-NUM]. */
924 static const yytype_int16 yypgoto[] =
925 {
926- -135, -135, 187, -135, -135, -135, -135, -50, -135, -135,
927- 98, 0, -59, -37, -135, -135, -135, -77, -135, -135,
928- -54, -30, -135, -90, -135, -134, -135, -135, 24, -58,
929- -135, -135, -135, -135, -18, -135, -135, 109, -135, -135,
930- 44, 87, 84, 148, -135, 102, -135, -135, -135
931+ -140, -140, 190, -140, -140, -140, -140, -45, -140, -140,
932+ 96, 1, -60, -31, -140, -140, -140, -78, -140, -140,
933+ -55, -7, -140, -92, -140, -139, -140, -140, -59, -39,
934+ -140, -140, -140, -140, -13, -140, -140, 111, -140, -140,
935+ 39, 87, 84, 147, -140, 106, -140, -140, -140
936 };
937
938 /* YYTABLE[YYPACT[STATE-NUM]]. What to do in state STATE-NUM. If
939@@ -718,149 +727,145 @@ static const yytype_int16 yypgoto[] =
940 #define YYTABLE_NINF -109
941 static const yytype_int16 yytable[] =
942 {
943- 86, 71, 111, 37, 172, 10, 83, 69, 58, 49,
944- 92, 152, 88, 169, 73, 20, 96, 140, 97, 142,
945- 4, 144, 137, 50, 29, 52, 104, 61, 33, 50,
946- 153, 53, 111, 89, 111, 77, -93, 127, 95, 85,
947- 157, 131, 59, 185, 173, 54, 57, 99, 62, 71,
948- 159, 64, -93, 141, 160, 62, 84, 108, 63, 64,
949- 54, 100, 60, 109, 64, 63, 64, 146, 73, 107,
950- 54, 176, 111, 108, 47, 48, 84, 105, 106, 109,
951- 64, 147, 160, 160, 110, 177, 141, 87, 131, 157,
952- 108, 102, 103, 173, 71, 93, 109, 64, 101, 159,
953- 64, 174, 175, 94, 118, 124, 131, 78, 136, 125,
954- 126, 7, 8, 9, 10, 11, 12, 13, 131, 15,
955- 16, 17, 18, 19, 20, 21, 22, 23, 24, 110,
956- 26, 27, 28, 29, 30, 143, 148, 33, 105, 149,
957- 96, 151, 152, -22, 150, 156, 165, 34, 163, 164,
958- -22, -107, 166, -22, -22, 119, 167, 171, -22, 7,
959- 8, 9, 10, 11, 12, 13, 180, 15, 16, 17,
960- 18, 19, 20, 21, 22, 23, 24, 181, 26, 27,
961- 28, 29, 30, 182, 183, 33, 186, 187, 5, 179,
962- 120, -22, 128, 170, 139, 34, 145, 72, -22, -108,
963- 0, -22, -22, 130, 0, 138, -22, 7, 8, 9,
964- 10, 11, 12, 13, 0, 15, 16, 17, 18, 19,
965- 20, 21, 22, 23, 24, 0, 26, 27, 28, 29,
966- 30, 0, 0, 33, 0, 0, 0, 0, -86, 0,
967- 168, 0, 0, 34, 7, 8, 9, 10, 11, 12,
968- 13, -86, 15, 16, 17, 18, 19, 20, 21, 22,
969- 23, 24, 0, 26, 27, 28, 29, 30, 0, 0,
970- 33, 0, 0, 0, 0, -86, 0, 184, 0, 0,
971- 34, 7, 8, 9, 10, 11, 12, 13, -86, 15,
972- 16, 17, 18, 19, 20, 21, 22, 23, 24, 0,
973- 26, 27, 28, 29, 30, 0, 0, 33, 0, 0,
974- 0, 0, -86, 0, 0, 0, 0, 34, 0, 0,
975- 0, 0, 6, 0, 0, -86, 7, 8, 9, 10,
976- 11, 12, 13, 14, 15, 16, 17, 18, 19, 20,
977- 21, 22, 23, 24, 25, 26, 27, 28, 29, 30,
978- 31, 32, 33, 0, 0, 0, 0, 0, -22, 0,
979- 0, 0, 34, 0, 0, -22, 0, 0, -22, -22,
980- 7, 8, 9, 10, 11, 12, 13, 0, 15, 16,
981- 17, 18, 19, 20, 21, 22, 23, 24, 0, 26,
982- 27, 28, 29, 30, 0, 0, 33, 0, 0, 0,
983- 0, 0, 0, 0, 0, 0, 34, 0, 0, 0,
984- 0, 0, 0, 122, 123, 7, 8, 9, 10, 11,
985- 12, 13, 0, 15, 16, 17, 18, 19, 20, 21,
986- 22, 23, 24, 0, 26, 27, 28, 29, 30, 0,
987- 0, 33, 0, 0, 0, 0, 0, 157, 0, 0,
988- 0, 158, 0, 0, 0, 0, 0, 159, 64, 7,
989+ 87, 88, 113, 156, 38, 10, 146, 163, 72, 127,
990+ 94, 50, 84, 59, 174, 20, 54, 90, 74, 148,
991+ 58, 150, 179, 101, 29, 51, 143, 164, 33, 4,
992+ 55, 70, 106, 113, 55, 113, -93, 102, 134, 60,
993+ 124, 78, 87, 147, 157, 86, 152, 110, 127, 127,
994+ 126, -93, 65, 111, 63, 65, 72, 91, 85, 109,
995+ 153, 160, 97, 110, 64, 98, 65, 53, 99, 111,
996+ 61, 65, 147, 62, 112, 161, 110, 113, 85, 124,
997+ 63, 74, 111, 157, 65, 48, 49, 158, 159, 126,
998+ 64, 65, 65, 87, 104, 105, 107, 108, 51, 55,
999+ 89, 87, 95, 96, 103, 120, 142, 130, 79, 131,
1000+ 87, 182, 7, 8, 9, 10, 11, 12, 13, 132,
1001+ 15, 16, 17, 18, 19, 20, 21, 22, 23, 24,
1002+ 133, 26, 27, 28, 29, 30, 112, 149, 33, 34,
1003+ 154, 155, 107, 98, 162, -22, 169, 167, 163, 35,
1004+ 168, 170, -22, -107, 171, -22, 180, -22, 121, 172,
1005+ -22, 176, 7, 8, 9, 10, 11, 12, 13, 177,
1006+ 15, 16, 17, 18, 19, 20, 21, 22, 23, 24,
1007+ 183, 26, 27, 28, 29, 30, 184, 185, 33, 34,
1008+ 186, 5, 135, 122, 175, -22, 145, 73, 151, 35,
1009+ 0, 0, -22, -108, 0, -22, 0, -22, 6, 0,
1010+ -22, 144, 7, 8, 9, 10, 11, 12, 13, 14,
1011+ 15, 16, 17, 18, 19, 20, 21, 22, 23, 24,
1012+ 25, 26, 27, 28, 29, 30, 31, 32, 33, 34,
1013+ 0, 0, 0, 0, 0, -22, 0, 0, 0, 35,
1014+ 0, 0, -22, 0, 137, -22, 0, -22, 7, 8,
1015+ 9, 10, 11, 12, 13, 0, 15, 16, 17, 18,
1016+ 19, 20, 21, 22, 23, 24, 0, 26, 27, 28,
1017+ 29, 30, 0, 0, 33, 34, 0, 0, 0, 0,
1018+ -86, 0, 0, 0, 0, 35, 0, 0, 0, 173,
1019+ 0, 0, -86, 7, 8, 9, 10, 11, 12, 13,
1020+ 0, 15, 16, 17, 18, 19, 20, 21, 22, 23,
1021+ 24, 0, 26, 27, 28, 29, 30, 0, 0, 33,
1022+ 34, 0, 0, 0, 0, -86, 0, 0, 0, 0,
1023+ 35, 0, 0, 0, 178, 0, 0, -86, 7, 8,
1024+ 9, 10, 11, 12, 13, 0, 15, 16, 17, 18,
1025+ 19, 20, 21, 22, 23, 24, 0, 26, 27, 28,
1026+ 29, 30, 0, 0, 33, 34, 0, 0, 0, 0,
1027+ -86, 0, 0, 0, 0, 35, 0, 0, 0, 0,
1028+ 0, 0, -86, 7, 8, 9, 10, 11, 12, 13,
1029+ 0, 15, 16, 17, 18, 19, 20, 21, 22, 23,
1030+ 24, 0, 26, 27, 28, 29, 30, 0, 0, 33,
1031+ 34, 0, 0, 0, 0, 0, 124, 0, 0, 0,
1032+ 125, 0, 0, 0, 0, 0, 126, 0, 65, 7,
1033 8, 9, 10, 11, 12, 13, 0, 15, 16, 17,
1034 18, 19, 20, 21, 22, 23, 24, 0, 26, 27,
1035- 28, 29, 30, 0, 0, 33, 0, 0, 0, 0,
1036- 178, 0, 0, 0, 0, 34, 7, 8, 9, 10,
1037- 11, 12, 13, 0, 15, 16, 17, 18, 19, 20,
1038- 21, 22, 23, 24, 0, 26, 27, 28, 29, 30,
1039- 0, 0, 33, 0, 0, 0, 0, 0, 0, 0,
1040- 0, 0, 34
1041+ 28, 29, 30, 0, 0, 33, 34, 0, 0, 0,
1042+ 0, 181, 0, 0, 0, 0, 35, 7, 8, 9,
1043+ 10, 11, 12, 13, 0, 15, 16, 17, 18, 19,
1044+ 20, 21, 22, 23, 24, 0, 26, 27, 28, 29,
1045+ 30, 0, 0, 33, 34, 0, 0, 0, 0, 0,
1046+ 0, 0, 0, 0, 35
1047 };
1048
1049 #define yypact_value_is_default(yystate) \
1050- ((yystate) == (-135))
1051+ ((yystate) == (-140))
1052
1053 #define yytable_value_is_error(yytable_value) \
1054 YYID (0)
1055
1056 static const yytype_int16 yycheck[] =
1057 {
1058- 59, 38, 79, 3, 1, 8, 56, 37, 26, 37,
1059- 64, 31, 1, 147, 37, 18, 30, 1, 32, 109,
1060- 0, 111, 45, 51, 27, 23, 76, 44, 31, 51,
1061- 50, 37, 109, 63, 111, 53, 33, 91, 68, 57,
1062- 37, 100, 47, 177, 41, 51, 37, 33, 37, 86,
1063- 47, 48, 49, 37, 131, 37, 56, 41, 47, 48,
1064- 51, 47, 47, 47, 48, 47, 48, 33, 37, 37,
1065- 51, 33, 149, 41, 44, 45, 76, 44, 45, 47,
1066- 48, 47, 159, 160, 52, 47, 37, 37, 147, 37,
1067- 41, 45, 46, 41, 131, 44, 47, 48, 50, 47,
1068- 48, 159, 160, 46, 45, 49, 165, 1, 34, 49,
1069- 49, 5, 6, 7, 8, 9, 10, 11, 177, 13,
1070- 14, 15, 16, 17, 18, 19, 20, 21, 22, 52,
1071- 24, 25, 26, 27, 28, 34, 44, 31, 44, 46,
1072- 30, 44, 31, 37, 49, 49, 46, 41, 49, 36,
1073- 44, 45, 49, 47, 48, 1, 49, 34, 52, 5,
1074- 6, 7, 8, 9, 10, 11, 49, 13, 14, 15,
1075- 16, 17, 18, 19, 20, 21, 22, 49, 24, 25,
1076- 26, 27, 28, 49, 49, 31, 49, 49, 1, 165,
1077- 81, 37, 94, 149, 107, 41, 112, 49, 44, 45,
1078- -1, 47, 48, 1, -1, 103, 52, 5, 6, 7,
1079- 8, 9, 10, 11, -1, 13, 14, 15, 16, 17,
1080- 18, 19, 20, 21, 22, -1, 24, 25, 26, 27,
1081- 28, -1, -1, 31, -1, -1, -1, -1, 36, -1,
1082- 1, -1, -1, 41, 5, 6, 7, 8, 9, 10,
1083- 11, 49, 13, 14, 15, 16, 17, 18, 19, 20,
1084- 21, 22, -1, 24, 25, 26, 27, 28, -1, -1,
1085- 31, -1, -1, -1, -1, 36, -1, 1, -1, -1,
1086- 41, 5, 6, 7, 8, 9, 10, 11, 49, 13,
1087- 14, 15, 16, 17, 18, 19, 20, 21, 22, -1,
1088- 24, 25, 26, 27, 28, -1, -1, 31, -1, -1,
1089- -1, -1, 36, -1, -1, -1, -1, 41, -1, -1,
1090- -1, -1, 1, -1, -1, 49, 5, 6, 7, 8,
1091- 9, 10, 11, 12, 13, 14, 15, 16, 17, 18,
1092- 19, 20, 21, 22, 23, 24, 25, 26, 27, 28,
1093- 29, 30, 31, -1, -1, -1, -1, -1, 37, -1,
1094- -1, -1, 41, -1, -1, 44, -1, -1, 47, 48,
1095- 5, 6, 7, 8, 9, 10, 11, -1, 13, 14,
1096- 15, 16, 17, 18, 19, 20, 21, 22, -1, 24,
1097- 25, 26, 27, 28, -1, -1, 31, -1, -1, -1,
1098- -1, -1, -1, -1, -1, -1, 41, -1, -1, -1,
1099- -1, -1, -1, 48, 49, 5, 6, 7, 8, 9,
1100- 10, 11, -1, 13, 14, 15, 16, 17, 18, 19,
1101- 20, 21, 22, -1, 24, 25, 26, 27, 28, -1,
1102- -1, 31, -1, -1, -1, -1, -1, 37, -1, -1,
1103- -1, 41, -1, -1, -1, -1, -1, 47, 48, 5,
1104+ 60, 60, 80, 1, 3, 8, 1, 31, 39, 87,
1105+ 65, 38, 57, 26, 153, 18, 38, 1, 38, 111,
1106+ 38, 113, 161, 34, 27, 52, 46, 51, 31, 0,
1107+ 52, 38, 77, 111, 52, 113, 34, 48, 93, 48,
1108+ 38, 54, 102, 38, 42, 58, 34, 42, 126, 127,
1109+ 48, 49, 50, 48, 38, 50, 87, 64, 57, 38,
1110+ 48, 34, 69, 42, 48, 30, 50, 23, 33, 48,
1111+ 48, 50, 38, 45, 53, 48, 42, 155, 77, 38,
1112+ 38, 38, 48, 42, 50, 45, 46, 126, 127, 48,
1113+ 48, 50, 50, 153, 46, 47, 45, 46, 52, 52,
1114+ 38, 161, 45, 47, 51, 46, 35, 49, 1, 49,
1115+ 170, 170, 5, 6, 7, 8, 9, 10, 11, 49,
1116+ 13, 14, 15, 16, 17, 18, 19, 20, 21, 22,
1117+ 49, 24, 25, 26, 27, 28, 53, 35, 31, 32,
1118+ 45, 47, 45, 30, 45, 38, 37, 49, 31, 42,
1119+ 49, 47, 45, 46, 49, 48, 35, 50, 1, 49,
1120+ 53, 49, 5, 6, 7, 8, 9, 10, 11, 49,
1121+ 13, 14, 15, 16, 17, 18, 19, 20, 21, 22,
1122+ 49, 24, 25, 26, 27, 28, 49, 49, 31, 32,
1123+ 49, 1, 96, 82, 155, 38, 109, 50, 114, 42,
1124+ -1, -1, 45, 46, -1, 48, -1, 50, 1, -1,
1125+ 53, 105, 5, 6, 7, 8, 9, 10, 11, 12,
1126+ 13, 14, 15, 16, 17, 18, 19, 20, 21, 22,
1127+ 23, 24, 25, 26, 27, 28, 29, 30, 31, 32,
1128+ -1, -1, -1, -1, -1, 38, -1, -1, -1, 42,
1129+ -1, -1, 45, -1, 1, 48, -1, 50, 5, 6,
1130+ 7, 8, 9, 10, 11, -1, 13, 14, 15, 16,
1131+ 17, 18, 19, 20, 21, 22, -1, 24, 25, 26,
1132+ 27, 28, -1, -1, 31, 32, -1, -1, -1, -1,
1133+ 37, -1, -1, -1, -1, 42, -1, -1, -1, 1,
1134+ -1, -1, 49, 5, 6, 7, 8, 9, 10, 11,
1135+ -1, 13, 14, 15, 16, 17, 18, 19, 20, 21,
1136+ 22, -1, 24, 25, 26, 27, 28, -1, -1, 31,
1137+ 32, -1, -1, -1, -1, 37, -1, -1, -1, -1,
1138+ 42, -1, -1, -1, 1, -1, -1, 49, 5, 6,
1139+ 7, 8, 9, 10, 11, -1, 13, 14, 15, 16,
1140+ 17, 18, 19, 20, 21, 22, -1, 24, 25, 26,
1141+ 27, 28, -1, -1, 31, 32, -1, -1, -1, -1,
1142+ 37, -1, -1, -1, -1, 42, -1, -1, -1, -1,
1143+ -1, -1, 49, 5, 6, 7, 8, 9, 10, 11,
1144+ -1, 13, 14, 15, 16, 17, 18, 19, 20, 21,
1145+ 22, -1, 24, 25, 26, 27, 28, -1, -1, 31,
1146+ 32, -1, -1, -1, -1, -1, 38, -1, -1, -1,
1147+ 42, -1, -1, -1, -1, -1, 48, -1, 50, 5,
1148 6, 7, 8, 9, 10, 11, -1, 13, 14, 15,
1149 16, 17, 18, 19, 20, 21, 22, -1, 24, 25,
1150- 26, 27, 28, -1, -1, 31, -1, -1, -1, -1,
1151- 36, -1, -1, -1, -1, 41, 5, 6, 7, 8,
1152- 9, 10, 11, -1, 13, 14, 15, 16, 17, 18,
1153- 19, 20, 21, 22, -1, 24, 25, 26, 27, 28,
1154- -1, -1, 31, -1, -1, -1, -1, -1, -1, -1,
1155- -1, -1, 41
1156+ 26, 27, 28, -1, -1, 31, 32, -1, -1, -1,
1157+ -1, 37, -1, -1, -1, -1, 42, 5, 6, 7,
1158+ 8, 9, 10, 11, -1, 13, 14, 15, 16, 17,
1159+ 18, 19, 20, 21, 22, -1, 24, 25, 26, 27,
1160+ 28, -1, -1, 31, 32, -1, -1, -1, -1, -1,
1161+ -1, -1, -1, -1, 42
1162 };
1163
1164 /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing
1165 symbol of state STATE-NUM. */
1166 static const yytype_uint8 yystos[] =
1167 {
1168- 0, 54, 55, 56, 0, 55, 1, 5, 6, 7,
1169+ 0, 55, 56, 57, 0, 56, 1, 5, 6, 7,
1170 8, 9, 10, 11, 12, 13, 14, 15, 16, 17,
1171 18, 19, 20, 21, 22, 23, 24, 25, 26, 27,
1172- 28, 29, 30, 31, 41, 57, 60, 64, 65, 66,
1173- 67, 68, 69, 73, 84, 99, 101, 44, 45, 37,
1174- 51, 96, 23, 37, 51, 87, 59, 37, 87, 47,
1175- 47, 44, 37, 47, 48, 61, 62, 63, 70, 74,
1176- 75, 66, 96, 37, 97, 98, 58, 87, 1, 64,
1177- 88, 89, 90, 60, 64, 87, 65, 37, 1, 74,
1178- 71, 72, 73, 44, 46, 74, 30, 32, 100, 33,
1179- 47, 50, 45, 46, 60, 44, 45, 37, 41, 47,
1180- 52, 70, 76, 77, 91, 92, 93, 94, 45, 1,
1181- 90, 74, 48, 49, 49, 49, 49, 73, 63, 95,
1182- 1, 65, 78, 79, 80, 81, 34, 45, 98, 94,
1183- 1, 37, 76, 34, 76, 95, 33, 47, 44, 46,
1184- 49, 44, 31, 50, 85, 86, 49, 37, 41, 47,
1185- 70, 82, 83, 49, 36, 46, 49, 49, 1, 78,
1186- 93, 34, 1, 41, 82, 82, 33, 47, 36, 81,
1187- 49, 49, 49, 49, 1, 78, 49, 49
1188+ 28, 29, 30, 31, 32, 42, 58, 61, 65, 66,
1189+ 67, 68, 69, 70, 74, 85, 100, 102, 45, 46,
1190+ 38, 52, 97, 23, 38, 52, 88, 60, 38, 88,
1191+ 48, 48, 45, 38, 48, 50, 62, 63, 64, 71,
1192+ 75, 76, 67, 97, 38, 98, 99, 59, 88, 1,
1193+ 65, 89, 90, 91, 61, 65, 88, 66, 82, 38,
1194+ 1, 75, 72, 73, 74, 45, 47, 75, 30, 33,
1195+ 101, 34, 48, 51, 46, 47, 61, 45, 46, 38,
1196+ 42, 48, 53, 71, 77, 78, 92, 93, 94, 95,
1197+ 46, 1, 91, 75, 38, 42, 48, 71, 83, 84,
1198+ 49, 49, 49, 49, 74, 64, 96, 1, 79, 80,
1199+ 81, 82, 35, 46, 99, 95, 1, 38, 77, 35,
1200+ 77, 96, 34, 48, 45, 47, 1, 42, 83, 83,
1201+ 34, 48, 45, 31, 51, 86, 87, 49, 49, 37,
1202+ 47, 49, 49, 1, 79, 94, 49, 49, 1, 79,
1203+ 35, 37, 82, 49, 49, 49, 49
1204 };
1205
1206 #define yyerrok (yyerrstatus = 0)
1207@@ -890,17 +895,18 @@ static const yytype_uint8 yystos[] =
1208
1209 #define YYRECOVERING() (!!yyerrstatus)
1210
1211-#define YYBACKUP(Token, Value) \
1212-do \
1213- if (yychar == YYEMPTY && yylen == 1) \
1214- { \
1215- yychar = (Token); \
1216- yylval = (Value); \
1217- YYPOPSTACK (1); \
1218- goto yybackup; \
1219- } \
1220- else \
1221- { \
1222+#define YYBACKUP(Token, Value) \
1223+do \
1224+ if (yychar == YYEMPTY) \
1225+ { \
1226+ yychar = (Token); \
1227+ yylval = (Value); \
1228+ YYPOPSTACK (yylen); \
1229+ yystate = *yyssp; \
1230+ goto yybackup; \
1231+ } \
1232+ else \
1233+ { \
1234 yyerror (YY_("syntax error: cannot back up")); \
1235 YYERROR; \
1236 } \
1237@@ -995,6 +1001,8 @@ yy_symbol_value_print (yyoutput, yytype, yyvaluep)
1238 YYSTYPE const * const yyvaluep;
1239 #endif
1240 {
1241+ FILE *yyo = yyoutput;
1242+ YYUSE (yyo);
1243 if (!yyvaluep)
1244 return;
1245 # ifdef YYPRINT
1246@@ -1246,12 +1254,12 @@ static int
1247 yysyntax_error (YYSIZE_T *yymsg_alloc, char **yymsg,
1248 yytype_int16 *yyssp, int yytoken)
1249 {
1250- YYSIZE_T yysize0 = yytnamerr (0, yytname[yytoken]);
1251+ YYSIZE_T yysize0 = yytnamerr (YY_NULL, yytname[yytoken]);
1252 YYSIZE_T yysize = yysize0;
1253 YYSIZE_T yysize1;
1254 enum { YYERROR_VERBOSE_ARGS_MAXIMUM = 5 };
1255 /* Internationalized format string. */
1256- const char *yyformat = 0;
1257+ const char *yyformat = YY_NULL;
1258 /* Arguments of yyformat. */
1259 char const *yyarg[YYERROR_VERBOSE_ARGS_MAXIMUM];
1260 /* Number of reported tokens (one for the "unexpected", one per
1261@@ -1311,7 +1319,7 @@ yysyntax_error (YYSIZE_T *yymsg_alloc, char **yymsg,
1262 break;
1263 }
1264 yyarg[yycount++] = yytname[yyx];
1265- yysize1 = yysize + yytnamerr (0, yytname[yyx]);
1266+ yysize1 = yysize + yytnamerr (YY_NULL, yytname[yyx]);
1267 if (! (yysize <= yysize1
1268 && yysize1 <= YYSTACK_ALLOC_MAXIMUM))
1269 return 2;
1270@@ -1463,7 +1471,7 @@ yyparse ()
1271 `yyss': related to states.
1272 `yyvs': related to semantic values.
1273
1274- Refer to the stacks thru separate pointers, to allow yyoverflow
1275+ Refer to the stacks through separate pointers, to allow yyoverflow
1276 to reallocate them elsewhere. */
1277
1278 /* The state stack. */
1279@@ -2346,7 +2354,7 @@ yyabortlab:
1280 yyresult = 1;
1281 goto yyreturn;
1282
1283-#if !defined(yyoverflow) || YYERROR_VERBOSE
1284+#if !defined yyoverflow || YYERROR_VERBOSE
1285 /*-------------------------------------------------.
1286 | yyexhaustedlab -- memory exhaustion comes here. |
1287 `-------------------------------------------------*/
1288diff --git a/scripts/genksyms/parse.tab.h_shipped b/scripts/genksyms/parse.tab.h_shipped
1289index 93240a3cdecc..a4737dec4532 100644
1290--- a/scripts/genksyms/parse.tab.h_shipped
1291+++ b/scripts/genksyms/parse.tab.h_shipped
1292@@ -1,8 +1,8 @@
1293-/* A Bison parser, made by GNU Bison 2.5. */
1294+/* A Bison parser, made by GNU Bison 2.5.1. */
1295
1296 /* Bison interface for Yacc-like parsers in C
1297
1298- Copyright (C) 1984, 1989-1990, 2000-2011 Free Software Foundation, Inc.
1299+ Copyright (C) 1984, 1989-1990, 2000-2012 Free Software Foundation, Inc.
1300
1301 This program is free software: you can redistribute it and/or modify
1302 it under the terms of the GNU General Public License as published by
1303@@ -66,18 +66,19 @@
1304 EXPORT_SYMBOL_KEYW = 284,
1305 ASM_PHRASE = 285,
1306 ATTRIBUTE_PHRASE = 286,
1307- BRACE_PHRASE = 287,
1308- BRACKET_PHRASE = 288,
1309- EXPRESSION_PHRASE = 289,
1310- CHAR = 290,
1311- DOTS = 291,
1312- IDENT = 292,
1313- INT = 293,
1314- REAL = 294,
1315- STRING = 295,
1316- TYPE = 296,
1317- OTHER = 297,
1318- FILENAME = 298
1319+ TYPEOF_PHRASE = 287,
1320+ BRACE_PHRASE = 288,
1321+ BRACKET_PHRASE = 289,
1322+ EXPRESSION_PHRASE = 290,
1323+ CHAR = 291,
1324+ DOTS = 292,
1325+ IDENT = 293,
1326+ INT = 294,
1327+ REAL = 295,
1328+ STRING = 296,
1329+ TYPE = 297,
1330+ OTHER = 298,
1331+ FILENAME = 299
1332 };
1333 #endif
1334
1335diff --git a/scripts/genksyms/parse.y b/scripts/genksyms/parse.y
1336index 23c39998ad86..b9f4cf202302 100644
1337--- a/scripts/genksyms/parse.y
1338+++ b/scripts/genksyms/parse.y
1339@@ -103,6 +103,7 @@ static void record_compound(struct string_list **keyw,
1340
1341 %token ASM_PHRASE
1342 %token ATTRIBUTE_PHRASE
1343+%token TYPEOF_PHRASE
1344 %token BRACE_PHRASE
1345 %token BRACKET_PHRASE
1346 %token EXPRESSION_PHRASE
1347@@ -220,8 +221,8 @@ storage_class_specifier:
1348 type_specifier:
1349 simple_type_specifier
1350 | cvar_qualifier
1351- | TYPEOF_KEYW '(' decl_specifier_seq '*' ')'
1352- | TYPEOF_KEYW '(' decl_specifier_seq ')'
1353+ | TYPEOF_KEYW '(' parameter_declaration ')'
1354+ | TYPEOF_PHRASE
1355
1356 /* References to s/u/e's defined elsewhere. Rearrange things
1357 so that it is easier to expand the definition fully later. */
1358--
13592.11.0
1360
diff --git a/meta-fsl-extras/recipes/u-boot/u-boot-script-toradex.bb b/meta-fsl-extras/recipes/u-boot/u-boot-script-toradex.bb
index ac70843..4a0d646 100644
--- a/meta-fsl-extras/recipes/u-boot/u-boot-script-toradex.bb
+++ b/meta-fsl-extras/recipes/u-boot/u-boot-script-toradex.bb
@@ -1,6 +1,6 @@
1############################################################################ 1############################################################################
2## 2##
3## Copyright (C) 2016 The Qt Company Ltd. 3## Copyright (C) 2017 The Qt Company Ltd.
4## Contact: https://www.qt.io/licensing/ 4## Contact: https://www.qt.io/licensing/
5## 5##
6## This file is part of the Boot to Qt meta layer. 6## This file is part of the Boot to Qt meta layer.
@@ -31,7 +31,7 @@ LICENSE = "The-Qt-Company-DCLA-2.1"
31LIC_FILES_CHKSUM = "file://${QT_LICENSE};md5=80e06902b5f0e94ad0a78ee4f7fcb74b" 31LIC_FILES_CHKSUM = "file://${QT_LICENSE};md5=80e06902b5f0e94ad0a78ee4f7fcb74b"
32DEPENDS = "u-boot-mkimage-native" 32DEPENDS = "u-boot-mkimage-native"
33 33
34PV = "v2.6" 34PV = "2.7"
35 35
36SRC_URI = " \ 36SRC_URI = " \
37 file://fwd_mmc.scr \ 37 file://fwd_mmc.scr \
@@ -59,8 +59,8 @@ addtask mkimage after do_compile before do_install
59do_deploy () { 59do_deploy () {
60 install -d ${DEPLOYDIR}/${MACHINE} 60 install -d ${DEPLOYDIR}/${MACHINE}
61 install -m 0644 -t ${DEPLOYDIR} ${S}/*.img 61 install -m 0644 -t ${DEPLOYDIR} ${S}/*.img
62 ln -s ../flash_blk.img ${DEPLOYDIR}/${MACHINE}/ 62 ln -fs ../flash_blk.img ${DEPLOYDIR}/${MACHINE}/
63 ln -s ../flash_eth.img ${DEPLOYDIR}/${MACHINE}/ 63 ln -fs ../flash_eth.img ${DEPLOYDIR}/${MACHINE}/
64} 64}
65 65
66addtask deploy after do_install before do_build 66addtask deploy after do_install before do_build
diff --git a/meta-fsl-extras/recipes/u-boot/u-boot-script-toradex/apalis-imx6/0001-Update-only-u-boot.patch b/meta-fsl-extras/recipes/u-boot/u-boot-script-toradex/apalis-imx6/0001-Update-only-u-boot.patch
deleted file mode 100644
index 5c62eb1..0000000
--- a/meta-fsl-extras/recipes/u-boot/u-boot-script-toradex/apalis-imx6/0001-Update-only-u-boot.patch
+++ /dev/null
@@ -1,60 +0,0 @@
1From 262b1dcc5f886ceb1944c8db3c1072c98d45a56e Mon Sep 17 00:00:00 2001
2From: Samuli Piippo <samuli.piippo@qt.io>
3Date: Wed, 14 Sep 2016 10:11:32 +0300
4Subject: [PATCH] Update only u-boot
5
6---
7 flash_blk.scr | 8 ++++----
8 flash_eth.scr | 8 ++++----
9 2 files changed, 8 insertions(+), 8 deletions(-)
10
11diff --git a/flash_blk.scr b/flash_blk.scr
12index 800383c..398c4de 100644
13--- a/flash_blk.scr
14+++ b/flash_blk.scr
15@@ -30,16 +30,16 @@ setenv update_2 'load ${interface} ${drive}:1 ${loadaddr} ${board_name}/boot.vfa
16 #do it in chunks of 64M to fit into DDR RAM of the smallest module
17 setenv update_3 'setenv filesize 4000000; setenv filepos 0; setenv blkstart a000; while test ${filesize} -eq "4000000"; do run cp_file_chunk; run set_nextpos; done; true'
18
19-setenv echo_migrate echo "successfully updated U-Boot, power-cycle and enter \"run setupdate\; run migrate\" to complete update"
20-setenv echo_migrate-it echo "successfully updated U-Boot, power-cycle and enter \"run setupdate\; run migrate_it\" to complete update"
21+setenv echo_migrate echo "successfully updated U-Boot"
22+setenv echo_migrate-it echo "successfully updated U-Boot"
23 setenv migrate 'run migrate_configblock; run update_latest; reset'
24 setenv migrate_it 'setenv module_type -it; run migrate'
25 setenv update_v2.4b1 'run check_configblock || run migrate_configblock; run migrate_uboot_old && run echo_migrate${module_type}'
26 setenv update_v2.5b3 'run check_configblock || run migrate_configblock; run migrate_uboot && run echo_migrate${module_type}'
27
28 setenv update_latest 'run update_uboot; run update_1; run update_2; run update_kernel; run update_fdt; run update_3'
29-setenv update_new 'updt_fuse -n && run update_latest && reset; run update_v2.5b3'
30+setenv update_new 'updt_fuse -n && run update_uboot && reset; run update_v2.5b3'
31 setenv update 'mmc bootbus 0 2 0 1 && run update_new && exit; run update_v2.4b1'
32 setenv update_it 'setenv module_type -it; run update'
33
34-echo 'enter "run update" or "run update_it" to update the entire module'
35+echo 'enter "run update" or "run update_it" to update the uboot'
36diff --git a/flash_eth.scr b/flash_eth.scr
37index 804c924..2f64288 100644
38--- a/flash_eth.scr
39+++ b/flash_eth.scr
40@@ -31,16 +31,16 @@ setenv update_2 'tftpboot ${loadaddr} ${board_name}/boot.vfat && run set_blkcnt
41 #split -a 2 -b `expr 64 \* 1024 \* 1024` --numeric-suffixes=10 root.ext3 root.ext3-
42 setenv update_3 'setenv filesize 4000000; setenv filenum 10; setenv blkstart a000; while test ${filesize} -eq "4000000"; do run cp_file_chunk; run set_nextnum; done; true'
43
44-setenv echo_migrate echo "successfully updated U-Boot, power-cycle and enter \"run setupdate\; run migrate\" to complete update"
45-setenv echo_migrate-it echo "successfully updated U-Boot, power-cycle and enter \"run setupdate\; run migrate_it\" to complete update"
46+setenv echo_migrate echo "successfully updated U-Boot"
47+setenv echo_migrate-it echo "successfully updated U-Boot"
48 setenv migrate 'run migrate_configblock; run update_latest; reset'
49 setenv migrate_it 'setenv module_type -it; run migrate'
50 setenv update_v2.4b1 'run check_configblock || run migrate_configblock; run migrate_uboot_old && run echo_migrate${module_type}'
51 setenv update_v2.5b3 'run check_configblock || run migrate_configblock; run migrate_uboot && run echo_migrate${module_type}'
52
53 setenv update_latest 'run update_uboot; run update_1; run update_2; run update_kernel; run update_fdt; run update_3'
54-setenv update_new 'updt_fuse -n && run update_latest && reset; run update_v2.5b3'
55+setenv update_new 'updt_fuse -n && run update_uboot && reset; run update_v2.5b3'
56 setenv update 'mmc bootbus 0 2 0 1 && run update_new && exit; run update_v2.4b1'
57 setenv update_it 'setenv module_type -it; run update'
58
59-echo 'enter "run update" or "run update_it" to update the entire module'
60+echo 'enter "run update" or "run update_it" to update the uboot'
diff --git a/meta-fsl-extras/recipes/u-boot/u-boot-script-toradex/apalis-imx6/flash_blk.scr b/meta-fsl-extras/recipes/u-boot/u-boot-script-toradex/apalis-imx6/flash_blk.scr
deleted file mode 100644
index 398c4de..0000000
--- a/meta-fsl-extras/recipes/u-boot/u-boot-script-toradex/apalis-imx6/flash_blk.scr
+++ /dev/null
@@ -1,45 +0,0 @@
1test -n ${interface} || setenv interface mmc
2test -n ${drive} || setenv drive 1
3
4setenv set_blkcnt 'setexpr blkcnt ${filesize} + 0x1ff && setexpr blkcnt ${blkcnt} / 0x200'
5setenv set_nextpos 'setexpr filepos ${filepos} + ${filesize}; setexpr blkstart ${blkstart} + ${blkcnt}'
6
7setenv check_1 'setenv conf_blk_offset 0x1fff; mmc read ${loadaddr} ${conf_blk_offset} 1'
8setenv check_2 'setenv conf_blk_offset 0xfff; mmc read ${loadaddr} ${conf_blk_offset} 1'
9setenv check_3 'setenv conf_blk_offset 0x7ff; mmc read ${loadaddr} ${conf_blk_offset} 1'
10setenv check_configblock 'setexpr toradex_oui_addr ${loadaddr} + 8; mw.l ${kernel_addr_r} 0x002d1400; mmc dev 0 1; run check_1 || run check_2 || run check_3; cmp.b ${kernel_addr_r} ${toradex_oui_addr} 3'
11
12setenv migrate_configblock 'run check_configblock; mmc dev 0 0 && mmc read ${loadaddr} 0x500 1 && cmp.b ${kernel_addr_r} ${toradex_oui_addr} 3 && mmc dev 0 1 && mmc write ${loadaddr} ${conf_blk_offset} 1'
13
14setenv migrate_uboot_old 'load ${interface} ${drive}:1 ${loadaddr} ${board_name}/u-boot.imx${module_type} && run set_blkcnt && mmc dev 0 0 && mmc write ${loadaddr} 2 ${blkcnt}'
15setenv migrate_uboot 'load ${interface} ${drive}:1 ${loadaddr} ${board_name}/u-boot.imx${module_type} && run set_blkcnt && mmc dev 0 1 && mmc write ${loadaddr} 2 ${blkcnt} && mmc bootbus 0 2 1 2 && mmc partconf 0 1 1 0'
16
17setenv cp_file_chunk 'load ${interface} ${drive}:1 ${loadaddr} ${board_name}/root.ext3 ${filesize} ${filepos}; run set_blkcnt; mmc dev 0 0 && mmc write ${loadaddr} ${blkstart} ${blkcnt}'
18
19setenv update_uboot 'load ${interface} ${drive}:1 ${loadaddr} ${board_name}/u-boot.imx${module_type} && run set_blkcnt && mmc dev 0 1 && mmc write ${loadaddr} 2 ${blkcnt} && updt_fuse && mmc bootbus 0 2 0 1 && mmc partconf 0 1 1 0 && mmc rst-function 0 1'
20setenv update_uboot_it 'setenv module_type -it; run update_uboot'
21
22setenv update_kernel 'load ${interface} ${drive}:1 ${loadaddr} ${board_name}/uImage && fatwrite mmc 0:1 ${loadaddr} uImage ${filesize}'
23
24setenv update_fdt 'load ${interface} ${drive}:1 ${loadaddr} ${board_name}/${fdt_file} && fatwrite mmc 0:1 ${loadaddr} ${fdt_file} ${filesize}'
25
26setenv update_configblock 'run check_configblock; load ${interface} ${drive}:1 ${loadaddr} ${board_name}/configblock.bin && mmc dev 0 1 && mmc write ${loadaddr} ${conf_blk_offset} 1'
27
28setenv update_1 'load ${interface} ${drive}:1 ${loadaddr} ${board_name}/mbr.bin && mmc dev 0 0 && mmc write ${loadaddr} 0x0 0x1'
29setenv update_2 'load ${interface} ${drive}:1 ${loadaddr} ${board_name}/boot.vfat && run set_blkcnt && mmc dev 0 0 && mmc write ${loadaddr} 0x2000 ${blkcnt}'
30#do it in chunks of 64M to fit into DDR RAM of the smallest module
31setenv update_3 'setenv filesize 4000000; setenv filepos 0; setenv blkstart a000; while test ${filesize} -eq "4000000"; do run cp_file_chunk; run set_nextpos; done; true'
32
33setenv echo_migrate echo "successfully updated U-Boot, power-cycle and enter \"run setupdate\; run migrate\" to complete update"
34setenv echo_migrate-it echo "successfully updated U-Boot, power-cycle and enter \"run setupdate\; run migrate_it\" to complete update"
35setenv migrate 'run migrate_configblock; run update_latest; reset'
36setenv migrate_it 'setenv module_type -it; run migrate'
37setenv update_v2.4b1 'run check_configblock || run migrate_configblock; run migrate_uboot_old && run echo_migrate${module_type}'
38setenv update_v2.5b3 'run check_configblock || run migrate_configblock; run migrate_uboot && run echo_migrate${module_type}'
39
40setenv update_latest 'run update_uboot; run update_1; run update_2; run update_kernel; run update_fdt; run update_3'
41setenv update_new 'updt_fuse -n && run update_latest && reset; run update_v2.5b3'
42setenv update 'mmc bootbus 0 2 0 1 && run update_new && exit; run update_v2.4b1'
43setenv update_it 'setenv module_type -it; run update'
44
45echo 'enter "run update" or "run update_it" to update the entire module'
diff --git a/meta-fsl-extras/recipes/u-boot/u-boot-script-toradex/apalis-imx6/flash_eth.scr b/meta-fsl-extras/recipes/u-boot/u-boot-script-toradex/apalis-imx6/flash_eth.scr
deleted file mode 100644
index 2f64288..0000000
--- a/meta-fsl-extras/recipes/u-boot/u-boot-script-toradex/apalis-imx6/flash_eth.scr
+++ /dev/null
@@ -1,46 +0,0 @@
1setenv set_blkcnt 'setexpr blkcnt ${filesize} + 0x1ff && setexpr blkcnt ${blkcnt} / 0x200'
2#workaround U-Boot counting in hex and split did in decimal
3setenv incr_decimal 'setexpr filenum ${filenum} + 1; setexpr filenrlow ${filenum} % 0x10; test ${filenrlow} -eq "a" && setexpr filenum ${filenum} + 0x6; true'
4setenv set_nextnum 'run incr_decimal; setexpr blkstart ${blkstart} + ${blkcnt}'
5
6setenv check_1 'setenv conf_blk_offset 0x1fff; mmc read ${loadaddr} ${conf_blk_offset} 1'
7setenv check_2 'setenv conf_blk_offset 0xfff; mmc read ${loadaddr} ${conf_blk_offset} 1'
8setenv check_3 'setenv conf_blk_offset 0x7ff; mmc read ${loadaddr} ${conf_blk_offset} 1'
9setenv check_configblock 'setexpr toradex_oui_addr ${loadaddr} + 8; mw.l ${kernel_addr_r} 0x002d1400; mmc dev 0 1; run check_1 || run check_2 || run check_3; cmp.b ${kernel_addr_r} ${toradex_oui_addr} 3'
10
11setenv migrate_configblock 'run check_configblock; mmc dev 0 0 && mmc read ${loadaddr} 0x500 1 && cmp.b ${kernel_addr_r} ${toradex_oui_addr} 3 && mmc dev 0 1 && mmc write ${loadaddr} ${conf_blk_offset} 1'
12
13setenv migrate_uboot_old 'tftpboot ${loadaddr} ${board_name}/u-boot.imx${module_type} && run set_blkcnt && mmc dev 0 0 && mmc write ${loadaddr} 2 ${blkcnt}'
14setenv migrate_uboot 'tftpboot ${loadaddr} ${board_name}/u-boot.imx${module_type} && run set_blkcnt && mmc dev 0 1 && mmc write ${loadaddr} 2 ${blkcnt} && mmc bootbus 0 2 1 2 && mmc partconf 0 1 1 0'
15
16setenv cp_file_chunk 'tftpboot ${loadaddr} ${board_name}/root.ext3-${filenum}; run set_blkcnt; mmc dev 0 0 && mmc write ${loadaddr} ${blkstart} ${blkcnt}'
17
18setenv update_uboot 'tftpboot ${loadaddr} ${board_name}/u-boot.imx${module_type} && run set_blkcnt && mmc dev 0 1 && mmc write ${loadaddr} 2 ${blkcnt} && updt_fuse && mmc bootbus 0 2 0 1 && mmc partconf 0 1 1 0 && mmc rst-function 0 1'
19setenv update_uboot_it 'setenv module_type -it; run update_uboot'
20
21setenv update_kernel 'tftpboot ${loadaddr} ${board_name}/uImage && fatwrite mmc 0:1 ${loadaddr} uImage ${filesize}'
22
23setenv update_fdt 'tftpboot ${loadaddr} ${board_name}/${fdt_file} && fatwrite mmc 0:1 ${loadaddr} ${fdt_file} ${filesize}'
24
25setenv update_configblock 'run check_configblock; tftpboot ${loadaddr} ${board_name}/configblock.bin && mmc dev 0 1 && mmc write ${loadaddr} ${conf_blk_offset} 1'
26
27setenv update_1 'tftpboot ${loadaddr} ${board_name}/mbr.bin && mmc dev 0 0 && mmc write ${loadaddr} 0x0 0x1'
28setenv update_2 'tftpboot ${loadaddr} ${board_name}/boot.vfat && run set_blkcnt && mmc dev 0 0 && mmc write ${loadaddr} 0x2000 ${blkcnt}'
29#do it in chunks of 64M to fit into DDR RAM of the smallest module
30#split root.ext3 into multiple 64M chunks before copying to TFTP folder as follows
31#split -a 2 -b `expr 64 \* 1024 \* 1024` --numeric-suffixes=10 root.ext3 root.ext3-
32setenv update_3 'setenv filesize 4000000; setenv filenum 10; setenv blkstart a000; while test ${filesize} -eq "4000000"; do run cp_file_chunk; run set_nextnum; done; true'
33
34setenv echo_migrate echo "successfully updated U-Boot, power-cycle and enter \"run setupdate\; run migrate\" to complete update"
35setenv echo_migrate-it echo "successfully updated U-Boot, power-cycle and enter \"run setupdate\; run migrate_it\" to complete update"
36setenv migrate 'run migrate_configblock; run update_latest; reset'
37setenv migrate_it 'setenv module_type -it; run migrate'
38setenv update_v2.4b1 'run check_configblock || run migrate_configblock; run migrate_uboot_old && run echo_migrate${module_type}'
39setenv update_v2.5b3 'run check_configblock || run migrate_configblock; run migrate_uboot && run echo_migrate${module_type}'
40
41setenv update_latest 'run update_uboot; run update_1; run update_2; run update_kernel; run update_fdt; run update_3'
42setenv update_new 'updt_fuse -n && run update_latest && reset; run update_v2.5b3'
43setenv update 'mmc bootbus 0 2 0 1 && run update_new && exit; run update_v2.4b1'
44setenv update_it 'setenv module_type -it; run update'
45
46echo 'enter "run update" or "run update_it" to update the entire module'
diff --git a/meta-fsl-extras/recipes/u-boot/u-boot-script-toradex/colibri-imx6/0001-Update-only-u-boot.patch b/meta-fsl-extras/recipes/u-boot/u-boot-script-toradex/colibri-imx6/0001-Update-only-u-boot.patch
deleted file mode 100644
index cf01d59..0000000
--- a/meta-fsl-extras/recipes/u-boot/u-boot-script-toradex/colibri-imx6/0001-Update-only-u-boot.patch
+++ /dev/null
@@ -1,52 +0,0 @@
1From 40445299edb425159c30609e1ab7172801535a43 Mon Sep 17 00:00:00 2001
2From: Samuli Piippo <samuli.piippo@qt.io>
3Date: Wed, 14 Sep 2016 10:17:02 +0300
4Subject: [PATCH] Update only u-boot
5
6---
7 flash_blk.scr | 6 +++---
8 flash_eth.scr | 6 +++---
9 2 files changed, 6 insertions(+), 6 deletions(-)
10
11diff --git a/flash_blk.scr b/flash_blk.scr
12index a60a7a5..23c5b72 100644
13--- a/flash_blk.scr
14+++ b/flash_blk.scr
15@@ -29,13 +29,13 @@ setenv update_2 'load ${interface} ${drive}:1 ${loadaddr} ${board_name}/boot.vfa
16 #do it in chunks of 64M to fit into DDR RAM of the smallest module
17 setenv update_3 'setenv filesize 4000000; setenv filepos 0; setenv blkstart a000; while test ${filesize} -eq "4000000"; do run cp_file_chunk; run set_nextpos; done; true'
18
19-setenv echo_migrate echo "successfully updated U-Boot, power-cycle and enter \"run setupdate\; run migrate\" to complete update"
20+setenv echo_migrate echo "successfully updated U-Boot"
21 setenv migrate 'run migrate_configblock; run update_latest; reset'
22 setenv update_v2.4b1 'run check_configblock || run migrate_configblock; run migrate_uboot_old && run echo_migrate'
23 setenv update_v2.5b3 'run check_configblock || run migrate_configblock; run migrate_uboot && run echo_migrate'
24
25 setenv update_latest 'run update_uboot; run update_1; run update_2; run update_kernel; run update_fdt; run update_3'
26-setenv update_new 'updt_fuse -n && run update_latest && reset; run update_v2.5b3'
27+setenv update_new 'updt_fuse -n && run update_uboot && reset; run update_v2.5b3'
28 setenv update 'mmc bootbus 0 2 0 1 && run update_new && exit; run update_v2.4b1'
29
30-echo 'enter "run update" to update the entire module'
31+echo 'enter "run update" to update the uboot'
32diff --git a/flash_eth.scr b/flash_eth.scr
33index a3906b2..14f4104 100644
34--- a/flash_eth.scr
35+++ b/flash_eth.scr
36@@ -30,13 +30,13 @@ setenv update_2 'tftpboot ${loadaddr} ${board_name}/boot.vfat && run set_blkcnt
37 #split -a 2 -b `expr 64 \* 1024 \* 1024` --numeric-suffixes=10 root.ext3 root.ext3-
38 setenv update_3 'setenv filesize 4000000; setenv filenum 10; setenv blkstart a000; while test ${filesize} -eq "4000000"; do run cp_file_chunk; run set_nextnum; done; true'
39
40-setenv echo_migrate echo "successfully updated U-Boot, power-cycle and enter \"run setupdate\; run migrate\" to complete update"
41+setenv echo_migrate echo "successfully updated U-Boot"
42 setenv migrate 'run migrate_configblock; run update_latest; reset'
43 setenv update_v2.4b1 'run check_configblock || run migrate_configblock; run migrate_uboot_old && run echo_migrate'
44 setenv update_v2.5b3 'run check_configblock || run migrate_configblock; run migrate_uboot && run echo_migrate'
45
46 setenv update_latest 'run update_uboot; run update_1; run update_2; run update_kernel; run update_fdt; run update_3'
47-setenv update_new 'updt_fuse -n && run update_latest && reset; run update_v2.5b3'
48+setenv update_new 'updt_fuse -n && run update_uboot && reset; run update_v2.5b3'
49 setenv update 'mmc bootbus 0 2 0 1 && run update_new && exit; run update_v2.4b1'
50
51-echo 'enter "run update" to update the entire module'
52+echo 'enter "run update" to update the uboot'
diff --git a/meta-fsl-extras/recipes/u-boot/u-boot-script-toradex/colibri-imx7/0001-Update-only-u-boot.patch b/meta-fsl-extras/recipes/u-boot/u-boot-script-toradex/colibri-imx7/0001-Update-only-u-boot.patch
index 08ddd88..932f228 100644
--- a/meta-fsl-extras/recipes/u-boot/u-boot-script-toradex/colibri-imx7/0001-Update-only-u-boot.patch
+++ b/meta-fsl-extras/recipes/u-boot/u-boot-script-toradex/colibri-imx7/0001-Update-only-u-boot.patch
@@ -12,25 +12,25 @@ diff --git a/flash_blk.scr b/flash_blk.scr
12index cc4cf38..b63366a 100644 12index cc4cf38..b63366a 100644
13--- a/flash_blk.scr 13--- a/flash_blk.scr
14+++ b/flash_blk.scr 14+++ b/flash_blk.scr
15@@ -14,6 +14,6 @@ setenv update_rootfs 'fatload ${interface} 0:1 ${loadaddr} ${board_name}/ubifs.i 15@@ -15,7 +15,7 @@ setenv update_fdt 'fatload ${interface} 0:1 ${loadaddr} ${board_name}/${soc}-col
16 setenv update_rootfs 'fatload ${interface} 0:1 ${loadaddr} ${board_name}/ubifs.img && ubi write ${loadaddr} rootfs ${filesize}'
16 17
17 setenv upgrade_alpha1_msg 'Updated U-Boot, please reset the board and use "run setupdate && run update" again.' 18 # Test which version of U-Boot we are currently running on
18 setenv prepare_alpha1_uboot 'if test "${soc}" = "mx7"; then run update_uboot && echo ${upgrade_alpha1_msg} && reset; fi' 19-setenv update 'mtdparts default && env default -f updlevel && if test $updlevel -lt 1; then; run update_uboot_old; else; run update_uboot && run prepare_ubi && run update_kernel && run update_fdt && run update_rootfs && reset; fi'
19-setenv update 'mtdparts default && run prepare_alpha1_uboot; run update_uboot && run prepare_ubi && run update_kernel && run update_fdt && run update_rootfs && reset' 20+setenv update 'mtdparts default && env default -f updlevel && if test $updlevel -lt 1; then; run update_uboot_old; else; run update_uboot; fi'
20+setenv update 'mtdparts default && run update_uboot && reset'
21 21
22-echo 'enter "run update" to update the entire module' 22 if itest.b *0x30360800 -lt 0x11; then
23+echo 'enter "run update" to update the uboot' 23 echo &&
24diff --git a/flash_eth.scr b/flash_eth.scr 24diff --git a/flash_eth.scr b/flash_eth.scr
25index 01be124..13025de 100644 25index 01be124..13025de 100644
26--- a/flash_eth.scr 26--- a/flash_eth.scr
27+++ b/flash_eth.scr 27+++ b/flash_eth.scr
28@@ -14,6 +14,6 @@ setenv update_rootfs 'tftpboot ${loadaddr} ${board_name}/ubifs.img && ubi write 28@@ -15,7 +15,7 @@ setenv update_fdt 'tftpboot ${loadaddr} ${board_name}/${soc}-colibri-${fdt_board
29 setenv update_rootfs 'tftpboot ${loadaddr} ${board_name}/ubifs.img && ubi write ${loadaddr} rootfs ${filesize}'
29 30
30 setenv upgrade_alpha1_msg 'Updated U-Boot, please reset the board and use "run setupdate && run update" again.' 31 # Test which version of U-Boot we are currently running on
31 setenv prepare_alpha1_uboot 'if test "${soc}" = "mx7"; then run update_uboot && echo ${upgrade_alpha1_msg} && reset; fi' 32-setenv update 'mtdparts default && env default -f updlevel && if test $updlevel -lt 1; then; run update_uboot_old; else; run update_uboot && run prepare_ubi && run update_kernel && run update_fdt && run update_rootfs && reset; fi'
32-setenv update 'mtdparts default && run prepare_alpha1_uboot; run update_uboot && run prepare_ubi && run update_kernel && run update_fdt && run update_rootfs && reset' 33+setenv update 'mtdparts default && env default -f updlevel && if test $updlevel -lt 1; then; run update_uboot_old; else; run update_uboot && reset; fi'
33+setenv update 'mtdparts default && run update_uboot && reset'
34 34
35-echo 'enter "run update" to update the entire module' 35 if itest.b *0x30360800 -lt 0x11; then
36+echo 'enter "run update" to update the uboot' 36 echo &&
diff --git a/meta-fsl-extras/recipes/u-boot/u-boot-script-toradex/colibri-imx7/flash_blk.scr b/meta-fsl-extras/recipes/u-boot/u-boot-script-toradex/colibri-imx7/flash_blk.scr
index b63366a..f1e73bb 100644
--- a/meta-fsl-extras/recipes/u-boot/u-boot-script-toradex/colibri-imx7/flash_blk.scr
+++ b/meta-fsl-extras/recipes/u-boot/u-boot-script-toradex/colibri-imx7/flash_blk.scr
@@ -1,5 +1,5 @@
1setenv create_bcb 'nand erase.part mx7-bcb && writebcb 80000 200000' 1setenv create_bcb 'nand erase.part mx7-bcb && writebcb 80000 200000'
2setenv update_configblock 'fatload ${interface} 0:1 ${loadaddr} ${board_name}/configblock.bin && nand write ${loadaddr} 0x800 ${filesize} && nand write ${loadaddr} 0x20800 ${filesize}' 2setenv recreate_bcb 'nand read ${loadaddr} 0x800 0x800 && run create_bcb && nand write ${loadaddr} 0x800 0x800'
3 3
4# Migrate to UBI volume based boot schema 4# Migrate to UBI volume based boot schema
5setenv prepare_kernel_fdt 'ubi create kernel 0x800000 static && ubi create dtb 0x20000 static' 5setenv prepare_kernel_fdt 'ubi create kernel 0x800000 static && ubi create dtb 0x20000 static'
@@ -7,13 +7,23 @@ setenv prepare_m4firmware 'ubi create m4firmware 0xe0000 static'
7setenv prepare_rootfs 'ubi create rootfs 0 dynamic' 7setenv prepare_rootfs 'ubi create rootfs 0 dynamic'
8setenv prepare_ubi 'ubi part ubi && if ubi check rootfs; then if ubi check kernel; then else ubi remove rootfs && run prepare_kernel_fdt && run prepare_m4firmware && run prepare_rootfs; fi; else run prepare_kernel_fdt && run prepare_m4firmware && run prepare_rootfs; fi' 8setenv prepare_ubi 'ubi part ubi && if ubi check rootfs; then if ubi check kernel; then else ubi remove rootfs && run prepare_kernel_fdt && run prepare_m4firmware && run prepare_rootfs; fi; else run prepare_kernel_fdt && run prepare_m4firmware && run prepare_rootfs; fi'
9 9
10setenv update_uboot 'fatload ${interface} 0:1 ${loadaddr} ${board_name}/u-boot-nand.imx && nand erase.part u-boot && nand erase.part u-boot-env && writeboot ${loadaddr} 80000 200000 $filesize' 10setenv upgrade_msg 'echo && echo "Upgraded U-Boot, please reset the board and complete update with" && echo "# run setupdate && run recreate_bcb && run update" && echo && echo "(note the recreate_bcb command in between!)"'
11setenv update_uboot_old 'fatload ${interface} 0:1 ${loadaddr} ${board_name}/u-boot-nand.imx && nand erase.part u-boot && nand erase.part u-boot-env && writeboot ${loadaddr} 80000 200000 $filesize && nand erase.part u-boot-env && nand erase.part ubi && run upgrade_msg'
12setenv update_uboot 'fatload ${interface} 0:1 ${loadaddr} ${board_name}/u-boot-nand.imx && nand erase.part u-boot1 && nand write ${loadaddr} u-boot1 ${filesize} && nand erase.part u-boot2 && nand write ${loadaddr} u-boot2 ${filesize}'
11setenv update_kernel 'fatload ${interface} 0:1 ${loadaddr} ${board_name}/zImage && ubi write ${loadaddr} kernel ${filesize}' 13setenv update_kernel 'fatload ${interface} 0:1 ${loadaddr} ${board_name}/zImage && ubi write ${loadaddr} kernel ${filesize}'
12setenv update_fdt 'fatload ${interface} 0:1 ${loadaddr} ${board_name}/${soc}-colibri-${fdt_board}.dtb && ubi write ${loadaddr} dtb ${filesize}' 14setenv update_fdt 'fatload ${interface} 0:1 ${loadaddr} ${board_name}/${soc}-colibri-${fdt_board}.dtb && ubi write ${loadaddr} dtb ${filesize}'
13setenv update_rootfs 'fatload ${interface} 0:1 ${loadaddr} ${board_name}/ubifs.img && ubi write ${loadaddr} rootfs ${filesize}' 15setenv update_rootfs 'fatload ${interface} 0:1 ${loadaddr} ${board_name}/ubifs.img && ubi write ${loadaddr} rootfs ${filesize}'
14 16
15setenv upgrade_alpha1_msg 'Updated U-Boot, please reset the board and use "run setupdate && run update" again.' 17# Test which version of U-Boot we are currently running on
16setenv prepare_alpha1_uboot 'if test "${soc}" = "mx7"; then run update_uboot && echo ${upgrade_alpha1_msg} && reset; fi' 18setenv update 'mtdparts default && env default -f updlevel && if test $updlevel -lt 1; then; run update_uboot_old; else; run update_uboot && run prepare_ubi && run update_kernel && run update_fdt && run update_rootfs && reset; fi'
17setenv update 'mtdparts default && run prepare_alpha1_uboot; run update_uboot && run prepare_ubi && run update_kernel && run update_fdt && run update_rootfs && reset'
18 19
20if itest.b *0x30360800 -lt 0x11; then
21echo &&
22echo 'NOTE: The U-Boot provided with this BSP version does not support the' &&
23echo 'early tapeout/stepping of i.MX 7 used on your module. You still can' &&
24echo 'update the kernel/device-tree/rootfs manually using: ' &&
25echo '# run prepare_ubi && run update_kernel && run update_fdt && run update_rootfs' &&
26echo && setenv update_uboot; setenv update_uboot_old; setenv update
27else
19echo 'enter "run update" to update the entire module' 28echo 'enter "run update" to update the entire module'
29fi
diff --git a/meta-fsl-extras/recipes/u-boot/u-boot-script-toradex/colibri-imx7/flash_eth.scr b/meta-fsl-extras/recipes/u-boot/u-boot-script-toradex/colibri-imx7/flash_eth.scr
index 13025de..66cd29d 100644
--- a/meta-fsl-extras/recipes/u-boot/u-boot-script-toradex/colibri-imx7/flash_eth.scr
+++ b/meta-fsl-extras/recipes/u-boot/u-boot-script-toradex/colibri-imx7/flash_eth.scr
@@ -1,5 +1,5 @@
1setenv create_bcb 'nand erase.part mx7-bcb && writebcb 80000 200000' 1setenv create_bcb 'nand erase.part mx7-bcb && writebcb 80000 200000'
2setenv update_configblock 'tftpboot ${loadaddr} ${board_name}/configblock.bin && nand write ${loadaddr} 0x800 ${filesize} && nand write ${loadaddr} 0x20800 ${filesize}' 2setenv recreate_bcb 'nand read ${loadaddr} 0x800 0x800 && run create_bcb && nand write ${loadaddr} 0x800 0x800'
3 3
4# Migrate to UBI volume based boot schema 4# Migrate to UBI volume based boot schema
5setenv prepare_kernel_fdt 'ubi create kernel 0x800000 static && ubi create dtb 0x20000 static' 5setenv prepare_kernel_fdt 'ubi create kernel 0x800000 static && ubi create dtb 0x20000 static'
@@ -7,13 +7,23 @@ setenv prepare_m4firmware 'ubi create m4firmware 0xe0000 static'
7setenv prepare_rootfs 'ubi create rootfs 0 dynamic' 7setenv prepare_rootfs 'ubi create rootfs 0 dynamic'
8setenv prepare_ubi 'ubi part ubi && if ubi check rootfs; then if ubi check kernel; then else ubi remove rootfs && run prepare_kernel_fdt && run prepare_m4firmware && run prepare_rootfs; fi; else run prepare_kernel_fdt && run prepare_m4firmware && run prepare_rootfs; fi' 8setenv prepare_ubi 'ubi part ubi && if ubi check rootfs; then if ubi check kernel; then else ubi remove rootfs && run prepare_kernel_fdt && run prepare_m4firmware && run prepare_rootfs; fi; else run prepare_kernel_fdt && run prepare_m4firmware && run prepare_rootfs; fi'
9 9
10setenv update_uboot 'tftpboot ${loadaddr} ${board_name}/u-boot-nand.imx && nand erase.part u-boot && nand erase.part u-boot-env && writeboot ${loadaddr} 80000 200000 $filesize' 10setenv upgrade_msg 'echo && echo "Upgraded U-Boot, please reset the board and complete update with" && echo "# run setupdate && run recreate_bcb && run update" && echo && echo "(note the recreate_bcb command in between!)"'
11setenv update_uboot_old 'tftpboot ${loadaddr} ${board_name}/u-boot-nand.imx && nand erase.part u-boot && nand erase.part u-boot-env && writeboot ${loadaddr} 80000 200000 $filesize && nand erase.part u-boot-env && nand erase.part ubi && run upgrade_msg'
12setenv update_uboot 'tftpboot ${loadaddr} ${board_name}/u-boot-nand.imx && nand erase.part u-boot1 && nand write ${loadaddr} u-boot1 ${filesize} && nand erase.part u-boot2 && nand write ${loadaddr} u-boot2 ${filesize}'
11setenv update_kernel 'tftpboot ${loadaddr} ${board_name}/zImage && ubi write ${loadaddr} kernel ${filesize}' 13setenv update_kernel 'tftpboot ${loadaddr} ${board_name}/zImage && ubi write ${loadaddr} kernel ${filesize}'
12setenv update_fdt 'tftpboot ${loadaddr} ${board_name}/${soc}-colibri-${fdt_board}.dtb && ubi write ${loadaddr} dtb ${filesize}' 14setenv update_fdt 'tftpboot ${loadaddr} ${board_name}/${soc}-colibri-${fdt_board}.dtb && ubi write ${loadaddr} dtb ${filesize}'
13setenv update_rootfs 'tftpboot ${loadaddr} ${board_name}/ubifs.img && ubi write ${loadaddr} rootfs ${filesize}' 15setenv update_rootfs 'tftpboot ${loadaddr} ${board_name}/ubifs.img && ubi write ${loadaddr} rootfs ${filesize}'
14 16
15setenv upgrade_alpha1_msg 'Updated U-Boot, please reset the board and use "run setupdate && run update" again.' 17# Test which version of U-Boot we are currently running on
16setenv prepare_alpha1_uboot 'if test "${soc}" = "mx7"; then run update_uboot && echo ${upgrade_alpha1_msg} && reset; fi' 18setenv update 'mtdparts default && env default -f updlevel && if test $updlevel -lt 1; then; run update_uboot_old; else; run update_uboot && run prepare_ubi && run update_kernel && run update_fdt && run update_rootfs && reset; fi'
17setenv update 'mtdparts default && run prepare_alpha1_uboot; run update_uboot && run prepare_ubi && run update_kernel && run update_fdt && run update_rootfs && reset'
18 19
20if itest.b *0x30360800 -lt 0x11; then
21echo &&
22echo 'NOTE: The U-Boot provided with this BSP version does not support the' &&
23echo 'early tapeout/stepping of i.MX 7 used on your module. You still can' &&
24echo 'update the kernel/device-tree/rootfs manually using: ' &&
25echo '# run prepare_ubi && run update_kernel && run update_fdt && run update_rootfs' &&
26echo && setenv update_uboot; setenv update_uboot_old; setenv update
27else
19echo 'enter "run update" to update the entire module' 28echo 'enter "run update" to update the entire module'
29fi
diff --git a/meta-fsl-extras/recipes/u-boot/u-boot-script-toradex/mx6/0001-Update-only-u-boot.patch b/meta-fsl-extras/recipes/u-boot/u-boot-script-toradex/mx6/0001-Update-only-u-boot.patch
new file mode 100644
index 0000000..a1e70ba
--- /dev/null
+++ b/meta-fsl-extras/recipes/u-boot/u-boot-script-toradex/mx6/0001-Update-only-u-boot.patch
@@ -0,0 +1,22 @@
1From 25c3ac90c9d0313e4f7d99a68886f8f43d5a0b52 Mon Sep 17 00:00:00 2001
2From: Samuli Piippo <samuli.piippo@qt.io>
3Date: Mon, 15 May 2017 14:04:38 +0300
4Subject: [PATCH] Update only u-boot
5
6---
7 flash_blk.scr | 2 +-
8 1 file changed, 1 insertion(+), 1 deletion(-)
9
10diff --git a/flash_blk.scr b/flash_blk.scr
11index ec3e00b..367b910 100644
12--- a/flash_blk.scr
13+++ b/flash_blk.scr
14@@ -41,7 +41,7 @@ setenv update_v2.5b3 'run check_configblock || run migrate_configblock; run migr
15
16 # Not migrated to SPL if no U-Boot Image Magic Number at 69k into the eMMC
17 setenv update_to_spl 'mmc dev 0 1; mmc read $loadaddr 8a 1; itest.l *12000000 -ne 56190527 && run update_spl'
18-setenv update_latest 'run update_to_spl; run update_uboot; run update_1; run update_2; run update_kernel; run update_fdt; run update_3'
19+setenv update_latest 'run update_to_spl; run update_uboot'
20 # 'updt_fuse' not available in V2.5 Beta 3 and earlier, migration needed
21 setenv update_new 'updt_fuse -n && run update_latest && reset; run update_v2.5b3'
22 # 'mmc bootbus' not available in in V2.4 Beta 1 and earlier, migration needed
diff --git a/meta-fsl-extras/recipes/u-boot/u-boot-script-toradex/colibri-imx6/flash_blk.scr b/meta-fsl-extras/recipes/u-boot/u-boot-script-toradex/mx6/flash_blk.scr
index 23c5b72..ec3e00b 100644
--- a/meta-fsl-extras/recipes/u-boot/u-boot-script-toradex/colibri-imx6/flash_blk.scr
+++ b/meta-fsl-extras/recipes/u-boot/u-boot-script-toradex/mx6/flash_blk.scr
@@ -1,8 +1,11 @@
1test -n ${interface} || setenv interface mmc 1test -n ${interface} || setenv interface mmc
2test -n ${drive} || setenv drive 1 2test -n ${drive} || setenv drive 1
3setenv uboot_hwpart 1
3 4
4setenv set_blkcnt 'setexpr blkcnt ${filesize} + 0x1ff && setexpr blkcnt ${blkcnt} / 0x200' 5setenv set_blkcnt 'setexpr blkcnt ${filesize} + 0x1ff && setexpr blkcnt ${blkcnt} / 0x200'
5setenv set_nextpos 'setexpr filepos ${filepos} + ${filesize}; setexpr blkstart ${blkstart} + ${blkcnt}' 6#workaround U-Boot counting in hex and split did in decimal
7setenv incr_decimal 'setexpr filenum ${filenum} + 1; setexpr filenrlow1 ${filenum} % 0x100; setexpr filenrlow2 ${filenrlow1} % 0x10; test ${filenrlow1} -eq "9a" && test ${filenrlow2} -ne "9" && setexpr filenum ${filenum} + 0x66; test ${filenrlow1} -ne "9a" && test ${filenrlow2} -eq "a" && setexpr filenum ${filenum} + 0x6; true'
8setenv set_nextnum 'run incr_decimal; setexpr blkstart ${blkstart} + ${blkcnt}'
6 9
7setenv check_1 'setenv conf_blk_offset 0x1fff; mmc read ${loadaddr} ${conf_blk_offset} 1' 10setenv check_1 'setenv conf_blk_offset 0x1fff; mmc read ${loadaddr} ${conf_blk_offset} 1'
8setenv check_2 'setenv conf_blk_offset 0xfff; mmc read ${loadaddr} ${conf_blk_offset} 1' 11setenv check_2 'setenv conf_blk_offset 0xfff; mmc read ${loadaddr} ${conf_blk_offset} 1'
@@ -11,12 +14,14 @@ setenv check_configblock 'setexpr toradex_oui_addr ${loadaddr} + 8; mw.l ${kerne
11 14
12setenv migrate_configblock 'run check_configblock; mmc dev 0 0 && mmc read ${loadaddr} 0x500 1 && cmp.b ${kernel_addr_r} ${toradex_oui_addr} 3 && mmc dev 0 1 && mmc write ${loadaddr} ${conf_blk_offset} 1' 15setenv migrate_configblock 'run check_configblock; mmc dev 0 0 && mmc read ${loadaddr} 0x500 1 && cmp.b ${kernel_addr_r} ${toradex_oui_addr} 3 && mmc dev 0 1 && mmc write ${loadaddr} ${conf_blk_offset} 1'
13 16
14setenv migrate_uboot_old 'load ${interface} ${drive}:1 ${loadaddr} ${board_name}/u-boot.imx && run set_blkcnt && mmc dev 0 0 && mmc write ${loadaddr} 2 ${blkcnt}; patch_ddr_size' 17setenv migrate_uboot_old 'setenv uboot_hwpart 0; run update_spl && run update_uboot_bin; setenv uboot_hwpart 1'
15setenv migrate_uboot 'load ${interface} ${drive}:1 ${loadaddr} ${board_name}/u-boot.imx && run set_blkcnt && mmc dev 0 1 && mmc write ${loadaddr} 2 ${blkcnt} && patch_ddr_size && mmc bootbus 0 2 1 2 && mmc partconf 0 1 1 0' 18setenv migrate_uboot 'run update_spl && run update_uboot_bin && mmc bootbus 0 2 1 2 && mmc partconf 0 1 1 0'
16 19
17setenv cp_file_chunk 'load ${interface} ${drive}:1 ${loadaddr} ${board_name}/root.ext3 ${filesize} ${filepos}; run set_blkcnt; mmc dev 0 0 && mmc write ${loadaddr} ${blkstart} ${blkcnt}' 20setenv cp_file_chunk 'load ${interface} ${drive}:1 ${loadaddr} ${board_name}/root.ext3-${filenum} ${filesize} ${filepos}; run set_blkcnt; mmc dev 0 0 && mmc write ${loadaddr} ${blkstart} ${blkcnt}'
18 21
19setenv update_uboot 'load ${interface} ${drive}:1 ${loadaddr} ${board_name}/u-boot.imx && run set_blkcnt && mmc dev 0 1 && mmc write ${loadaddr} 2 ${blkcnt} && patch_ddr_size && updt_fuse && mmc bootbus 0 2 0 1 && mmc partconf 0 1 1 0 && mmc rst-function 0 1' 22setenv update_spl 'load ${interface} ${drive}:1 ${loadaddr} ${board_name}/SPL && run set_blkcnt && mmc dev 0 ${uboot_hwpart} && mmc write ${loadaddr} 2 ${blkcnt}'
23setenv update_uboot_bin 'load ${interface} ${drive}:1 ${loadaddr} ${board_name}/u-boot.imx-spl && run set_blkcnt && mmc dev 0 ${uboot_hwpart} && mmc write ${loadaddr} 8a ${blkcnt}'
24setenv update_uboot 'run update_uboot_bin && updt_fuse && mmc bootbus 0 2 0 1 && mmc partconf 0 1 1 0 && mmc rst-function 0 1'
20 25
21setenv update_kernel 'load ${interface} ${drive}:1 ${loadaddr} ${board_name}/uImage && fatwrite mmc 0:1 ${loadaddr} uImage ${filesize}' 26setenv update_kernel 'load ${interface} ${drive}:1 ${loadaddr} ${board_name}/uImage && fatwrite mmc 0:1 ${loadaddr} uImage ${filesize}'
22 27
@@ -27,15 +32,19 @@ setenv update_configblock 'run check_configblock; load ${interface} ${drive}:1 $
27setenv update_1 'load ${interface} ${drive}:1 ${loadaddr} ${board_name}/mbr.bin && mmc dev 0 0 && mmc write ${loadaddr} 0x0 0x1' 32setenv update_1 'load ${interface} ${drive}:1 ${loadaddr} ${board_name}/mbr.bin && mmc dev 0 0 && mmc write ${loadaddr} 0x0 0x1'
28setenv update_2 'load ${interface} ${drive}:1 ${loadaddr} ${board_name}/boot.vfat && run set_blkcnt && mmc dev 0 0 && mmc write ${loadaddr} 0x2000 ${blkcnt}' 33setenv update_2 'load ${interface} ${drive}:1 ${loadaddr} ${board_name}/boot.vfat && run set_blkcnt && mmc dev 0 0 && mmc write ${loadaddr} 0x2000 ${blkcnt}'
29#do it in chunks of 64M to fit into DDR RAM of the smallest module 34#do it in chunks of 64M to fit into DDR RAM of the smallest module
30setenv update_3 'setenv filesize 4000000; setenv filepos 0; setenv blkstart a000; while test ${filesize} -eq "4000000"; do run cp_file_chunk; run set_nextpos; done; true' 35setenv update_3 'setenv filesize 4000000; setenv filenum 100; setenv blkstart a000; while test ${filesize} -eq "4000000"; do run cp_file_chunk; run set_nextnum; done; true'
31 36
32setenv echo_migrate echo "successfully updated U-Boot, power-cycle and enter \"run setupdate\; run migrate\" to complete update" 37setenv echo_migrate echo "successfully updated U-Boot, power-cycle and enter \"run setupdate\; run migrate\" to complete update"
33setenv migrate 'run migrate_configblock; run update_latest; reset' 38setenv migrate 'run migrate_configblock; run update_latest; reset'
34setenv update_v2.4b1 'run check_configblock || run migrate_configblock; run migrate_uboot_old && run echo_migrate' 39setenv update_v2.4b1 'run check_configblock || run migrate_configblock; run migrate_uboot_old && run echo_migrate'
35setenv update_v2.5b3 'run check_configblock || run migrate_configblock; run migrate_uboot && run echo_migrate' 40setenv update_v2.5b3 'run check_configblock || run migrate_configblock; run migrate_uboot && run echo_migrate'
36 41
37setenv update_latest 'run update_uboot; run update_1; run update_2; run update_kernel; run update_fdt; run update_3' 42# Not migrated to SPL if no U-Boot Image Magic Number at 69k into the eMMC
43setenv update_to_spl 'mmc dev 0 1; mmc read $loadaddr 8a 1; itest.l *12000000 -ne 56190527 && run update_spl'
44setenv update_latest 'run update_to_spl; run update_uboot; run update_1; run update_2; run update_kernel; run update_fdt; run update_3'
45# 'updt_fuse' not available in V2.5 Beta 3 and earlier, migration needed
38setenv update_new 'updt_fuse -n && run update_latest && reset; run update_v2.5b3' 46setenv update_new 'updt_fuse -n && run update_latest && reset; run update_v2.5b3'
47# 'mmc bootbus' not available in in V2.4 Beta 1 and earlier, migration needed
39setenv update 'mmc bootbus 0 2 0 1 && run update_new && exit; run update_v2.4b1' 48setenv update 'mmc bootbus 0 2 0 1 && run update_new && exit; run update_v2.4b1'
40 49
41echo 'enter "run update" to update the entire module' 50echo 'enter "run update" to update the entire module'
diff --git a/meta-fsl-extras/recipes/u-boot/u-boot-script-toradex/colibri-imx6/flash_eth.scr b/meta-fsl-extras/recipes/u-boot/u-boot-script-toradex/mx6/flash_eth.scr
index 14f4104..77e2ac9 100644
--- a/meta-fsl-extras/recipes/u-boot/u-boot-script-toradex/colibri-imx6/flash_eth.scr
+++ b/meta-fsl-extras/recipes/u-boot/u-boot-script-toradex/mx6/flash_eth.scr
@@ -1,6 +1,8 @@
1setenv uboot_hwpart 1
2
1setenv set_blkcnt 'setexpr blkcnt ${filesize} + 0x1ff && setexpr blkcnt ${blkcnt} / 0x200' 3setenv set_blkcnt 'setexpr blkcnt ${filesize} + 0x1ff && setexpr blkcnt ${blkcnt} / 0x200'
2#workaround U-Boot counting in hex and split did in decimal 4#workaround U-Boot counting in hex and split did in decimal
3setenv incr_decimal 'setexpr filenum ${filenum} + 1; setexpr filenrlow ${filenum} % 0x10; test ${filenrlow} -eq "a" && setexpr filenum ${filenum} + 0x6; true' 5setenv incr_decimal 'setexpr filenum ${filenum} + 1; setexpr filenrlow1 ${filenum} % 0x100; setexpr filenrlow2 ${filenrlow1} % 0x10; test ${filenrlow1} -eq "9a" && test ${filenrlow2} -ne "9" && setexpr filenum ${filenum} + 0x66; test ${filenrlow1} -ne "9a" && test ${filenrlow2} -eq "a" && setexpr filenum ${filenum} + 0x6; true'
4setenv set_nextnum 'run incr_decimal; setexpr blkstart ${blkstart} + ${blkcnt}' 6setenv set_nextnum 'run incr_decimal; setexpr blkstart ${blkstart} + ${blkcnt}'
5 7
6setenv check_1 'setenv conf_blk_offset 0x1fff; mmc read ${loadaddr} ${conf_blk_offset} 1' 8setenv check_1 'setenv conf_blk_offset 0x1fff; mmc read ${loadaddr} ${conf_blk_offset} 1'
@@ -10,12 +12,14 @@ setenv check_configblock 'setexpr toradex_oui_addr ${loadaddr} + 8; mw.l ${kerne
10 12
11setenv migrate_configblock 'run check_configblock; mmc dev 0 0 && mmc read ${loadaddr} 0x500 1 && cmp.b ${kernel_addr_r} ${toradex_oui_addr} 3 && mmc dev 0 1 && mmc write ${loadaddr} ${conf_blk_offset} 1' 13setenv migrate_configblock 'run check_configblock; mmc dev 0 0 && mmc read ${loadaddr} 0x500 1 && cmp.b ${kernel_addr_r} ${toradex_oui_addr} 3 && mmc dev 0 1 && mmc write ${loadaddr} ${conf_blk_offset} 1'
12 14
13setenv migrate_uboot_old 'tftpboot ${loadaddr} ${board_name}/u-boot.imx && run set_blkcnt && mmc dev 0 0 && mmc write ${loadaddr} 2 ${blkcnt}; patch_ddr_size' 15setenv migrate_uboot_old 'setenv uboot_hwpart 0; run update_spl && run update_uboot_bin; setenv uboot_hwpart 1'
14setenv migrate_uboot 'tftpboot ${loadaddr} ${board_name}/u-boot.imx && run set_blkcnt && mmc dev 0 1 && mmc write ${loadaddr} 2 ${blkcnt} && patch_ddr_size && mmc bootbus 0 2 1 2 && mmc partconf 0 1 1 0' 16setenv migrate_uboot 'run update_spl && run update_uboot_bin && mmc bootbus 0 2 1 2 && mmc partconf 0 1 1 0'
15 17
16setenv cp_file_chunk 'tftpboot ${loadaddr} ${board_name}/root.ext3-${filenum}; run set_blkcnt; mmc dev 0 0 && mmc write ${loadaddr} ${blkstart} ${blkcnt}' 18setenv cp_file_chunk 'tftpboot ${loadaddr} ${board_name}/root.ext3-${filenum}; run set_blkcnt; mmc dev 0 0 && mmc write ${loadaddr} ${blkstart} ${blkcnt}'
17 19
18setenv update_uboot 'tftpboot ${loadaddr} ${board_name}/u-boot.imx && run set_blkcnt && mmc dev 0 1 && mmc write ${loadaddr} 2 ${blkcnt} && patch_ddr_size && updt_fuse && mmc bootbus 0 2 0 1 && mmc partconf 0 1 1 0 && mmc rst-function 0 1' 20setenv update_spl 'tftpboot ${loadaddr} ${board_name}/SPL && run set_blkcnt && mmc dev 0 ${uboot_hwpart} && mmc write ${loadaddr} 2 ${blkcnt}'
21setenv update_uboot_bin 'tftpboot ${loadaddr} ${board_name}/u-boot.imx-spl && run set_blkcnt && mmc dev 0 ${uboot_hwpart} && mmc write ${loadaddr} 8a ${blkcnt}'
22setenv update_uboot 'run update_uboot_bin && updt_fuse && mmc bootbus 0 2 0 1 && mmc partconf 0 1 1 0 && mmc rst-function 0 1'
19 23
20setenv update_kernel 'tftpboot ${loadaddr} ${board_name}/uImage && fatwrite mmc 0:1 ${loadaddr} uImage ${filesize}' 24setenv update_kernel 'tftpboot ${loadaddr} ${board_name}/uImage && fatwrite mmc 0:1 ${loadaddr} uImage ${filesize}'
21 25
@@ -26,17 +30,19 @@ setenv update_configblock 'run check_configblock; tftpboot ${loadaddr} ${board_n
26setenv update_1 'tftpboot ${loadaddr} ${board_name}/mbr.bin && mmc dev 0 0 && mmc write ${loadaddr} 0x0 0x1' 30setenv update_1 'tftpboot ${loadaddr} ${board_name}/mbr.bin && mmc dev 0 0 && mmc write ${loadaddr} 0x0 0x1'
27setenv update_2 'tftpboot ${loadaddr} ${board_name}/boot.vfat && run set_blkcnt && mmc dev 0 0 && mmc write ${loadaddr} 0x2000 ${blkcnt}' 31setenv update_2 'tftpboot ${loadaddr} ${board_name}/boot.vfat && run set_blkcnt && mmc dev 0 0 && mmc write ${loadaddr} 0x2000 ${blkcnt}'
28#do it in chunks of 64M to fit into DDR RAM of the smallest module 32#do it in chunks of 64M to fit into DDR RAM of the smallest module
29#split root.ext3 into multiple 64M chunks before copying to TFTP folder as follows 33setenv update_3 'setenv filesize 4000000; setenv filenum 100; setenv blkstart a000; while test ${filesize} -eq "4000000"; do run cp_file_chunk; run set_nextnum; done; true'
30#split -a 2 -b `expr 64 \* 1024 \* 1024` --numeric-suffixes=10 root.ext3 root.ext3-
31setenv update_3 'setenv filesize 4000000; setenv filenum 10; setenv blkstart a000; while test ${filesize} -eq "4000000"; do run cp_file_chunk; run set_nextnum; done; true'
32 34
33setenv echo_migrate echo "successfully updated U-Boot, power-cycle and enter \"run setupdate\; run migrate\" to complete update" 35setenv echo_migrate echo "successfully updated U-Boot, power-cycle and enter \"run setupdate\; run migrate\" to complete update"
34setenv migrate 'run migrate_configblock; run update_latest; reset' 36setenv migrate 'run migrate_configblock; run update_latest; reset'
35setenv update_v2.4b1 'run check_configblock || run migrate_configblock; run migrate_uboot_old && run echo_migrate' 37setenv update_v2.4b1 'run check_configblock || run migrate_configblock; run migrate_uboot_old && run echo_migrate'
36setenv update_v2.5b3 'run check_configblock || run migrate_configblock; run migrate_uboot && run echo_migrate' 38setenv update_v2.5b3 'run check_configblock || run migrate_configblock; run migrate_uboot && run echo_migrate'
37 39
38setenv update_latest 'run update_uboot; run update_1; run update_2; run update_kernel; run update_fdt; run update_3' 40# Not migrated to SPL if no U-Boot Image Magic Number at 69k into the eMMC
41setenv update_to_spl 'mmc dev 0 1; mmc read $loadaddr 8a 1; itest.l *12000000 -ne 56190527 && run update_spl'
42setenv update_latest 'run update_to_spl; run update_uboot; run update_1; run update_2; run update_kernel; run update_fdt; run update_3'
43# 'updt_fuse' not available in V2.5 Beta 3 and earlier, migration needed
39setenv update_new 'updt_fuse -n && run update_latest && reset; run update_v2.5b3' 44setenv update_new 'updt_fuse -n && run update_latest && reset; run update_v2.5b3'
45# 'mmc bootbus' not available in in V2.4 Beta 1 and earlier, migration needed
40setenv update 'mmc bootbus 0 2 0 1 && run update_new && exit; run update_v2.4b1' 46setenv update 'mmc bootbus 0 2 0 1 && run update_new && exit; run update_v2.4b1'
41 47
42echo 'enter "run update" to update the entire module' 48echo 'enter "run update" to update the entire module'
diff --git a/meta-fsl-extras/recipes/u-boot/u-boot-script-toradex/mx7/flash_blk.scr b/meta-fsl-extras/recipes/u-boot/u-boot-script-toradex/mx7/flash_blk.scr
deleted file mode 100644
index 3e05a85..0000000
--- a/meta-fsl-extras/recipes/u-boot/u-boot-script-toradex/mx7/flash_blk.scr
+++ /dev/null
@@ -1,6 +0,0 @@
1test -n ${interface} || setenv interface mmc
2test -n ${drive} || setenv drive 0
3
4setenv set_blkcnt 'setexpr blkcnt ${filesize} + 0x1ff && setexpr blkcnt ${blkcnt} / 0x200'
5setenv update_uboot 'fatload ${interface} ${drive}:1 ${loadaddr} u-boot.imx && run set_blkcnt && mmc dev 0 0 && mmc write ${loadaddr} 2 ${blkcnt}'
6echo 'enter "run update_uboot" to update the uboot'
diff --git a/meta-fsl-extras/recipes/u-boot/u-boot-script-toradex/mx7/flash_mmc.scr b/meta-fsl-extras/recipes/u-boot/u-boot-script-toradex/mx7/flash_mmc.scr
deleted file mode 100644
index 0c16652..0000000
--- a/meta-fsl-extras/recipes/u-boot/u-boot-script-toradex/mx7/flash_mmc.scr
+++ /dev/null
@@ -1,6 +0,0 @@
1#flash_mmc has been renamed to flash_blk, ensure compatibility when updating from older versions
2test -n ${interface} || setenv interface mmc
3test -n ${drive} || setenv drive 0
4
5fatload ${interface} ${drive}:1 ${loadaddr} flash_blk.img
6source ${loadaddr}
diff --git a/meta-fsl-extras/recipes/u-boot/u-boot-toradex/0001-Make-sdboot-default-on-all-boards.patch b/meta-fsl-extras/recipes/u-boot/u-boot-toradex/0001-Make-sdboot-default-on-all-boards.patch
index 135dfd8..bf7861e 100644
--- a/meta-fsl-extras/recipes/u-boot/u-boot-toradex/0001-Make-sdboot-default-on-all-boards.patch
+++ b/meta-fsl-extras/recipes/u-boot/u-boot-toradex/0001-Make-sdboot-default-on-all-boards.patch
@@ -1,86 +1,66 @@
1From 4c748ee698961515c1602373f4f5d399c0a8e4a1 Mon Sep 17 00:00:00 2001 1From 003b18993fe1c5b1e64a44a3b831c63afb0e9a94 Mon Sep 17 00:00:00 2001
2From: Samuli Piippo <samuli.piippo@qt.io> 2From: Samuli Piippo <samuli.piippo@qt.io>
3Date: Wed, 14 Sep 2016 17:10:22 +0300 3Date: Mon, 15 May 2017 15:31:36 +0300
4Subject: [PATCH] Make sdboot default on all boards 4Subject: [PATCH] Make sdboot default on all boards
5 5
6--- 6---
7 include/configs/apalis_imx6.h | 13 +++++++------ 7 include/configs/apalis_imx6.h | 3 ++-
8 include/configs/colibri_imx6.h | 3 ++- 8 include/configs/colibri_imx6.h | 3 ++-
9 include/configs/colibri_imx7.h | 2 +- 9 include/configs/colibri_imx7.h | 2 +-
10 include/configs/colibri_vf.h | 2 +- 10 include/configs/colibri_vf.h | 2 +-
11 4 files changed, 11 insertions(+), 9 deletions(-) 11 4 files changed, 6 insertions(+), 4 deletions(-)
12 12
13diff --git a/include/configs/apalis_imx6.h b/include/configs/apalis_imx6.h 13diff --git a/include/configs/apalis_imx6.h b/include/configs/apalis_imx6.h
14index 3ea4a5c..53d9a0c 100644 14index 8dce5af..4f2f689 100644
15--- a/include/configs/apalis_imx6.h 15--- a/include/configs/apalis_imx6.h
16+++ b/include/configs/apalis_imx6.h 16+++ b/include/configs/apalis_imx6.h
17@@ -252,14 +252,14 @@ 17@@ -256,7 +256,8 @@
18 "&& setenv dtbparam \" - ${fdt_addr_r}\" && true\0"
19
20 #define SD_BOOTCMD \
21- "sdargs=ip=off root=/dev/mmcblk1p2 rw,noatime rootfstype=ext3 " \
22- "rootwait\0" \
23+ "drive=2\0" \
24 "sdboot=run setup; " \
25- "setenv bootargs ${defargs} ${sdargs} ${setupargs} " \
26+ "setenv bootargs ${defargs} ip=off root=/dev/mmcblk${drive}p2 " \
27+ "rw,noatime rootfstype=ext3 rootwait ${setupargs} " \
28 "${vidargs}; echo Booting from SD card in 8-bit slot...; " \
29- "run sddtbload; load mmc 1:1 ${kernel_addr_r} " \
30+ "run sddtbload; load mmc ${drive}:1 ${kernel_addr_r} " \
31 "${boot_file} && bootm ${kernel_addr_r} ${dtbparam}\0" \
32- "sddtbload=setenv dtbparam; load mmc 1:1 ${fdt_addr_r} " \
33+ "sddtbload=setenv dtbparam; load mmc ${drive}:1 ${fdt_addr_r} " \
34 "${fdt_file} && setenv dtbparam \" - ${fdt_addr_r}\" && true\0"
35
36 #define USB_BOOTCMD \
37@@ -279,7 +279,8 @@
38 #define FDT_FILE "imx6q-apalis_v1_0-eval.dtb"
39 #endif 18 #endif
40 #define CONFIG_EXTRA_ENV_SETTINGS \ 19 #define CONFIG_EXTRA_ENV_SETTINGS \
20 BOOTENV \
41- "bootcmd=run emmcboot ; echo ; echo emmcboot failed ; " \ 21- "bootcmd=run emmcboot ; echo ; echo emmcboot failed ; " \
42+ "bootcmd=run sdboot ; echo ; echo sdboot failed ; " \ 22+ "bootcmd=run sdboot ; echo ; echo sdboot failed ; " \
43+ "run emmcboot ; echo ; echo emmcboot failed ; " \ 23+ "run emmcboot ; echo ; echo emmcboot failed ; " \
44 "run nfsboot ; echo ; echo nfsboot failed ; " \ 24 "run distro_bootcmd ; " \
45 "usb start ;" \ 25 "usb start ;" \
46 "setenv stdout serial,vga ; setenv stdin serial,usbkbd\0" \ 26 "setenv stdout serial,vga ; setenv stdin serial,usbkbd\0" \
47diff --git a/include/configs/colibri_imx6.h b/include/configs/colibri_imx6.h 27diff --git a/include/configs/colibri_imx6.h b/include/configs/colibri_imx6.h
48index adc2d1e..9fd5f4c 100644 28index af49bcc..f6c6e9a 100644
49--- a/include/configs/colibri_imx6.h 29--- a/include/configs/colibri_imx6.h
50+++ b/include/configs/colibri_imx6.h 30+++ b/include/configs/colibri_imx6.h
51@@ -245,7 +245,8 @@ 31@@ -231,7 +231,8 @@
52
53 #define FDT_FILE "imx6dl-colibri-eval-v3.dtb" 32 #define FDT_FILE "imx6dl-colibri-eval-v3.dtb"
54 #define CONFIG_EXTRA_ENV_SETTINGS \ 33 #define CONFIG_EXTRA_ENV_SETTINGS \
34 BOOTENV \
55- "bootcmd=run emmcboot ; echo ; echo emmcboot failed ; " \ 35- "bootcmd=run emmcboot ; echo ; echo emmcboot failed ; " \
56+ "bootcmd=run sdboot ; echo ; echo sdboot failed ; " \ 36+ "bootcmd=run sdboot ; echo ; echo sdboot failed ; " \
57+ "run emmcboot ; echo ; echo emmcboot failed ; " \ 37+ "run emmcboot ; echo ; echo emmcboot failed ; " \
58 "run nfsboot ; echo ; echo nfsboot failed ; " \ 38 "run distro_bootcmd ; " \
59 "usb start ;" \ 39 "usb start ;" \
60 "setenv stdout serial,vga ; setenv stdin serial,usbkbd\0" \ 40 "setenv stdout serial,vga ; setenv stdin serial,usbkbd\0" \
61diff --git a/include/configs/colibri_imx7.h b/include/configs/colibri_imx7.h 41diff --git a/include/configs/colibri_imx7.h b/include/configs/colibri_imx7.h
62index e585c81..f6267a7 100644 42index 1709032..01a8f43 100644
63--- a/include/configs/colibri_imx7.h 43--- a/include/configs/colibri_imx7.h
64+++ b/include/configs/colibri_imx7.h 44+++ b/include/configs/colibri_imx7.h
65@@ -226,7 +226,7 @@ 45@@ -104,7 +104,7 @@
66 "ubi read ${fdt_addr_r} dtb && " \ 46 "ubi read ${fdt_addr_r} dtb && " \
67 "run fdt_fixup && bootz ${kernel_addr_r} - ${fdt_addr_r}\0" \ 47 "run fdt_fixup && bootz ${kernel_addr_r} - ${fdt_addr_r}\0" \
68 48
69-#define CONFIG_BOOTCOMMAND "run ubiboot; run sdboot; run nfsboot" 49-#define CONFIG_BOOTCOMMAND "run ubiboot; " \
70+#define CONFIG_BOOTCOMMAND "run sdboot; run ubiboot; run nfsboot" 50+#define CONFIG_BOOTCOMMAND "run sdboot; run ubiboot; " \
71 51 "setenv fdtfile ${soc}-colibri-${fdt_board}.dtb && run distro_bootcmd;"
72 #define CONFIG_SYS_MMC_IMG_LOAD_PART 1
73 52
53 #define BOOTENV_RUN_NET_USB_START ""
74diff --git a/include/configs/colibri_vf.h b/include/configs/colibri_vf.h 54diff --git a/include/configs/colibri_vf.h b/include/configs/colibri_vf.h
75index 26cf60a..33a3e3b 100644 55index 6770f62..73a316a 100644
76--- a/include/configs/colibri_vf.h 56--- a/include/configs/colibri_vf.h
77+++ b/include/configs/colibri_vf.h 57+++ b/include/configs/colibri_vf.h
78@@ -185,7 +185,7 @@ 58@@ -155,7 +155,7 @@
79 "ubi read ${fdt_addr_r} dtb && " \ 59 "ubi read ${fdt_addr_r} dtb && " \
80 "run fdt_fixup && bootz ${kernel_addr_r} - ${fdt_addr_r}\0" \ 60 "run fdt_fixup && bootz ${kernel_addr_r} - ${fdt_addr_r}\0" \
81
82-#define CONFIG_BOOTCOMMAND "run ubiboot; run sdboot; run nfsboot"
83+#define CONFIG_BOOTCOMMAND "run sdboot; run ubiboot; run nfsboot"
84 61
85 #define DFU_ALT_NAND_INFO "vf-bcb part 0,1;u-boot part 0,2;ubi part 0,4" 62-#define CONFIG_BOOTCOMMAND "run ubiboot; " \
63+#define CONFIG_BOOTCOMMAND "run sdboot; run ubiboot; " \
64 "setenv fdtfile ${soc}-colibri-${fdt_board}.dtb && run distro_bootcmd;"
86 65
66 #define BOOTENV_RUN_NET_USB_START ""
diff --git a/meta-fsl-extras/recipes/linux/linux-toradex_3.14.%.bbappend b/meta-fsl-extras/recipes/u-boot/u-boot-toradex_%.bbappend
index 86fa105..ea4549e 100644
--- a/meta-fsl-extras/recipes/linux/linux-toradex_3.14.%.bbappend
+++ b/meta-fsl-extras/recipes/u-boot/u-boot-toradex_%.bbappend
@@ -27,15 +27,7 @@
27## 27##
28############################################################################ 28############################################################################
29 29
30FILESEXTRAPATHS_append := "${THISDIR}/${PN}:" 30FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:"
31SRC_URI += " \ 31SRC_URI += " \
32 file://0001-genksyms-fix-typeof-handling.patch \ 32 file://0001-Make-sdboot-default-on-all-boards.patch \
33 " 33 "
34
35# kernel image files are not needed in the image
36RDEPENDS_kernel-base = ""
37
38do_preconfigure_prepend () {
39 # FunctionFS for qdbd
40 echo "CONFIG_USB_FUNCTIONFS=m" >> ${WORKDIR}/defconfig
41}
diff --git a/meta-fsl-extras/recipes/u-boot/u-boot-toradex_2015.04.bbappend b/meta-fsl-extras/recipes/u-boot/u-boot-toradex_2015.04.bbappend
deleted file mode 100644
index 9f98fc3..0000000
--- a/meta-fsl-extras/recipes/u-boot/u-boot-toradex_2015.04.bbappend
+++ /dev/null
@@ -1,44 +0,0 @@
1############################################################################
2##
3## Copyright (C) 2016 The Qt Company Ltd.
4## Contact: https://www.qt.io/licensing/
5##
6## This file is part of the Boot to Qt meta layer.
7##
8## $QT_BEGIN_LICENSE:GPL$
9## Commercial License Usage
10## Licensees holding valid commercial Qt licenses may use this file in
11## accordance with the commercial license agreement provided with the
12## Software or, alternatively, in accordance with the terms contained in
13## a written agreement between you and The Qt Company. For licensing terms
14## and conditions see https://www.qt.io/terms-conditions. For further
15## information use the contact form at https://www.qt.io/contact-us.
16##
17## GNU General Public License Usage
18## Alternatively, this file may be used under the terms of the GNU
19## General Public License version 3 or (at your option) any later version
20## approved by the KDE Free Qt Foundation. The licenses are as published by
21## the Free Software Foundation and appearing in the file LICENSE.GPL3
22## included in the packaging of this file. Please review the following
23## information to ensure the GNU General Public License requirements will
24## be met: https://www.gnu.org/licenses/gpl-3.0.html.
25##
26## $QT_END_LICENSE$
27##
28############################################################################
29
30PV = "v2015.04-v2.6b2.1+git${SRCPV}"
31SRCREV_b2qt = "90a974d34aaa85d5ce69f83067928592c5389990"
32SRCBRANCH = "2015.04-toradex"
33COMPATIBLE_MACHINE = "(mx6|mx7|vf)"
34
35do_deploy_append_apalis-imx6() {
36 cd ${DEPLOYDIR}
37 ln -sf u-boot-${type}-${PV}-${PR}.${UBOOT_SUFFIX} ${UBOOT_SYMLINK}-${type}
38 ln -sf u-boot-${type}-${PV}-${PR}.${UBOOT_SUFFIX} ${UBOOT_BINARY}-${type}
39}
40
41FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:"
42SRC_URI += " \
43 file://0001-Make-sdboot-default-on-all-boards.patch \
44 "