Add the current OS source tree, build scripts, system image layout, and development notes covering DMA page allocation, e1000 bring-up, net API dispatch, and DHCP work in progress.
15 lines
359 B
C
15 lines
359 B
C
#include <utsm/crypto.h>
|
|
|
|
static u64 mix64_tweak(u64 x) {
|
|
x ^= x >> 33;
|
|
x *= 0xff51afd7ed558ccdULL;
|
|
x ^= x >> 33;
|
|
x *= 0xc4ceb9fe1a85ec53ULL;
|
|
x ^= x >> 33;
|
|
return x;
|
|
}
|
|
|
|
u64 utsm_make_tweak(u64 tweak_seed, u64 line_index, u64 key_epoch) {
|
|
return mix64_tweak(tweak_seed ^ (line_index * 0x9e3779b97f4a7c15ULL) ^ (key_epoch << 32));
|
|
}
|