uint32_t __div64_32(u64 *xp, u32 y) { uint32_t rem; uint64_t q = __xdiv64_32(*xp, y); rem = *xp - q * y; *xp = q; return rem; }
u64 __udivdi3(u64 n, u64 d) { if (unlikely(d & 0xffffffff00000000ULL)) panic("Need true 64-bit/64-bit division"); return __xdiv64_32(n, (u32)d); }