blogging about life, art & systems programming. non-expert
work: @ableton, prev @trailofbits
home: offlinemark.com/about
berlin, de
I’d love to organize another hobby OS dev meetup and maybe do a small kernel dev workshop for anyone interested. Could also bring some merch to sell from shop.offlinemark.com ! 🙏
I’d love to organize another hobby OS dev meetup and maybe do a small kernel dev workshop for anyone interested. Could also bring some merch to sell from shop.offlinemark.com ! 🙏
topic: physmap
Working on some unit tests for the physmap physToVirt() and virtToPhys() functions today. Testing out LLM assisted unit test generation
(Prerecorded since I'm away)
see ya 👋
youtu.be/oXY1ylrW6GM
topic: physmap
Working on some unit tests for the physmap physToVirt() and virtToPhys() functions today. Testing out LLM assisted unit test generation
(Prerecorded since I'm away)
see ya 👋
youtu.be/oXY1ylrW6GM
topic: virtual memory
last week we finished the bitmap allocator, complete with unit tests. will continue on whatever's next, probably using that to allocate page tables and set up virtual memory
see ya 👋
youtube.com/live/SO7x0Z...
topic: virtual memory
last week we finished the bitmap allocator, complete with unit tests. will continue on whatever's next, probably using that to allocate page tables and set up virtual memory
see ya 👋
youtube.com/live/SO7x0Z...
topic: c++ STL
last week we got c++ working in the cmake build. now that we have that working, continuing today with trying out some embedded/freestanding STL options
see ya 👋
youtube.com/live/-ukB4U...
topic: c++ STL
last week we got c++ working in the cmake build. now that we have that working, continuing today with trying out some embedded/freestanding STL options
see ya 👋
youtube.com/live/-ukB4U...
topic: lldb, c++, STL
last week we got all the clang/llvm work ported over to cmake. will continue with using lldb instead of gdb, then moving on to c++ support (hopefully including some kind of STL to use)
see ya 👋
youtube.com/live/lJRi_h...
topic: lldb, c++, STL
last week we got all the clang/llvm work ported over to cmake. will continue with using lldb instead of gdb, then moving on to c++ support (hopefully including some kind of STL to use)
see ya 👋
youtube.com/live/lJRi_h...
topic: clang/c++ cmake
last week we got limine integrated into cmake, will continue with porting the clang/c++ support I previously worked on, into cmake
see ya 👋
youtube.com/live/jwvHrq...
topic: clang/c++ cmake
last week we got limine integrated into cmake, will continue with porting the clang/c++ support I previously worked on, into cmake
see ya 👋
youtube.com/live/jwvHrq...
topic: networking
last week we finally got RX working and received network data into userspace. continuing with networking today and likely finish the networking lab
see ya 👋
youtube.com/live/7X8WKy...
topic: networking
last week we finally got RX working and received network data into userspace. continuing with networking today and likely finish the networking lab
see ya 👋
youtube.com/live/7X8WKy...
topic: network driver
continuing with last week's work to get the nic initialized!
see ya 👋
youtube.com/live/Gf6Y_Q...
topic: network driver
continuing with last week's work to get the nic initialized!
see ya 👋
youtube.com/live/Gf6Y_Q...
topic: network/NIC driver
after learning last week about qemu networking, today we're going to work on initializing the network card via PCI and accessing it via mmio
see ya 👋
youtube.com/live/cFfENG...
topic: network/NIC driver
after learning last week about qemu networking, today we're going to work on initializing the network card via PCI and accessing it via mmio
see ya 👋
youtube.com/live/cFfENG...
topic: network driver
starting the network driver, which is the final lab of the coursework I'm following
(also, multi-streaming to twitch today for the first time)
see ya 👋
youtube.com/live/j4o7Km...
topic: network driver
starting the network driver, which is the final lab of the coursework I'm following
(also, multi-streaming to twitch today for the first time)
see ya 👋
youtube.com/live/j4o7Km...
topic: filesystem / process spawn
streaming some filesystem dev and debugging, then moving onto start process spawning
(prerecorded since i'm away today, back live next week - see ya 👋)
www.youtube.com/watch?v=E0K...
topic: filesystem / process spawn
streaming some filesystem dev and debugging, then moving onto start process spawning
(prerecorded since i'm away today, back live next week - see ya 👋)
www.youtube.com/watch?v=E0K...
topic: exec / spawn syscall
now that we have a filesystem, we can try to exec programs from disk :) working on this today
see ya 👋
youtube.com/live/-FeYOM...
topic: exec / spawn syscall
now that we have a filesystem, we can try to exec programs from disk :) working on this today
see ya 👋
youtube.com/live/-FeYOM...
topic: filesystem
working on the core fs routines for walking the filesystem to find disk blocks
see ya 👋
youtube.com/live/zTUK5f...
topic: filesystem
working on the core fs routines for walking the filesystem to find disk blocks
see ya 👋
youtube.com/live/zTUK5f...
topic: continue hacking on the filesystem
see ya 👋
youtube.com/live/3o-CYb...
topic: continue hacking on the filesystem
see ya 👋
youtube.com/live/3o-CYb...
topic: filesystem
needed to debug some boot issues last week after merging in the new lab code; will actually start the filesystem work today
see ya 👋
youtube.com/live/bNg7oQ...
topic: filesystem
needed to debug some boot issues last week after merging in the new lab code; will actually start the filesystem work today
see ya 👋
youtube.com/live/bNg7oQ...
topic: begin filesystem
finished the multicore/fork/IPC labs last week, beginning filesystem work this week 🤠
see ya 👋
youtube.com/live/kVPJ95o...
topic: begin filesystem
finished the multicore/fork/IPC labs last week, beginning filesystem work this week 🤠
see ya 👋
youtube.com/live/kVPJ95o...
topic: basic IPC
working on a basic IPC system so processes can send messages between each other
see ya 👋
youtube.com/live/35QuRw...
topic: basic IPC
working on a basic IPC system so processes can send messages between each other
see ya 👋
youtube.com/live/35QuRw...
topic: debug final bugs with COW fork syscall
debugging a subtle bug in my COW fork support: I didn't realize that the child will immediately fault in its stack when it gets execution after the fork
(prerecorded since I'm at CCC!)
youtu.be/ohT3ZHI4kRc
topic: debug final bugs with COW fork syscall
debugging a subtle bug in my COW fork support: I didn't realize that the child will immediately fault in its stack when it gets execution after the fork
(prerecorded since I'm at CCC!)
youtu.be/ohT3ZHI4kRc
topic: preemptive multitasking
very exciting! we've only had cooperative multitasking with explicit yields so far — now it's time to implement preemption with a timer interrupt
see ya 👋
youtube.com/live/CfEJOB...
topic: preemptive multitasking
very exciting! we've only had cooperative multitasking with explicit yields so far — now it's time to implement preemption with a timer interrupt
see ya 👋
youtube.com/live/CfEJOB...
topic: copy on write fork() in userspace
continuing with this now that I finally understand this "UVPT" recursive page table mechanism for mapping the page tables so they're accessible from userspace
see ya 👋
youtube.com/live/ura43M...
topic: copy on write fork() in userspace
continuing with this now that I finally understand this "UVPT" recursive page table mechanism for mapping the page tables so they're accessible from userspace
see ya 👋
youtube.com/live/ura43M...
topic: copy on write fork() in userspace
now that we have userspace page fault handling working, we can proceed to the lab where we implement copy on write fork, entirely in userspace
see ya 👋
youtube.com/live/PjsXpSu...
topic: copy on write fork() in userspace
now that we have userspace page fault handling working, we can proceed to the lab where we implement copy on write fork, entirely in userspace
see ya 👋
youtube.com/live/PjsXpSu...
a heartfelt thank you to anyone who has joined, watched, commented, or supported my streams in any way 🙏
it's really wild how much you can learn by just practicing something for 2 hours a week, every week.
next stop: 52 weeks of kernel dev 🌽 🤓
a heartfelt thank you to anyone who has joined, watched, commented, or supported my streams in any way 🙏
it's really wild how much you can learn by just practicing something for 2 hours a week, every week.
next stop: 52 weeks of kernel dev 🌽 🤓
topic: userspace page fault handling
prequel to week 43, worked on the kernel-mode syscall support behind userspace PF handling (incl. recursive page fault support)
(pre-recorded since I'm away this week ✌️)
https://www.youtube.com/watch?v=5fv6Pjx3in8
topic: userspace page fault handling
prequel to week 43, worked on the kernel-mode syscall support behind userspace PF handling (incl. recursive page fault support)
(pre-recorded since I'm away this week ✌️)
https://www.youtube.com/watch?v=5fv6Pjx3in8
topic: userspace page fault handling
making decent progress, will work on the assembly stub that returns control back to the user thread
see ya 👋
#programming
https://youtube.com/live/WcbInYfBAOQ?feature=share
topic: userspace page fault handling
making decent progress, will work on the assembly stub that returns control back to the user thread
see ya 👋
#programming
https://youtube.com/live/WcbInYfBAOQ?feature=share