diff options
author | Bill Richardson <wfrichar@chromium.org> | 2012-01-19 13:47:33 -0800 |
---|---|---|
committer | Stefan Reinauer <reinauer@chromium.org> | 2012-01-19 17:04:14 -0800 |
commit | 037dba21243559e93aa98c428c0655ceb418b23f (patch) | |
tree | f620bdd198347f79d446815acf0bbcb221206d70 /firmware/stub | |
parent | 885a9774ef469666854a0e4bed7c33733d0396c7 (diff) | |
download | vboot-037dba21243559e93aa98c428c0655ceb418b23f.tar.gz |
Fix audio loop for long-delay keyboard reads.
BUG=chrome-os-partner:7428
TEST=manual
Switch to dev-mode, turn it on, see how long it takes.
With gbb.flags == 1 (factory mode), it should take 2 seconds.
(You'll see a warning on the screen if gbb.flags is nonzero)
With gbb.flags == 0 (after factory install), it should take 30 seconds.
You should hear two beeps at 20 seconds.
Change-Id: I4f14128b87d3482e291b1b40a11a6d27c72c1ad1
Reviewed-on: https://gerrit.chromium.org/gerrit/14534
Tested-by: Bill Richardson <wfrichar@chromium.org>
Reviewed-by: Stefan Reinauer <reinauer@chromium.org>
Commit-Ready: Bill Richardson <wfrichar@chromium.org>
Diffstat (limited to 'firmware/stub')
-rw-r--r-- | firmware/stub/vboot_api_stub.c | 21 |
1 files changed, 19 insertions, 2 deletions
diff --git a/firmware/stub/vboot_api_stub.c b/firmware/stub/vboot_api_stub.c index 732facb9..f3289e2b 100644 --- a/firmware/stub/vboot_api_stub.c +++ b/firmware/stub/vboot_api_stub.c @@ -19,11 +19,27 @@ __pragma(warning (disable: 4100)) +/* U-Boot's printf uses '%L' for uint64_t. gcc uses '%l'. */ +#define MAX_FMT 255 +static char fmtbuf[MAX_FMT+1]; +static const char *fixfmt(const char *format) { + int i; + for(i=0; i<MAX_FMT && format[i]; i++) { + fmtbuf[i] = format[i]; + if(format[i] == '%' && format[i+1] == 'L') { + fmtbuf[i+1] = 'l'; + i++; + } + } + fmtbuf[i] = '\0'; + return fmtbuf; +} + void VbExError(const char* format, ...) { va_list ap; va_start(ap, format); fprintf(stderr, "ERROR: "); - vfprintf(stderr, format, ap); + vfprintf(stderr, fixfmt(format), ap); va_end(ap); exit(1); } @@ -31,9 +47,10 @@ void VbExError(const char* format, ...) { void VbExDebug(const char* format, ...) { va_list ap; + int i; va_start(ap, format); fprintf(stderr, "DEBUG: "); - vfprintf(stderr, format, ap); + vfprintf(stderr, fixfmt(format), ap); va_end(ap); } |