Commit c1eb677e authored by Geoff Simmons's avatar Geoff Simmons

Micro-tweaking wipe().

parent 61abf67e
Pipeline #231 skipped
...@@ -752,23 +752,20 @@ wipe(void * const dst, size_t len, uint8_t val) ...@@ -752,23 +752,20 @@ wipe(void * const dst, size_t len, uint8_t val)
volatile uint8_t *p = (volatile uint8_t *)dst; volatile uint8_t *p = (volatile uint8_t *)dst;
while (((uintptr_t)p & (sizeof(uint64_t)-1)) && len) { while (((uintptr_t)p & (sizeof(uint64_t)-1)) && len) {
*p = val; *p++ = val;
p++;
len--; len--;
} }
if (len >= sizeof(uint64_t)) { if (len >= sizeof(uint64_t)) {
volatile uint64_t *p64; volatile uint64_t *p64 = (volatile void *)p;
uint64_t val64 = (uint64_t)0x0101010101010101 * val; uint64_t val64 = (uint64_t)0x0101010101010101 * val;
do { do {
p64 = (volatile void *)p; *p64++ = val64;
*p64 = val64;
p += sizeof(uint64_t);
len -= sizeof(uint64_t); len -= sizeof(uint64_t);
} while (len >= sizeof(uint64_t)); } while (len >= sizeof(uint64_t));
p = (volatile void *)p64;
} }
while (len) { while (len) {
*p = val; *p++ = val;
p++;
len--; len--;
} }
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment