From 448ee5105de59e1eb4324ed62070bc130bd32c7a Mon Sep 17 00:00:00 2001 From: lbmkplaceholder Date: Fri, 23 Dec 2022 10:37:30 +0000 Subject: util/nvmutil: optimise cmd_swap() further don't do xor swap. we know gbe2 is always 4KB higher than gbe in memory, so we can just set gbe2 to the value of gbe, and OR the size in bytes of 4KB into gbe2 this is only a marginal speed boost, negligible even, but it's done for the lulz --- util/nvmutil/nvmutil.c | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) (limited to 'util') diff --git a/util/nvmutil/nvmutil.c b/util/nvmutil/nvmutil.c index 9a70634e..76273550 100644 --- a/util/nvmutil/nvmutil.c +++ b/util/nvmutil/nvmutil.c @@ -355,18 +355,16 @@ void cmd_swap(void) { int part0, part1; - size_t g1 = (size_t) gbe; - size_t g2 = (size_t) gbe2; + size_t ptr; part0 = validChecksum(0); part1 = validChecksum(1); if (part0 || part1) { - g1 ^= g2; - g2 ^= g1; - g1 ^= g2; - gbe = (uint8_t *) g1; - gbe2 = (uint8_t *) g2; + gbe2 = gbe; + ptr = (size_t) gbe; + ptr |= SIZE_4KB; + gbe = (uint8_t *) ptr; gbeFileModified = 1; nvmPartModified[0] = 1; -- cgit v1.2.1