Commit 50b06aea authored by Sherry Zhang's avatar Sherry Zhang Committed by Dávid Vincze
Browse files

boot: Fix build time error in DIRECT_XIP mode



Signed-off-by: default avatarSherry Zhang <sherry.zhang2@arm.com>
Change-Id: I18ce06e008f858a1fef246bf1a4e527320ba6912
parent a09ca5b9
Loading
Loading
Loading
Loading
+8 −12
Original line number Diff line number Diff line
@@ -2867,13 +2867,13 @@ boot_load_and_validate_images(struct boot_loader_state *state,
 * Updates the security counter for the current image.
 *
 * @param  state        Boot loader status information.
 * @param  active_slot  Index of the slot will be loaded for current image.
 * @param  slot_usage   Information about the active and available slots.
 *
 * @return              0 on success; nonzero on failure.
 */
static int
boot_update_hw_rollback_protection(struct boot_loader_state *state,
                                   uint32_t active_slot)
                                   const struct slot_usage_t slot_usage[])
{
#ifdef MCUBOOT_HW_ROLLBACK_PROT
    int rc;
@@ -2889,8 +2889,9 @@ boot_update_hw_rollback_protection(struct boot_loader_state *state,
     */
    if (slot_usage[BOOT_CURR_IMG(state)].swap_state.image_ok == BOOT_FLAG_SET) {
#endif
        rc = boot_update_security_counter(BOOT_CURR_IMG(state), active_slot,
                                            boot_img_hdr(state, active_slot));
        rc = boot_update_security_counter(BOOT_CURR_IMG(state),
                                          slot_usage[BOOT_CURR_IMG(state)].active_slot,
                                          boot_img_hdr(state, slot_usage[BOOT_CURR_IMG(state)].active_slot));
        if (rc != 0) {
            BOOT_LOG_ERR("Security counter update failed after image "
                            "validation.");
@@ -2904,8 +2905,7 @@ boot_update_hw_rollback_protection(struct boot_loader_state *state,

#else /* MCUBOOT_HW_ROLLBACK_PROT */
    (void) (state);
    (void) (active_slot);

    (void) (slot_usage);
    return 0;
#endif
}
@@ -2916,7 +2916,6 @@ context_boot_go(struct boot_loader_state *state, struct boot_rsp *rsp)
    struct slot_usage_t slot_usage[BOOT_IMAGE_NUMBER];
    int rc;
    fih_int fih_rc;
    uint32_t active_slot;

    memset(state, 0, sizeof(struct boot_loader_state));
    memset(slot_usage, 0, sizeof(struct slot_usage_t) * BOOT_IMAGE_NUMBER);
@@ -2949,15 +2948,12 @@ context_boot_go(struct boot_loader_state *state, struct boot_rsp *rsp)
#endif

    IMAGES_ITER(BOOT_CURR_IMG(state)) {

        active_slot = slot_usage[BOOT_CURR_IMG(state)].active_slot;

        rc = boot_update_hw_rollback_protection(state, active_slot);
        rc = boot_update_hw_rollback_protection(state, slot_usage);
        if (rc != 0) {
            goto out;
        }

        rc = boot_add_shared_data(state, active_slot);
        rc = boot_add_shared_data(state, slot_usage[BOOT_CURR_IMG(state)].active_slot);
        if (rc != 0) {
            goto out;
        }