summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--extra/usb_updater/gsctool.c6
-rw-r--r--include/ap_ro_integrity_check.h8
2 files changed, 13 insertions, 1 deletions
diff --git a/extra/usb_updater/gsctool.c b/extra/usb_updater/gsctool.c
index 3d22f45725..8af5f0c550 100644
--- a/extra/usb_updater/gsctool.c
+++ b/extra/usb_updater/gsctool.c
@@ -2795,6 +2795,9 @@ static int process_get_apro_boot_status(struct transfer_descriptor *td)
case AP_RO_PASS_UNVERIFIED_GBB:
printf("pass - unverified gbb!\n");
break;
+ case AP_RO_V2_NON_ZERO_GBB_FLAGS:
+ printf("pass - except non-zero gbb flags!\n");
+ break;
case AP_RO_FAIL:
case AP_RO_V2_FAILED_VERIFICATION:
printf("FAIL\n");
@@ -2847,6 +2850,9 @@ static int process_get_apro_boot_status(struct transfer_descriptor *td)
case AP_RO_V2_SETTING_NOT_PROVISIONED:
printf("setting not provisioned\n");
break;
+ case AP_RO_V2_WRONG_ROOT_KEY:
+ printf("key is recognized but disallowed (e.g. preMP key)\n");
+ break;
default:
printf("unknown\n");
fprintf(stderr, "unknown status\n");
diff --git a/include/ap_ro_integrity_check.h b/include/ap_ro_integrity_check.h
index 0591742cc8..feb7c56b4e 100644
--- a/include/ap_ro_integrity_check.h
+++ b/include/ap_ro_integrity_check.h
@@ -33,7 +33,13 @@ enum ap_ro_status {
AP_RO_V2_MISSING_GSCVD = 31,
AP_RO_V2_BOARD_ID_MISMATCH = 32,
AP_RO_V2_SETTING_NOT_PROVISIONED = 33,
- AP_RO_V2_UNKNOWN = 34,
+ /*
+ * Do not use values 34 and 35. They are ambiguous depending on
+ * ti50 FW version.
+ */
+ AP_RO_V2_NON_ZERO_GBB_FLAGS = 36,
+ AP_RO_V2_WRONG_ROOT_KEY = 37,
+ AP_RO_V2_UNKNOWN = 255,
};
/*
* validate_ap_ro: based on information saved in an H1 RO flash page verify