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

Side by Side Diff: host/lib/crossystem.c

Issue 6665005: Add check-value support and check /proc/cmdline for cros_nodebug (Closed) Base URL: ssh://git@gitrw.chromium.org:9222/vboot_reference.git@master
Patch Set: Created 9 years, 9 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 | utility/crossystem_main.c » ('j') | utility/crossystem_main.c » ('J')
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 /* Copyright (c) 2011 The Chromium OS Authors. All rights reserved. 1 /* Copyright (c) 2011 The Chromium OS Authors. All rights reserved.
2 * Use of this source code is governed by a BSD-style license that can be 2 * Use of this source code is governed by a BSD-style license that can be
3 * found in the LICENSE file. 3 * found in the LICENSE file.
4 */ 4 */
5 5
6 #include <stdio.h> 6 #include <stdio.h>
7 #include <string.h> 7 #include <string.h>
8 8
9 #include "host_common.h" 9 #include "host_common.h"
10 10
(...skipping 455 matching lines...) Expand 10 before | Expand all | Expand 10 after
466 char *t, *saveptr; 466 char *t, *saveptr;
467 467
468 /* Try reading firmware type from BINF.3. */ 468 /* Try reading firmware type from BINF.3. */
469 binf3 = ReadFileInt(ACPI_BINF_PATH ".3"); 469 binf3 = ReadFileInt(ACPI_BINF_PATH ".3");
470 if (BINF3_RECOVERY == binf3) 470 if (BINF3_RECOVERY == binf3)
471 return 0; /* Recovery mode never allows debug. */ 471 return 0; /* Recovery mode never allows debug. */
472 else if (BINF3_DEVELOPER == binf3) 472 else if (BINF3_DEVELOPER == binf3)
473 return 1; /* Developer firmware always allows debug. */ 473 return 1; /* Developer firmware always allows debug. */
474 474
475 /* Normal new firmware, older ChromeOS firmware, or non-Chrome firmware. 475 /* Normal new firmware, older ChromeOS firmware, or non-Chrome firmware.
476 * For all these cases, check /proc/cmdline for cros_debug. */ 476 * For all these cases, check /proc/cmdline for cros_[no]debug. */
477 f = fopen(KERNEL_CMDLINE_PATH, "rt"); 477 f = fopen(KERNEL_CMDLINE_PATH, "rt");
478 if (f) { 478 if (f) {
479 if (NULL == fgets(buf, sizeof(buf), f)) 479 if (NULL == fgets(buf, sizeof(buf), f))
480 *buf = 0; 480 *buf = 0;
481 fclose(f); 481 fclose(f);
482 } 482 }
483 for (t = strtok_r(buf, " ", &saveptr); t; t=strtok_r(NULL, " ", &saveptr)) { 483 for (t = strtok_r(buf, " ", &saveptr); t; t=strtok_r(NULL, " ", &saveptr)) {
484 if (0 == strcmp(t, "cros_debug")) 484 if (0 == strcmp(t, "cros_debug"))
485 return 1; 485 return 1;
486 else if (0 == strcmp(t, "cros_nodebug"))
487 return 0;
486 } 488 }
487 489
488 /* Normal new firmware or older Chrome OS firmware allows debug if the 490 /* Normal new firmware or older Chrome OS firmware allows debug if the
489 * dev switch is on. */ 491 * dev switch is on. */
490 if (1 == ReadFileBit(ACPI_CHSW_PATH, CHSW_DEV_BOOT)) 492 if (1 == ReadFileBit(ACPI_CHSW_PATH, CHSW_DEV_BOOT))
491 return 1; 493 return 1;
492 494
493 /* All other cases disallow debug. */ 495 /* All other cases disallow debug. */
494 return 0; 496 return 0;
495 } 497 }
(...skipping 149 matching lines...) Expand 10 before | Expand all | Expand 10 after
645 647
646 648
647 /* Set a system property string. 649 /* Set a system property string.
648 * 650 *
649 * Returns 0 if success, -1 if error. */ 651 * Returns 0 if success, -1 if error. */
650 int VbSetSystemPropertyString(const char* name, const char* value) { 652 int VbSetSystemPropertyString(const char* name, const char* value) {
651 653
652 /* TODO: support setting */ 654 /* TODO: support setting */
653 return -1; 655 return -1;
654 } 656 }
OLDNEW
« no previous file with comments | « no previous file | utility/crossystem_main.c » ('j') | utility/crossystem_main.c » ('J')

Powered by Google App Engine
This is Rietveld 408576698