Dear Tock OS Team, I hope you are doing well. My name is Mohammad Muzamil, and I am currently working on a small operating system project called Qunix. GitHub repository: https://github.com/MohammadMuzamil23/Qunix-Operating-System/ I am currently facing an issue where the system boots successfully, but the userland does not start. I have been trying to debug the kernel-to-userland transition, but I am currently stuck and unable to identify the root cause. Since I am studying embedded and systems-level OS design, I have been learning from the architecture and security model of Tock OS, and it has been very helpful for understanding safe isolation and user-space execution. If possible, I would greatly appreciate any guidance on: Common causes of userland failing to start in embedded OS designs Debugging approaches for kernel → user space transition Or any design patterns that help ensure reliable userland execution Even a small pointer would be extremely helpful and would guide me in the right direction. Thank you very much for your time and for your work on secure embedded operating systems. Best regards, Mohammad Muzamil
Hi Mohammad, Yeah, this is always a difficult place to work because it's hard to get any visibility into differences between the code and what the hardware requires. When we originally wrote the RISC-V context switch code we heavily relied on existing RISC-V code and this series of blog posts ( https://www.sifive.com/blog/all-aboard-part-7-entering-and-exiting-the-linux...). That is my best recommendation: copy as close as possible an existing implementation until you can verify that userspace instructions execute. Then with that baseline you can improve the context switch code to better match your needs. It might also be helpful to look back at earlier versions of the context switch code in Tock, as it has gotten better, but more complicated over time. -Brad On Sun, Apr 12, 2026 at 2:28 PM Mohammad Muzamil via Devel < devel@lists.tockos.org> wrote:
Dear Tock OS Team, I hope you are doing well. My name is Mohammad Muzamil, and I am currently working on a small operating system project called Qunix. GitHub repository:
https://github.com/MohammadMuzamil23/Qunix-Operating-System/
I am currently facing an issue where the system boots successfully, but the userland does not start. I have been trying to debug the kernel-to-userland transition, but I am currently stuck and unable to identify the root cause. Since I am studying embedded and systems-level OS design, I have been learning from the architecture and security model of Tock OS, and it has been very helpful for understanding safe isolation and user-space execution. If possible, I would greatly appreciate any guidance on: Common causes of userland failing to start in embedded OS designs Debugging approaches for kernel → user space transition Or any design patterns that help ensure reliable userland execution Even a small pointer would be extremely helpful and would guide me in the right direction. Thank you very much for your time and for your work on secure embedded operating systems. Best regards, Mohammad Muzamil _______________________________________________ Devel mailing list -- devel@lists.tockos.org To unsubscribe send an email to devel-leave@lists.tockos.org
participants (2)
-
Brad Campbell -
Mohammad Muzamil