reserve_unaccepted(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

✨ reserve_unaccepted(9): the Kernel API Manual glow-up ✨

okay so bestie, this is reserve_unaccepted from the Kernel API Manual β€” yes that's the manual name, we're not copying the header line, we're better than that πŸ’…. Buckle up, this one's all about the unaccepted configuration table and making sure it gets mapped and reserved properly. no cap.


🌸 SYNOPSIS 🌸

void reserve_unaccepted (struct efi_unaccepted_memory *unaccepted );

like, that's the whole signature. slay. ✨


πŸŽ€ ARGUMENTS πŸŽ€

  • unaccepted β€” a pointer to the unaccepted memory table. that's it. that's the argument. she's got one job 🫢

πŸ’– DESCRIPTION πŸ’–

okay so first things first: memblock_add makes sure that the table is mapped in direct mapping. iconic behavior honestly.

during a normal boot this whole thing just happens automatically, because the table gets allocated from usable memory β€” main character energy, it doesn't need help 🌈. but during crashkernel boot, only the memory that's specifically reserved for the crash scenario is mapped. so memblock_add is out here forcing the table to be mapped in the crashkernel case. lowkey a hero. 😭

then we align the range to the nearest page borders. ranges that are smaller than page size are not going to be mapped β€” so if your range is tiny, bestie, it's giving nothing, it's not getting mapped. periodt. πŸ’€

and finally, memblock_reserve makes sure that future allocations will not touch the table. protecting her peace 🧚✨.


πŸ¦‹ SEE ALSO πŸ¦‹

go read those, iykyk πŸ‘‘


πŸ’œ no cap, if you skip the page-border alignment part, small ranges just won't get mapped β€” that's not me being dramatic, that's literally what the page says πŸ™ˆ

and that's the whole vibe check, bestie πŸŽ€ β€” this lil beauty lives in ./drivers/firmware/efi, dated October 2026, and it's the reserve_unaccepted(9) page, so go forth and reserve your unaccepted stuff correctly fr fr πŸ’…βœ¨

πŸ“¦ where this page comes from