diff options
author | Leah Rowe <leah@libreboot.org> | 2023-01-27 14:26:24 +0000 |
---|---|---|
committer | Leah Rowe <leah@libreboot.org> | 2023-01-27 14:26:24 +0000 |
commit | 24d56456763194702b29a565141d0c32d8933d3f (patch) | |
tree | 5c717ed53546b56d8eeb25b793385804c387756a /util/nvmutil | |
parent | ef84329a81d9082e23aafc2f1a06599d7b3611f5 (diff) |
util/nvmutil: optimise cmd_swap()
On many Lenovo GbE regions (in factory firmware), part 0 is
invalid but part 1 is valid.
This change means part 1 is checked first. If part 1 is valid,
part 0 won't be checked at all (due to how most C compilers
optimise).
Most people are just going to extract the factory GbE file,
modify it and re-insert it into the ROM image, so this causes
a nice speedup.
Diffstat (limited to 'util/nvmutil')
-rw-r--r-- | util/nvmutil/nvmutil.c | 7 |
1 files changed, 1 insertions, 6 deletions
diff --git a/util/nvmutil/nvmutil.c b/util/nvmutil/nvmutil.c index e2dafec7..5edb9d48 100644 --- a/util/nvmutil/nvmutil.c +++ b/util/nvmutil/nvmutil.c @@ -351,12 +351,7 @@ cmd_brick(void) void cmd_swap(void) { - int part0, part1; - - part0 = validChecksum(0); - part1 = validChecksum(1); - - if (part0 || part1) { + if (validChecksum(1) || validChecksum(0)) { gbe[0] ^= gbe[1]; gbe[1] ^= gbe[0]; gbe[0] ^= gbe[1]; |