Mark

@offlinemark.bsky.social

trying hard. streaming kernel dev - http://youtube.com/@offlinemark blogging about life, art & systems programming. non-expert work: @ableton, prev @trailofbits home: offlinemark.com/about berlin, de

week 131, streaming kernel dev (c++) topic: kernel integration tests got the snitch C++ testing framework integrated into kernel mode, and ported some of my ad hoc test kernel tasks into it. looking pretty good! link + recap ↓

Bild

week 130, streaming kernel dev (c++) topic: kernel integration tests continued on the integration test framework, and wrote a basic test that guard pages fault. it worked but i'm not 100% happy with the design. tips appreciated from anyone who has done this b4 link + recap ↓

Bild

week 129, streaming kernel dev (c++) topic: kernel integration test framework worked on adding integration test infra which will let me write tests for behavior that would be difficult to test with unit tests (e.g. that guard page writes fault) link + recap ↓

week 120, streaming kernel dev right now topic: scheduling / task stacks will continue with either: 1. changing the task register state to be stored on the stack, instead of in the task struct, or 2. continuing with task stacks see ya 👋 youtube.com/live/05EpiL...

building my own OS in c++ (week 116, kernel thread boot loop)

#livecoding #operatingsystem #coding welcome: https://offlinemark.com/welcomediscord: https://discord.gg/P6zQBsD2ngWelcome!I’m an aspiring systems programmer...

youtube.com

week 115, streaming kernel dev right now topic: kernel threads continue with properly cleaning up task stacks at the end of a task lifetime, probably implementing some kind of deferred task cleanup see ya 👋 youtube.com/live/eFS0hb...

building my own OS in c++ (week 115, kernel threads)

#livecoding #operatingsystem #coding 👉Get Rust training from Let’s Get Rusty: https://letsgetrusty.com/start-with-markwelcome: https://offlinemark.com/welco...

youtube.com

week 113, streaming kernel dev right now topic: kernel threads continuing with scheduling/kernel threads, working on thread exit, an idle task, and properly mapping stacks instead of using the physmap see ya 👋 youtube.com/live/DM13pq...

building my own operating system in c++ (week 112, kernel threads)

(detailed timestamps in comments)#livecoding #operatingsystem #codingwelcome: https://offlinemark.com/welcomediscord: https://discord.gg/P6zQBsD2ngWelcome!I’...

youtube.com

week 112, streaming kernel dev right now topic: scheduling continue on scheduling, refactoring the yield path with an idea to remove the global scratch buffer. and then creating an api to allow tasks to exit see ya 👋 youtube.com/live/Jtw6fD...

building my own operating system in c++ (week 111, kernel threads)

(detailed timestamps in comments)#livecoding #operatingsystem #codingwelcome: https://offlinemark.com/welcomediscord: https://discord.gg/P6zQBsD2ngWelcome!I’...

youtube.com

week 111, streaming kernel dev right now topic: kernel threads (cooperative) continuing with scheduler work today, will fix some interrupt-safety topics and generally continue this line of work see ya 👋 youtube.com/live/VRukq7...

building my own operating system in c++ (week 110, kernel threads)

(detailed timestamps in comments)#livecoding #operatingsystem #codingwelcome: https://offlinemark.com/welcomediscord: https://discord.gg/P6zQBsD2ngWelcome!I’...

youtube.com

week 109, streaming kernel dev right now topic: kernel threads (cooperative) last week, we started a basic scheduler/thread implementation and got a single kernel thread running. going to work on switching between threads today see ya 👋 youtube.com/live/wWDHk4...

building my own operating system in c++ (week 108, kernel threads)

(detailed timestamps in comments)#livecoding #operatingsystem #codingwelcome: https://offlinemark.com/welcomediscord: https://discord.gg/P6zQBsD2ngWelcome!I’...

youtube.com

week 104, streaming kernel dev right now topic: x86_64 interrupts last week we started interrupts and got the most basic divide by zero exception handler working. will continue and flesh it out with a trap frame and handling it in c++ see ya 👋 youtube.com/live/h6HwJD...

building my own operating system in c++ (week 103, x86_64 interrupts)

(detailed timestamps in comments)#livecoding #operatingsystem #codingwelcome: https://offlinemark.com/welcomediscord: https://discord.gg/P6zQBsD2ngWelcome!I’...

youtube.com

week 103, streaming kernel dev right now topic: x86_64 interrupts i'm moving on to setting up interrupts. i already did this before on JOS, but now will revisit it on 64 bit to learn how that differs, including new concepts like the IST see ya 👋 youtube.com/live/vVzgOE...

building my own operating system in c++ (week 102, virtual memory)

(detailed timestamps in comments)#livecoding #operatingsystem #codingwelcome: https://offlinemark.com/welcomediscord: https://discord.gg/P6zQBsD2ngWelcome!I’...

youtube.com

week 102, streaming kernel dev right now topic: virtual memory last week we got the kernel running on its own page tables for the first time. will continue with fleshing out the kernel's virtual address space see ya 👋 youtube.com/live/iJMQcC...

building my own operating system in c++ (week 101, virtual memory)

