Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(481)

Side by Side Diff: cli_mfg.c

Issue 6791005: Supports --ignore-fmap argument to skip parsing fmap structure on flash. (Closed) Base URL: ssh://gitrw.chromium.org:9222/flashrom.git@master
Patch Set: Created 9 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « no previous file | flash.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 /* 1 /*
2 * This file is part of the flashrom project. 2 * This file is part of the flashrom project.
3 * 3 *
4 * Copyright (C) 2000 Silicon Integrated System Corporation 4 * Copyright (C) 2000 Silicon Integrated System Corporation
5 * Copyright (C) 2004 Tyan Corp <yhlu@tyan.com> 5 * Copyright (C) 2004 Tyan Corp <yhlu@tyan.com>
6 * Copyright (C) 2005-2008 coresystems GmbH 6 * Copyright (C) 2005-2008 coresystems GmbH
7 * Copyright (C) 2008,2009,2010 Carl-Daniel Hailfinger 7 * Copyright (C) 2008,2009,2010 Carl-Daniel Hailfinger
8 * 8 *
9 * This program is free software; you can redistribute it and/or modify 9 * This program is free software; you can redistribute it and/or modify
10 * it under the terms of the GNU General Public License as published by 10 * it under the terms of the GNU General Public License as published by
(...skipping 19 matching lines...) Expand all
30 #include <getopt.h> 30 #include <getopt.h>
31 #include <errno.h> 31 #include <errno.h>
32 #include "big_lock.h" 32 #include "big_lock.h"
33 #include "flash.h" 33 #include "flash.h"
34 #include "flashchips.h" 34 #include "flashchips.h"
35 #include "programmer.h" 35 #include "programmer.h"
36 #include "writeprotect.h" 36 #include "writeprotect.h"
37 37
38 #define LOCK_TIMEOUT_SECS 30 38 #define LOCK_TIMEOUT_SECS 30
39 39
40 /* This variable is shared with doit() in flashrom.c */
41 int set_ignore_fmap = 0;
42
40 void cli_mfg_usage(const char *name) 43 void cli_mfg_usage(const char *name)
41 { 44 {
42 const char *pname; 45 const char *pname;
43 int pnamelen; 46 int pnamelen;
44 int remaining = 0; 47 int remaining = 0;
45 enum programmer p; 48 enum programmer p;
46 49
47 printf("Usage: %s [-n] [-V] [-f] [-h|-R|-L|" 50 printf("Usage: %s [-n] [-V] [-f] [-h|-R|-L|"
48 #if CONFIG_PRINT_WIKI == 1 51 #if CONFIG_PRINT_WIKI == 1
49 "-z|" 52 "-z|"
(...skipping 36 matching lines...) Expand 10 before | Expand all | Expand 10 after
86 "from flash layout.\n" 89 "from flash layout.\n"
87 " the content are included " 90 " the content are included "
88 "in <file> if specified.\n" 91 "in <file> if specified.\n"
89 " -L | --list-supported print supported devices\n" 92 " -L | --list-supported print supported devices\n"
90 #if CONFIG_PRINT_WIKI == 1 93 #if CONFIG_PRINT_WIKI == 1
91 " -z | --list-supported-wiki print supported devices " 94 " -z | --list-supported-wiki print supported devices "
92 "in wiki syntax\n" 95 "in wiki syntax\n"
93 #endif 96 #endif
94 " -p | --programmer <name>[:<param>] specify the programmer " 97 " -p | --programmer <name>[:<param>] specify the programmer "
95 "device" 98 "device"
99 " --ignore-fmap don't try to parse the "
100 "fmap structure on the flash\n"
96 ); 101 );
97 102
98 for (p = 0; p < PROGRAMMER_INVALID; p++) { 103 for (p = 0; p < PROGRAMMER_INVALID; p++) {
99 pname = programmer_table[p].name; 104 pname = programmer_table[p].name;
100 pnamelen = strlen(pname); 105 pnamelen = strlen(pname);
101 if (remaining - pnamelen - 2 < 0) { 106 if (remaining - pnamelen - 2 < 0) {
102 printf("\n "); 107 printf("\n ");
103 remaining = 43; 108 remaining = 43;
104 } else { 109 } else {
105 printf(" "); 110 printf(" ");
(...skipping 37 matching lines...) Expand 10 before | Expand all | Expand 10 after
143 } 148 }
144 149
145 enum LONGOPT_RETURN_VALUES { 150 enum LONGOPT_RETURN_VALUES {
146 /* start after ASCII chars */ 151 /* start after ASCII chars */
147 LONGOPT_GET_SIZE = 256, 152 LONGOPT_GET_SIZE = 256,
148 LONGOPT_WP_STATUS, 153 LONGOPT_WP_STATUS,
149 LONGOPT_WP_SET_RANGE, 154 LONGOPT_WP_SET_RANGE,
150 LONGOPT_WP_ENABLE, 155 LONGOPT_WP_ENABLE,
151 LONGOPT_WP_DISABLE, 156 LONGOPT_WP_DISABLE,
152 LONGOPT_WP_LIST, 157 LONGOPT_WP_LIST,
158 LONGOPT_IGNORE_FMAP,
153 }; 159 };
154 160
155 int cli_mfg(int argc, char *argv[]) 161 int cli_mfg(int argc, char *argv[])
156 { 162 {
157 unsigned long size; 163 unsigned long size;
158 /* Probe for up to three flash chips. */ 164 /* Probe for up to three flash chips. */
159 struct flashchip *flash, *flashes[3]; 165 struct flashchip *flash, *flashes[3];
160 const char *name; 166 const char *name;
161 int namelen; 167 int namelen;
162 int opt; 168 int opt;
(...skipping 27 matching lines...) Expand all
190 {"list-supported-wiki", 0, 0, 'z'}, 196 {"list-supported-wiki", 0, 0, 'z'},
191 {"programmer", 1, 0, 'p'}, 197 {"programmer", 1, 0, 'p'},
192 {"help", 0, 0, 'h'}, 198 {"help", 0, 0, 'h'},
193 {"version", 0, 0, 'R'}, 199 {"version", 0, 0, 'R'},
194 {"get-size", 0, 0, LONGOPT_GET_SIZE}, 200 {"get-size", 0, 0, LONGOPT_GET_SIZE},
195 {"wp-status", 0, 0, LONGOPT_WP_STATUS}, 201 {"wp-status", 0, 0, LONGOPT_WP_STATUS},
196 {"wp-range", 0, 0, LONGOPT_WP_SET_RANGE}, 202 {"wp-range", 0, 0, LONGOPT_WP_SET_RANGE},
197 {"wp-enable", 0, 0, LONGOPT_WP_ENABLE}, 203 {"wp-enable", 0, 0, LONGOPT_WP_ENABLE},
198 {"wp-disable", 0, 0, LONGOPT_WP_DISABLE}, 204 {"wp-disable", 0, 0, LONGOPT_WP_DISABLE},
199 {"wp-list", 0, 0, LONGOPT_WP_LIST}, 205 {"wp-list", 0, 0, LONGOPT_WP_LIST},
206 {"ignore-fmap", 0, 0, LONGOPT_IGNORE_FMAP},
200 {0, 0, 0, 0} 207 {0, 0, 0, 0}
201 }; 208 };
202 209
203 char *filename = NULL; 210 char *filename = NULL;
204 211
205 char *tempstr = NULL; 212 char *tempstr = NULL;
206 char *pparam = NULL; 213 char *pparam = NULL;
207 214
208 print_version(); 215 print_version();
209 216
(...skipping 169 matching lines...) Expand 10 before | Expand all | Expand 10 after
379 break; 386 break;
380 case LONGOPT_WP_SET_RANGE: 387 case LONGOPT_WP_SET_RANGE:
381 set_wp_range = 1; 388 set_wp_range = 1;
382 break; 389 break;
383 case LONGOPT_WP_ENABLE: 390 case LONGOPT_WP_ENABLE:
384 set_wp_enable = 1; 391 set_wp_enable = 1;
385 break; 392 break;
386 case LONGOPT_WP_DISABLE: 393 case LONGOPT_WP_DISABLE:
387 set_wp_disable = 1; 394 set_wp_disable = 1;
388 break; 395 break;
396 case LONGOPT_IGNORE_FMAP:
397 set_ignore_fmap = 1;
398 break;
389 default: 399 default:
390 cli_mfg_abort_usage(argv[0]); 400 cli_mfg_abort_usage(argv[0]);
391 break; 401 break;
392 } 402 }
393 } 403 }
394 404
395 /* FIXME: Print the actions flashrom will take. */ 405 /* FIXME: Print the actions flashrom will take. */
396 406
397 if (list_supported) { 407 if (list_supported) {
398 print_supported(); 408 print_supported();
(...skipping 197 matching lines...) Expand 10 before | Expand all | Expand 10 after
596 606
597 msg_ginfo("%s\n", rc ? "FAILED" : "SUCCESS"); 607 msg_ginfo("%s\n", rc ? "FAILED" : "SUCCESS");
598 cli_mfg_silent_exit: 608 cli_mfg_silent_exit:
599 programmer_shutdown(); /* must be done after chip_restore() */ 609 programmer_shutdown(); /* must be done after chip_restore() */
600 cli_mfg_release_lock_exit: 610 cli_mfg_release_lock_exit:
601 #if USE_BIG_LOCK == 1 611 #if USE_BIG_LOCK == 1
602 release_big_lock(); 612 release_big_lock();
603 #endif 613 #endif
604 return rc; 614 return rc;
605 } 615 }
OLDNEW
« no previous file with comments | « no previous file | flash.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698