Hacker News new | ask | show | jobs
by lightandlight 12 hours ago
I'm learning operating system fundamentals by writing baremetal code for my Raspberry Pi.

My medium term goal is to draw a cursor and move it using a mouse.

I recently got the USB host driver to the point where it could recognise port connects/disconnects. Enumerating USB devices involves some waiting, so I decided to work on concurrency support so that the USB driver wouldn't block the rest of the system. This week I got preemptively scheduled threads working (super fun stuff).

Now I'm trying to make the driver code more self-contained by keeping the driver's message queue on its stack. I'm not sure if it's a good idea. I'll play around with it for another day or two and then get back to USB enumeration.