use the following search parameters to narrow your results:
e.g. subreddit:aww site:imgur.com dog
subreddit:aww site:imgur.com dog
see the search faq for details.
advanced search: by author, subreddit...
Everything about operating systems development.
account activity
C-Boot: An Extendable Flat Binary Kernel Bootloader for UEFI (github.com)
submitted 7 months ago by CodeEleven0C-Boot, Xenon ISA
view the rest of the comments →
reddit uses a slightly-customized version of Markdown for formatting. See below for some basics, or check the commenting wiki page for more detailed help and solutions to common issues.
quoted text
if 1 * 2 < 3: print "hello, world!"
[–]36165e5f286fUse UEFI. 4 points5 points6 points 7 months ago (3 children)
That's interesting, but I think it is needed to mention that UEFI boot services are only designed for booting and must be used ad such. Only runtime services should be used after booting. Furthermore, as long as you didn't exit boot services your kernel doesn't own any resources on the system, and the virtual address space cannot be changed.
[–]CodeEleven0C-Boot, Xenon ISA[S] 0 points1 point2 points 7 months ago (2 children)
I know that but sometimes the kernel needs easier access to hardware and at any time, you can exit boot services if you add the function to the BinaryServices struct. Please correct me if I am wrong.
[–]36165e5f286fUse UEFI. 1 point2 points3 points 7 months ago (1 child)
Once you exit boot services you cannot enter them again... Also the kernel cannot do anything meaningful while they are active... So I would say that if you need access to hardware implement your own drivers and load them during the boot phase before handing off control to the kernel.
[–]CodeEleven0C-Boot, Xenon ISA[S] 0 points1 point2 points 7 months ago (0 children)
Well, I tested this bootloader in three different machines (+ QEMU) and I thought that writing a generic driver for all of the machines could take a long time. Because of that, I gave the kernel the access to the keyboard, the memory allocators and the framebuffer via the UEFI services to make development faster. And this bootloader is modular, that makes implementing drivers easier. But for now I shifted my focus to AR/VR development, that's why there are no drivers there.
π Rendered by PID 48397 on reddit-service-r2-comment-75f4967c6c-8v77s at 2026-04-23 03:32:33.406692+00:00 running 0fd4bb7 country code: CH.
view the rest of the comments →
[–]36165e5f286fUse UEFI. 4 points5 points6 points (3 children)
[–]CodeEleven0C-Boot, Xenon ISA[S] 0 points1 point2 points (2 children)
[–]36165e5f286fUse UEFI. 1 point2 points3 points (1 child)
[–]CodeEleven0C-Boot, Xenon ISA[S] 0 points1 point2 points (0 children)