OLD | NEW |
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 #include <sys/types.h> | 8 #include <sys/types.h> |
9 #include <sys/stat.h> | 9 #include <sys/stat.h> |
10 #include <unistd.h> | 10 #include <unistd.h> |
(...skipping 626 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
637 } else if (!strcasecmp(name,"savedmem_size")) { | 637 } else if (!strcasecmp(name,"savedmem_size")) { |
638 return (-1 == ReadFileInt(ACPI_CHSW_PATH) ? -1 : 0x00100000); | 638 return (-1 == ReadFileInt(ACPI_CHSW_PATH) ? -1 : 0x00100000); |
639 } | 639 } |
640 /* NV storage values with no defaults for older BIOS. */ | 640 /* NV storage values with no defaults for older BIOS. */ |
641 else if (!strcasecmp(name,"tried_fwb")) { | 641 else if (!strcasecmp(name,"tried_fwb")) { |
642 value = VbGetNvStorage(VBNV_TRIED_FIRMWARE_B); | 642 value = VbGetNvStorage(VBNV_TRIED_FIRMWARE_B); |
643 } else if (!strcasecmp(name,"kern_nv")) { | 643 } else if (!strcasecmp(name,"kern_nv")) { |
644 value = VbGetNvStorage(VBNV_KERNEL_FIELD); | 644 value = VbGetNvStorage(VBNV_KERNEL_FIELD); |
645 } else if (!strcasecmp(name,"nvram_cleared")) { | 645 } else if (!strcasecmp(name,"nvram_cleared")) { |
646 value = VbGetNvStorage(VBNV_KERNEL_SETTINGS_RESET); | 646 value = VbGetNvStorage(VBNV_KERNEL_SETTINGS_RESET); |
| 647 } else if (!strcasecmp(name,"vbtest_errfunc")) { |
| 648 value = VbGetNvStorage(VBNV_TEST_ERROR_FUNC); |
| 649 } else if (!strcasecmp(name,"vbtest_errno")) { |
| 650 value = VbGetNvStorage(VBNV_TEST_ERROR_NUM); |
647 } | 651 } |
648 /* NV storage values. If unable to get from NV storage, fall back to the | 652 /* NV storage values. If unable to get from NV storage, fall back to the |
649 * CMOS reboot field used by older BIOS. */ | 653 * CMOS reboot field used by older BIOS. */ |
650 else if (!strcasecmp(name,"recovery_request")) { | 654 else if (!strcasecmp(name,"recovery_request")) { |
651 value = VbGetNvStorage(VBNV_RECOVERY_REQUEST); | 655 value = VbGetNvStorage(VBNV_RECOVERY_REQUEST); |
652 if (-1 == value) | 656 if (-1 == value) |
653 value = VbGetCmosRebootField(CMOSRF_RECOVERY); | 657 value = VbGetCmosRebootField(CMOSRF_RECOVERY); |
654 } else if (!strcasecmp(name,"dbg_reset")) { | 658 } else if (!strcasecmp(name,"dbg_reset")) { |
655 value = VbGetNvStorage(VBNV_DEBUG_RESET_MODE); | 659 value = VbGetNvStorage(VBNV_DEBUG_RESET_MODE); |
656 if (-1 == value) | 660 if (-1 == value) |
(...skipping 95 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
752 * | 756 * |
753 * Returns 0 if success, -1 if error. */ | 757 * Returns 0 if success, -1 if error. */ |
754 int VbSetSystemPropertyInt(const char* name, int value) { | 758 int VbSetSystemPropertyInt(const char* name, int value) { |
755 | 759 |
756 /* NV storage values with no defaults for older BIOS. */ | 760 /* NV storage values with no defaults for older BIOS. */ |
757 if (!strcasecmp(name,"nvram_cleared")) { | 761 if (!strcasecmp(name,"nvram_cleared")) { |
758 /* Can only clear this flag; it's set inside the NV storage library. */ | 762 /* Can only clear this flag; it's set inside the NV storage library. */ |
759 return VbSetNvStorage(VBNV_KERNEL_SETTINGS_RESET, 0); | 763 return VbSetNvStorage(VBNV_KERNEL_SETTINGS_RESET, 0); |
760 } else if (!strcasecmp(name,"kern_nv")) { | 764 } else if (!strcasecmp(name,"kern_nv")) { |
761 return VbSetNvStorage(VBNV_KERNEL_FIELD, value); | 765 return VbSetNvStorage(VBNV_KERNEL_FIELD, value); |
| 766 } else if (!strcasecmp(name,"vbtest_errfunc")) { |
| 767 return VbSetNvStorage(VBNV_TEST_ERROR_FUNC, value); |
| 768 } else if (!strcasecmp(name,"vbtest_errno")) { |
| 769 return VbSetNvStorage(VBNV_TEST_ERROR_NUM, value); |
762 } | 770 } |
763 /* NV storage values. If unable to get from NV storage, fall back to the | 771 /* NV storage values. If unable to get from NV storage, fall back to the |
764 * CMOS reboot field used by older BIOS. */ | 772 * CMOS reboot field used by older BIOS. */ |
765 else if (!strcasecmp(name,"recovery_request")) { | 773 else if (!strcasecmp(name,"recovery_request")) { |
766 if (0 == VbSetNvStorage(VBNV_RECOVERY_REQUEST, value)) | 774 if (0 == VbSetNvStorage(VBNV_RECOVERY_REQUEST, value)) |
767 return 0; | 775 return 0; |
768 return VbSetCmosRebootField(CMOSRF_RECOVERY, value); | 776 return VbSetCmosRebootField(CMOSRF_RECOVERY, value); |
769 } else if (!strcasecmp(name,"dbg_reset")) { | 777 } else if (!strcasecmp(name,"dbg_reset")) { |
770 if (0 == VbSetNvStorage(VBNV_DEBUG_RESET_MODE, value)) | 778 if (0 == VbSetNvStorage(VBNV_DEBUG_RESET_MODE, value)) |
771 return 0; | 779 return 0; |
772 return VbSetCmosRebootField(CMOSRF_DEBUG_RESET, value); | 780 return VbSetCmosRebootField(CMOSRF_DEBUG_RESET, value); |
773 } else if (!strcasecmp(name,"fwb_tries")) { | 781 } else if (!strcasecmp(name,"fwb_tries")) { |
774 if (0 == VbSetNvStorage(VBNV_TRY_B_COUNT, value)) | 782 if (0 == VbSetNvStorage(VBNV_TRY_B_COUNT, value)) |
775 return 0; | 783 return 0; |
776 return VbSetCmosRebootField(CMOSRF_TRY_B, value); | 784 return VbSetCmosRebootField(CMOSRF_TRY_B, value); |
777 } | 785 } |
778 | 786 |
779 return -1; | 787 return -1; |
780 } | 788 } |
781 | 789 |
782 | 790 |
783 /* Set a system property string. | 791 /* Set a system property string. |
784 * | 792 * |
785 * Returns 0 if success, -1 if error. */ | 793 * Returns 0 if success, -1 if error. */ |
786 int VbSetSystemPropertyString(const char* name, const char* value) { | 794 int VbSetSystemPropertyString(const char* name, const char* value) { |
787 | 795 |
788 /* TODO: support setting */ | 796 /* TODO: support setting */ |
789 return -1; | 797 return -1; |
790 } | 798 } |
OLD | NEW |