(detailed timestamps in comments)#livecoding #operatingsystem #codingwelcome: https://offlinemark.com/welcomediscord: https://discord.gg/P6zQBsD2ngWelcome!I’...

youtube.com

week 101, streaming kernel dev right now topic: virtual memory last week we got vm unmap started. might continue with this, but also might sanity check that basic mappings work within qemu. haven't done that yet, we have only used the unit tests so far see ya 👋 youtube.com/live/_PH6kF...

building my own operating system in c++ (week 101, virtual memory)

(detailed timestamps in comments)#livecoding #operatingsystem #codingwelcome: https://offlinemark.com/welcomediscord: https://discord.gg/P6zQBsD2ngWelcome!I’...

youtube.com

week 100! streaming kernel dev topic: virtual memory unmap continuing with virtual memory, i start working on a function to unmap pages from an address space. tried using a TDD approach which worked well! prerecorded since I'm at #39c3! see ya 👋 www.youtube.com/watch?v=rqp...

building my own operating system in c++ (week 100!, virtual memory)

(detailed timestamps in comments)#livecoding #operatingsystem #codingwelcome: https://offlinemark.com/welcomediscord: https://discord.gg/P6zQBsD2ngWelcome!I’...

youtube.com

week 99, streaming kernel dev right now topic: virtual memory last week we started implementing support for mapping memory using page tables, along with a basic unit test. will continue with this this week! see ya 👋 youtube.com/live/J63PmB...

building my own operating system in c++ (week 98, virtual memory)

(detailed timestamps in comments)#livecoding #operatingsystem #codingwelcome: https://offlinemark.com/welcomediscord: https://discord.gg/P6zQBsD2ngWelcome!I’...

youtube.com

week 98, streaming kernel dev right now topic: virtual memory last week, we got the page table code harnessed and runnable in a unit test. still not sure that's a good idea, but will continue with implementing virtual memory see ya 👋 youtube.com/live/3sWoM-...

building my own operating system in c++ (week 97, page tables)

(detailed timestamps in comments)#livecoding #operatingsystem #codingwelcome: https://offlinemark.com/welcomediscord: https://discord.gg/P6zQBsD2ngWelcome!I’...

youtube.com

week 97, streaming kernel dev right now topic: virt mem/page tables continuing with virtual memory/page tables. i'm interested to see to what extent I can make my page table code unit testable, will give this a try see ya 👋 youtube.com/live/xJAo_p...

building my own operating system in c++ (week 93, page tables)

(detailed timestamps in comments)#livecoding #operatingsystem #codingwelcome: https://offlinemark.com/welcomediscord: https://discord.gg/P6zQBsD2ngWelcome!I’...

youtube.com

I was interviewed by @Raspberry_Pi for my dayjob embedded systems work at @Ableton! It's about Ableton Move, which is our portable device for making music. It's powered by a Raspberry Pi Compute Module, which has been great to work with :) Check it out: www.youtube.com/watch?v=G85...

Raspberry Pi Compute Module is the brain of Ableton Move

Raspberry Pi Compute Module is the brain of Ableton Move, allowing anyone to make and perform musicFind out more about Ableton Move at https://www.ableton.co...

youtube.com

week 96, streaming kernel dev topic: page tables got started on a simple virt address class that makes it easier to extract the bits needed for page table indexing. will be useful for doing page table walks (prerecorded since I'm away) see ya 👋 youtu.be/LRZ40QCKUno...

building my own operating system in c++ (week 96, page tables)

(detailed timestamps in comments)#livecoding #operatingsystem #codingwelcome: https://offlinemark.com/welcomediscord: https://discord.gg/XsgpqpVxNuWelcome!I’...

youtube.com

week 94, streaming kernel dev 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

building my own operating system in c++ (week 94, physmap)

(detailed timestamps in comments)#livecoding #operatingsystem #codingwelcome: https://offlinemark.com/welcomediscord: https://discord.gg/XsgpqpVxNuWelcome!I’...

youtube.com

week 93, streaming kernel dev right now 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...

building my own operating system in c++ (week 93, page tables)

(detailed timestamps in comments)#livecoding #operatingsystem #codingwelcome: https://offlinemark.com/welcomediscord: https://discord.gg/XsgpqpVxNuWelcome!I’...

youtube.com

week 82, streaming kernel dev right now 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...

building my own operating system (week 82, c++ stl)

(detailed timestamps in comments)#livecoding #operatingsystem #codingwelcome: https://offlinemark.com/welcomediscord: https://discord.gg/XsgpqpVxNuWelcome!I’...

youtube.com

week 81, streaming kernel dev right now 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...

building my own operating system (week 81)

(detailed timestamps in comments)#livecoding #operatingsystem #codingNew here? Welcome info here: https://offlinemark.com/welcomediscord: https://discord.gg/...

youtube.com

week 80, streaming kernel dev right now 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...

chill OS/kernel hacking // code with me (week 80, clang cmake)

(detailed timestamps in comments)#livecoding #softwareengineering #operatingsystem discord: https://discord.gg/XsgpqpVxNuWelcome! This is my chill Operating ...

youtube.com