diff options
-rw-r--r-- | futility/flashrom_drv.c | 4 | ||||
-rw-r--r-- | futility/updater.c | 11 | ||||
-rw-r--r-- | futility/updater.h | 3 | ||||
-rw-r--r-- | futility/updater_utils.c | 5 | ||||
-rw-r--r-- | futility/updater_utils.h | 4 |
5 files changed, 17 insertions, 10 deletions
diff --git a/futility/flashrom_drv.c b/futility/flashrom_drv.c index 69532f40..8630b8f3 100644 --- a/futility/flashrom_drv.c +++ b/futility/flashrom_drv.c @@ -118,7 +118,7 @@ err_cleanup: int flashrom_write_image(const struct firmware_image *image, const char *region, const struct firmware_image *diff_image, - int verbosity) + int do_verify, int verbosity) { int r = 0; size_t len = 0; @@ -180,7 +180,7 @@ int flashrom_write_image(const struct firmware_image *image, flashrom_flag_set(flashctx, FLASHROM_FLAG_VERIFY_WHOLE_CHIP, true); flashrom_flag_set(flashctx, FLASHROM_FLAG_VERIFY_AFTER_WRITE, true); - if (diff_image) /* equiv --noverify --flash-contents=diff_image at cli */ + if (!do_verify) flashrom_flag_set(flashctx, FLASHROM_FLAG_VERIFY_AFTER_WRITE, false); r |= flashrom_image_write(flashctx, image->data, image->size, diff --git a/futility/updater.c b/futility/updater.c index b550b33c..9a98adea 100644 --- a/futility/updater.c +++ b/futility/updater.c @@ -403,11 +403,14 @@ static int write_firmware(struct updater_config *cfg, cfg->emulation, image, section_name); } - if (cfg->fast_update && image == &cfg->image && cfg->image_current.data) + if (cfg->use_diff_image && image == &cfg->image && + cfg->image_current.data) { diff_image = &cfg->image_current; + } return write_system_firmware(image, diff_image, section_name, - &cfg->tempfiles, cfg->verbosity + 1); + &cfg->tempfiles, cfg->do_verify, + cfg->verbosity + 1); } /* @@ -1272,6 +1275,7 @@ struct updater_config *updater_new_config() cfg->pd_image.programmer = PROG_PD; cfg->check_platform = 1; + cfg->do_verify = 1; init_system_properties(&cfg->system_properties[0], ARRAY_SIZE(cfg->system_properties)); @@ -1471,7 +1475,8 @@ int updater_setup_config(struct updater_config *cfg, /* Setup values that may change output or decision of other argument. */ cfg->verbosity = arg->verbosity; - cfg->fast_update = arg->fast_update; + cfg->use_diff_image = arg->fast_update; + cfg->do_verify = !arg->fast_update; cfg->factory_update = arg->is_factory; if (arg->force_update) cfg->force_update = 1; diff --git a/futility/updater.h b/futility/updater.h index 856ea781..721f09f1 100644 --- a/futility/updater.h +++ b/futility/updater.h @@ -69,7 +69,8 @@ struct updater_config { int legacy_update; int factory_update; int check_platform; - int fast_update; + int use_diff_image; + int do_verify; int verbosity; const char *emulation; int override_gbb_flags; diff --git a/futility/updater_utils.c b/futility/updater_utils.c index 50a33267..2221a878 100644 --- a/futility/updater_utils.c +++ b/futility/updater_utils.c @@ -542,9 +542,10 @@ int write_system_firmware(const struct firmware_image *image, const struct firmware_image *diff_image, const char *section_name, struct tempfile *tempfiles, - int verbosity) + int do_verify, int verbosity) { - return flashrom_write_image(image, section_name, diff_image, (verbosity + 1)); + return flashrom_write_image(image, section_name, diff_image, + do_verify, (verbosity + 1)); } /* Helper function to return host software write protection status. */ diff --git a/futility/updater_utils.h b/futility/updater_utils.h index 2ab6f071..ae5574f2 100644 --- a/futility/updater_utils.h +++ b/futility/updater_utils.h @@ -107,7 +107,7 @@ int write_system_firmware(const struct firmware_image *image, const struct firmware_image *diff_image, const char *section_name, struct tempfile *tempfiles, - int verbosity); + int do_verify, int verbosity); struct firmware_section { uint8_t *data; @@ -236,6 +236,6 @@ int flashrom_read_image(struct firmware_image *image, const char *region, int flashrom_write_image(const struct firmware_image *image, const char *region, const struct firmware_image *diff_image, - int verbosity); + int do_verify, int verbosity); #endif /* VBOOT_REFERENCE_FUTILITY_UPDATER_UTILS_H_ */ |