From 7f6c50e7cc531784f29ef4018b34924083fc902c Mon Sep 17 00:00:00 2001 From: Yu-Ping Wu Date: Wed, 10 Jun 2020 17:25:15 +0800 Subject: vboot: rename USB to more accurate EXTERNAL Rename enumerators of the vb2_dev_default_boot_target enum as follows, because the term USB is not quite accurate (we can also boot from an SD card). VB2_DEV_DEFAULT_BOOT_TARGET_DISK --> VB2_DEV_DEFAULT_BOOT_TARGET_INTERNAL VB2_DEV_DEFAULT_BOOT_TARGET_USB --> VB2_DEV_DEFAULT_BOOT_TARGET_EXTERNAL Also perform similar renaming for the following. enum vb2_nv_param: VB2_NV_DEV_BOOT_USB --> VB2_NV_DEV_BOOT_EXTERNAL enum vb2_secdata_fwmp_flags: VB2_SECDATA_FWMP_DEV_ENABLE_USB --> VB2_SECDATA_FWMP_DEV_ENABLE_EXTERNAL constants: VB2_NV_DEV_FLAG_USB --> VB2_NV_DEV_FLAG_EXTERNAL functions: vb2_dev_boot_usb_allowed --> vb2_dev_boot_external_allowed BRANCH=none BUG=none TEST=make runtests Change-Id: Iad16fcf34d76da08c6d8a81e150c7fde927c743b Signed-off-by: Yu-Ping Wu Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/vboot_reference/+/2237622 Reviewed-by: Joel Kitching --- firmware/2lib/2misc.c | 18 +++++++++--------- firmware/2lib/2nvstorage.c | 10 +++++----- firmware/2lib/2ui_screens.c | 6 +++--- firmware/2lib/include/2api.h | 8 ++++---- firmware/2lib/include/2gbb_flags.h | 5 ++++- firmware/2lib/include/2misc.h | 12 ++++++------ firmware/2lib/include/2nvstorage.h | 4 ++-- firmware/2lib/include/2nvstorage_fields.h | 2 +- firmware/2lib/include/2secdata.h | 2 +- firmware/lib/vboot_ui_legacy.c | 2 +- firmware/lib/vboot_ui_legacy_clamshell.c | 10 +++++----- firmware/lib/vboot_ui_legacy_menu.c | 10 +++++----- 12 files changed, 46 insertions(+), 43 deletions(-) (limited to 'firmware') diff --git a/firmware/2lib/2misc.c b/firmware/2lib/2misc.c index 6276d8b9..71631617 100644 --- a/firmware/2lib/2misc.c +++ b/firmware/2lib/2misc.c @@ -250,7 +250,7 @@ vb2_error_t vb2_check_dev_switch(struct vb2_context *ctx) * initially disabled if the user later transitions back into * developer mode. */ - vb2_nv_set(ctx, VB2_NV_DEV_BOOT_USB, 0); + vb2_nv_set(ctx, VB2_NV_DEV_BOOT_EXTERNAL, 0); vb2_nv_set(ctx, VB2_NV_DEV_BOOT_LEGACY, 0); vb2_nv_set(ctx, VB2_NV_DEV_BOOT_SIGNED_ONLY, 0); vb2_nv_set(ctx, VB2_NV_DEV_DEFAULT_BOOT, 0); @@ -387,7 +387,7 @@ void vb2_enable_developer_mode(struct vb2_context *ctx) vb2_secdata_firmware_set(ctx, VB2_SECDATA_FIRMWARE_FLAGS, flags); if (USB_BOOT_ON_DEV) - vb2_nv_set(ctx, VB2_NV_DEV_BOOT_USB, 1); + vb2_nv_set(ctx, VB2_NV_DEV_BOOT_EXTERNAL, 1); VB2_DEBUG("Mode change will take effect on next reboot\n"); } @@ -515,9 +515,9 @@ enum vb2_dev_default_boot_target vb2api_get_dev_default_boot_target( return VB2_DEV_DEFAULT_BOOT_TARGET_LEGACY; switch (vb2_nv_get(ctx, VB2_NV_DEV_DEFAULT_BOOT)) { - case VB2_DEV_DEFAULT_BOOT_TARGET_USB: - if (vb2_dev_boot_usb_allowed(ctx)) - return VB2_DEV_DEFAULT_BOOT_TARGET_USB; + case VB2_DEV_DEFAULT_BOOT_TARGET_EXTERNAL: + if (vb2_dev_boot_external_allowed(ctx)) + return VB2_DEV_DEFAULT_BOOT_TARGET_EXTERNAL; break; case VB2_DEV_DEFAULT_BOOT_TARGET_LEGACY: @@ -526,7 +526,7 @@ enum vb2_dev_default_boot_target vb2api_get_dev_default_boot_target( break; } - return VB2_DEV_DEFAULT_BOOT_TARGET_DISK; + return VB2_DEV_DEFAULT_BOOT_TARGET_INTERNAL; } int vb2_dev_boot_allowed(struct vb2_context *ctx) @@ -549,13 +549,13 @@ int vb2_dev_boot_legacy_allowed(struct vb2_context *ctx) VB2_SECDATA_FWMP_DEV_ENABLE_LEGACY); } -int vb2_dev_boot_usb_allowed(struct vb2_context *ctx) +int vb2_dev_boot_external_allowed(struct vb2_context *ctx) { struct vb2_gbb_header *gbb = vb2_get_gbb(ctx); - return vb2_nv_get(ctx, VB2_NV_DEV_BOOT_USB) || + return vb2_nv_get(ctx, VB2_NV_DEV_BOOT_EXTERNAL) || (gbb->flags & VB2_GBB_FLAG_FORCE_DEV_BOOT_USB) || - vb2_secdata_fwmp_get_flag(ctx, VB2_SECDATA_FWMP_DEV_ENABLE_USB); + vb2_secdata_fwmp_get_flag(ctx, VB2_SECDATA_FWMP_DEV_ENABLE_EXTERNAL); } int vb2api_use_short_dev_screen_delay(struct vb2_context *ctx) diff --git a/firmware/2lib/2nvstorage.c b/firmware/2lib/2nvstorage.c index 590c6e18..c3cdca5e 100644 --- a/firmware/2lib/2nvstorage.c +++ b/firmware/2lib/2nvstorage.c @@ -142,8 +142,8 @@ uint32_t vb2_nv_get(struct vb2_context *ctx, enum vb2_nv_param param) case VB2_NV_KERNEL_FIELD: return p[VB2_NV_OFFS_KERNEL1] | (p[VB2_NV_OFFS_KERNEL2] << 8); - case VB2_NV_DEV_BOOT_USB: - return GETBIT(VB2_NV_OFFS_DEV, VB2_NV_DEV_FLAG_USB); + case VB2_NV_DEV_BOOT_EXTERNAL: + return GETBIT(VB2_NV_OFFS_DEV, VB2_NV_DEV_FLAG_EXTERNAL); case VB2_NV_DEV_BOOT_LEGACY: return GETBIT(VB2_NV_OFFS_DEV, VB2_NV_DEV_FLAG_LEGACY); @@ -327,8 +327,8 @@ void vb2_nv_set(struct vb2_context *ctx, p[VB2_NV_OFFS_KERNEL2] = (uint8_t)(value >> 8); break; - case VB2_NV_DEV_BOOT_USB: - SETBIT(VB2_NV_OFFS_DEV, VB2_NV_DEV_FLAG_USB); + case VB2_NV_DEV_BOOT_EXTERNAL: + SETBIT(VB2_NV_OFFS_DEV, VB2_NV_DEV_FLAG_EXTERNAL); break; case VB2_NV_DEV_BOOT_LEGACY: @@ -343,7 +343,7 @@ void vb2_nv_set(struct vb2_context *ctx, /* Map out of range values to disk */ if (value > (VB2_NV_DEV_FLAG_DEFAULT_BOOT >> VB2_NV_DEV_DEFAULT_BOOT_SHIFT)) - value = VB2_DEV_DEFAULT_BOOT_TARGET_DISK; + value = VB2_DEV_DEFAULT_BOOT_TARGET_INTERNAL; p[VB2_NV_OFFS_DEV] &= ~VB2_NV_DEV_FLAG_DEFAULT_BOOT; p[VB2_NV_OFFS_DEV] |= diff --git a/firmware/2lib/2ui_screens.c b/firmware/2lib/2ui_screens.c index 473441ea..1a1259dd 100644 --- a/firmware/2lib/2ui_screens.c +++ b/firmware/2lib/2ui_screens.c @@ -426,13 +426,13 @@ vb2_error_t developer_mode_init(struct vb2_ui_context *ui) 1 << DEVELOPER_MODE_ITEM_RETURN_TO_SECURE; /* Don't show "Boot from external disk" button if not allowed. */ - if (!vb2_dev_boot_usb_allowed(ui->ctx)) + if (!vb2_dev_boot_external_allowed(ui->ctx)) ui->state.disabled_item_mask |= 1 << DEVELOPER_MODE_ITEM_BOOT_EXTERNAL; /* Choose the default selection. */ switch (default_boot) { - case VB2_DEV_DEFAULT_BOOT_TARGET_USB: + case VB2_DEV_DEFAULT_BOOT_TARGET_EXTERNAL: ui->state.selected_item = DEVELOPER_MODE_ITEM_BOOT_EXTERNAL; break; default: @@ -464,7 +464,7 @@ vb2_error_t vb2_ui_developer_mode_boot_external_action( /* Sanity check, should never happen. */ if (!(ui->ctx->flags & VB2_CONTEXT_DEVELOPER_MODE) || !vb2_dev_boot_allowed(ui->ctx) || - !vb2_dev_boot_usb_allowed(ui->ctx)) { + !vb2_dev_boot_external_allowed(ui->ctx)) { VB2_DEBUG("ERROR: Dev mode external boot not allowed\n"); return VB2_REQUEST_UI_CONTINUE; } diff --git a/firmware/2lib/include/2api.h b/firmware/2lib/include/2api.h index 9eeff85b..e78c85ad 100644 --- a/firmware/2lib/include/2api.h +++ b/firmware/2lib/include/2api.h @@ -863,11 +863,11 @@ int vb2api_phone_recovery_enabled(struct vb2_context *ctx); /* Default boot target in developer mode. */ enum vb2_dev_default_boot_target { - /* Default to boot from disk. */ - VB2_DEV_DEFAULT_BOOT_TARGET_DISK = 0, + /* Default to boot from internal disk. */ + VB2_DEV_DEFAULT_BOOT_TARGET_INTERNAL = 0, - /* Default to boot from USB. */ - VB2_DEV_DEFAULT_BOOT_TARGET_USB = 1, + /* Default to boot from external disk. */ + VB2_DEV_DEFAULT_BOOT_TARGET_EXTERNAL = 1, /* Default to boot legacy OS. */ VB2_DEV_DEFAULT_BOOT_TARGET_LEGACY = 2, diff --git a/firmware/2lib/include/2gbb_flags.h b/firmware/2lib/include/2gbb_flags.h index cd605d8d..c1c937c9 100644 --- a/firmware/2lib/include/2gbb_flags.h +++ b/firmware/2lib/include/2gbb_flags.h @@ -41,7 +41,10 @@ enum vb2_gbb_flag { */ VB2_GBB_FLAG_FORCE_DEV_SWITCH_ON = 1 << 3, - /* Allow booting from USB in dev mode even if dev_boot_usb=0. */ + /* + * Allow booting from external disk in dev mode even if + * dev_boot_usb=0. + */ VB2_GBB_FLAG_FORCE_DEV_BOOT_USB = 1 << 4, /* Disable firmware rollback protection. */ diff --git a/firmware/2lib/include/2misc.h b/firmware/2lib/include/2misc.h index 2916b236..334b1485 100644 --- a/firmware/2lib/include/2misc.h +++ b/firmware/2lib/include/2misc.h @@ -223,7 +223,7 @@ int vb2_dev_boot_allowed(struct vb2_context *ctx); /** * Determine if booting from legacy BIOS is allowed. * - * Legacy BIOS is allowed if one of the legacy-related flags is set: + * Legacy BIOS is allowed if any of these flags are set: * VB2_NV_DEV_BOOT_LEGACY, VB2_GBB_FLAG_FORCE_DEV_BOOT_LEGACY, and * VB2_SECDATA_FWMP_DEV_ENABLE_LEGACY. * @@ -233,15 +233,15 @@ int vb2_dev_boot_allowed(struct vb2_context *ctx); int vb2_dev_boot_legacy_allowed(struct vb2_context *ctx); /** - * Determine if booting from USB or SD card is allowed. + * Determine if booting from external disk is allowed. * - * Booting from USB is allowed if one of the USB-related flags is set: - * VB2_NV_DEV_BOOT_USB, VB2_GBB_FLAG_FORCE_DEV_BOOT_USB, and - * VB2_SECDATA_FWMP_DEV_ENABLE_USB. + * Booting from external disk is allowed if any of these flags are set: + * VB2_NV_DEV_BOOT_EXTERNAL, VB2_GBB_FLAG_FORCE_DEV_BOOT_USB, and + * VB2_SECDATA_FWMP_DEV_ENABLE_EXTERNAL. * * @param ctx Vboot context * @return 1 if allowed, or 0 otherwise. */ -int vb2_dev_boot_usb_allowed(struct vb2_context *ctx); +int vb2_dev_boot_external_allowed(struct vb2_context *ctx); #endif /* VBOOT_REFERENCE_2MISC_H_ */ diff --git a/firmware/2lib/include/2nvstorage.h b/firmware/2lib/include/2nvstorage.h index 32a9b0a0..9de8056e 100644 --- a/firmware/2lib/include/2nvstorage.h +++ b/firmware/2lib/include/2nvstorage.h @@ -46,8 +46,8 @@ enum vb2_nv_param { VB2_NV_LOCALIZATION_INDEX, /* Field reserved for kernel/user-mode use; 16-bit value. */ VB2_NV_KERNEL_FIELD, - /* Allow booting from USB in developer mode. 0=no, 1=yes. */ - VB2_NV_DEV_BOOT_USB, + /* Allow booting from external disk in developer mode. 0=no, 1=yes. */ + VB2_NV_DEV_BOOT_EXTERNAL, /* Allow booting of legacy OSes in developer mode. 0=no, 1=yes. */ VB2_NV_DEV_BOOT_LEGACY, /* Only boot Google-signed images in developer mode. 0=no, 1=yes. */ diff --git a/firmware/2lib/include/2nvstorage_fields.h b/firmware/2lib/include/2nvstorage_fields.h index ec1f85e1..9575e87e 100644 --- a/firmware/2lib/include/2nvstorage_fields.h +++ b/firmware/2lib/include/2nvstorage_fields.h @@ -89,7 +89,7 @@ enum vb2_nv_offset { #define VB2_NV_BOOT2_REQ_DIAG 0x80 /* Fields in VB2_NV_OFFS_DEV (unused = 0x80) */ -#define VB2_NV_DEV_FLAG_USB 0x01 +#define VB2_NV_DEV_FLAG_EXTERNAL 0x01 #define VB2_NV_DEV_FLAG_SIGNED_ONLY 0x02 #define VB2_NV_DEV_FLAG_LEGACY 0x04 #define VB2_NV_DEV_FLAG_DEPRECATED_FASTBOOT_FULL_CAP 0x08 diff --git a/firmware/2lib/include/2secdata.h b/firmware/2lib/include/2secdata.h index e0409b7b..56ebb3b2 100644 --- a/firmware/2lib/include/2secdata.h +++ b/firmware/2lib/include/2secdata.h @@ -155,7 +155,7 @@ void vb2_secdata_kernel_set_ec_hash(struct vb2_context *ctx, enum vb2_secdata_fwmp_flags { VB2_SECDATA_FWMP_DEV_DISABLE_BOOT = (1 << 0), VB2_SECDATA_FWMP_DEV_DISABLE_RECOVERY = (1 << 1), - VB2_SECDATA_FWMP_DEV_ENABLE_USB = (1 << 2), + VB2_SECDATA_FWMP_DEV_ENABLE_EXTERNAL = (1 << 2), VB2_SECDATA_FWMP_DEV_ENABLE_LEGACY = (1 << 3), VB2_SECDATA_FWMP_DEV_ENABLE_OFFICIAL_ONLY = (1 << 4), VB2_SECDATA_FWMP_DEV_USE_KEY_HASH = (1 << 5), diff --git a/firmware/lib/vboot_ui_legacy.c b/firmware/lib/vboot_ui_legacy.c index 1b6a32e8..5f84716a 100644 --- a/firmware/lib/vboot_ui_legacy.c +++ b/firmware/lib/vboot_ui_legacy.c @@ -95,7 +95,7 @@ vb2_error_t VbDisplayDebugInfo(struct vb2_context *ctx) } /* Add dev_boot_usb flag */ - i = vb2_nv_get(ctx, VB2_NV_DEV_BOOT_USB); + i = vb2_nv_get(ctx, VB2_NV_DEV_BOOT_EXTERNAL); DEBUG_INFO_APPEND("\ndev_boot_usb: %d", i); /* Add dev_boot_legacy flag */ diff --git a/firmware/lib/vboot_ui_legacy_clamshell.c b/firmware/lib/vboot_ui_legacy_clamshell.c index 002ee18a..47e6fdba 100644 --- a/firmware/lib/vboot_ui_legacy_clamshell.c +++ b/firmware/lib/vboot_ui_legacy_clamshell.c @@ -203,14 +203,14 @@ static vb2_error_t vb2_developer_ui(struct vb2_context *ctx) VB2_DEBUG("Entering\n"); - /* Check if USB booting is allowed */ - uint32_t allow_usb = vb2_nv_get(ctx, VB2_NV_DEV_BOOT_USB); + /* Check if booting from external disk is allowed */ + uint32_t allow_usb = vb2_nv_get(ctx, VB2_NV_DEV_BOOT_EXTERNAL); uint32_t allow_legacy = vb2_nv_get(ctx, VB2_NV_DEV_BOOT_LEGACY); - /* Check if the default is to boot using disk, usb, or legacy */ + /* Check if the default boot target: internal/external disk or legacy */ uint32_t default_boot = vb2_nv_get(ctx, VB2_NV_DEV_DEFAULT_BOOT); - if (default_boot == VB2_DEV_DEFAULT_BOOT_TARGET_USB) + if (default_boot == VB2_DEV_DEFAULT_BOOT_TARGET_EXTERNAL) use_usb = 1; if (default_boot == VB2_DEV_DEFAULT_BOOT_TARGET_LEGACY) use_legacy = 1; @@ -226,7 +226,7 @@ static vb2_error_t vb2_developer_ui(struct vb2_context *ctx) } /* Handle FWMP override */ - if (vb2_secdata_fwmp_get_flag(ctx, VB2_SECDATA_FWMP_DEV_ENABLE_USB)) + if (vb2_secdata_fwmp_get_flag(ctx, VB2_SECDATA_FWMP_DEV_ENABLE_EXTERNAL)) allow_usb = 1; if (vb2_secdata_fwmp_get_flag(ctx, VB2_SECDATA_FWMP_DEV_ENABLE_LEGACY)) allow_legacy = 1; diff --git a/firmware/lib/vboot_ui_legacy_menu.c b/firmware/lib/vboot_ui_legacy_menu.c index 5faa4642..c11e845f 100644 --- a/firmware/lib/vboot_ui_legacy_menu.c +++ b/firmware/lib/vboot_ui_legacy_menu.c @@ -213,9 +213,9 @@ static vb2_error_t boot_usb_action(struct vb2_context *ctx) return VB2_REQUEST_UI_CONTINUE; } - if (!vb2_nv_get(ctx, VB2_NV_DEV_BOOT_USB) && + if (!vb2_nv_get(ctx, VB2_NV_DEV_BOOT_EXTERNAL) && !(vb2_get_gbb(ctx)->flags & VB2_GBB_FLAG_FORCE_DEV_BOOT_USB) && - !vb2_secdata_fwmp_get_flag(ctx, VB2_SECDATA_FWMP_DEV_ENABLE_USB)) { + !vb2_secdata_fwmp_get_flag(ctx, VB2_SECDATA_FWMP_DEV_ENABLE_EXTERNAL)) { vb2_flash_screen(ctx); vb2_error_notify("WARNING: Booting from external media " "(USB/SD) has not been enabled. Refer " @@ -241,10 +241,10 @@ static vb2_error_t enter_developer_menu(struct vb2_context *ctx) int menu_idx; switch(default_boot) { default: - case VB2_DEV_DEFAULT_BOOT_TARGET_DISK: + case VB2_DEV_DEFAULT_BOOT_TARGET_INTERNAL: menu_idx = VB_DEV_DISK; break; - case VB2_DEV_DEFAULT_BOOT_TARGET_USB: + case VB2_DEV_DEFAULT_BOOT_TARGET_EXTERNAL: menu_idx = VB_DEV_USB; break; case VB2_DEV_DEFAULT_BOOT_TARGET_LEGACY: @@ -845,7 +845,7 @@ static vb2_error_t vb2_developer_legacy_menu(struct vb2_context *ctx) if (default_boot == VB2_DEV_DEFAULT_BOOT_TARGET_LEGACY) boot_legacy_action(ctx); /* Doesn't return on success. */ - if (default_boot == VB2_DEV_DEFAULT_BOOT_TARGET_USB) + if (default_boot == VB2_DEV_DEFAULT_BOOT_TARGET_EXTERNAL) if (VB2_SUCCESS == boot_usb_action(ctx)) return VB2_SUCCESS; -- cgit v1.2.1