vc7_64_mul_64_to_128(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… vc7_64_mul_64_to_128 πŸ’…

okay bestie, welcome to the Kernel API Manual ✨ β€” specifically the page for vc7_64_mul_64_to_128(9), and no, that name is not a typo, it's giving "I was named by someone who really loves underscores" and honestly? iconic. πŸŽ€


🌸 NAME 🌸

vc7_64_mul_64_to_128 β€” multiplies two u64 values and hands you back an unsigned 128-bit integer, split into an upper part and a lower part. two halves, one big number, we love a duo πŸ’–


✨ SYNOPSIS ✨

void vc7_64_mul_64_to_128 (u64 left , u64 right , u64 *hi , u64 *lo );

like, that's it. that's the whole vibe. returns void because the result comes out through the pointers, main character energy fr fr πŸ‘‘


πŸ¦‹ ARGUMENTS πŸ¦‹

  • left β€” the left argument. yes, that's the whole description. she's mysterious, she's on the left, we respect her 🌸
  • right β€” the right argument. same deal, but on the other side. balance. symmetry. yin and yang 🫢
  • hi β€” the upper 64 bits of the 128-bit product. the top half, the penthouse apartment of the result πŸ’…
  • lo β€” the lower 64 bits of the 128-bit product. the ground floor, also essential, don't sleep on her 😭

🧚 DESCRIPTION 🧚

okay so here's the tea β˜• β€” this function comes straight from mul_64_64 in crypto/ecc.c:350 in the linux kernel, and this page is documenting what it looks like as accessed in v5.17.2. that's the version, that's the line number, that's the file, we're not guessing, this is receipts-only territory πŸ”₯

you give it two u64s, you give it two u64 *s to write into, and it does the big multiplication that a plain u64 could never hold on its own. 64 times 64 equals 128 bits of product, and she splits it clean down the middle so your hi and lo can each live their best 64-bit life ✨


🌈 SEE ALSO 🌈

  • Kernel file ./drivers/clk/clk-versaclock7.c β€” the actual home of this whole situation 🏠
  • vc7_128_div_64_to_64(9) β€” yes, there's a division one too, she's the sibling, go read her page too, iykyk πŸ’œ

πŸ’€ quick reminder bestie: keep every number, path and pointer exactly as written. u64 is not u128, hi is not lo, and void means she doesn't return anything. the vibes are flexible, the facts are not. periodt. πŸ’…

and that's the page! brought to you by ./drivers/clk, dated October 2026, sitting pretty in the Kernel API Manual as vc7_64_mul_64_to_128(9) β€” slay, go multiply something, ily, bye πŸŽ€πŸ¦‹πŸ’–

πŸ“¦ where this page comes from