diff options
Diffstat (limited to 'host/lib/crossystem.c')
-rw-r--r-- | host/lib/crossystem.c | 12 |
1 files changed, 9 insertions, 3 deletions
diff --git a/host/lib/crossystem.c b/host/lib/crossystem.c index b5655433..a19384da 100644 --- a/host/lib/crossystem.c +++ b/host/lib/crossystem.c @@ -38,7 +38,8 @@ typedef enum VdatIntField { VDAT_INT_DEVSW_BOOT, /* Dev switch position at boot */ VDAT_INT_DEVSW_VIRTUAL, /* Dev switch is virtual */ VDAT_INT_RECSW_BOOT, /* Recovery switch position at boot */ - VDAT_INT_WPSW_BOOT, /* WP switch position at boot */ + VDAT_INT_HW_WPSW_BOOT, /* Hardware WP switch position at boot */ + VDAT_INT_SW_WPSW_BOOT, /* Flash chip's WP setting at boot */ VDAT_INT_FW_VERSION_TPM, /* Current firmware version in TPM */ VDAT_INT_KERNEL_VERSION_TPM, /* Current kernel version in TPM */ @@ -364,9 +365,12 @@ int GetVdatInt(VdatIntField field) { case VDAT_INT_RECSW_BOOT: value = (sh->flags & VBSD_BOOT_REC_SWITCH_ON ? 1 : 0); break; - case VDAT_INT_WPSW_BOOT: + case VDAT_INT_HW_WPSW_BOOT: value = (sh->flags & VBSD_BOOT_FIRMWARE_WP_ENABLED ? 1 : 0); break; + case VDAT_INT_SW_WPSW_BOOT: + value = (sh->flags & VBSD_BOOT_FIRMWARE_SW_WP_ENABLED ? 1 : 0); + break; case VDAT_INT_RECOVERY_REASON: value = sh->recovery_reason; break; @@ -432,7 +436,9 @@ int VbGetSystemPropertyInt(const char* name) { } else if (!strcasecmp(name, "recoverysw_boot")) { value = GetVdatInt(VDAT_INT_RECSW_BOOT); } else if (!strcasecmp(name, "wpsw_boot")) { - value = GetVdatInt(VDAT_INT_WPSW_BOOT); + value = GetVdatInt(VDAT_INT_HW_WPSW_BOOT); + } else if (!strcasecmp(name, "sw_wpsw_boot")) { + value = GetVdatInt(VDAT_INT_SW_WPSW_BOOT); } else if (!strcasecmp(name,"vdat_flags")) { value = GetVdatInt(VDAT_INT_FLAGS); } else if (!strcasecmp(name,"tpm_fwver")) { |