News for hackers. Stuff that matters.
Re:Maestro: A Linux-compatible kernel in Rust by smaddox on Wednesday January 03, 2024 @03:48PM (#38859679)
You would probably need to pass around a context type that encodes information about the current context and which interrupts are possible. You would then acquire the lock via that context, which would handle disabling those interrupts.
Re:Maestro: A Linux-compatible kernel in Rust by loeg on Wednesday January 03, 2024 @05:32PM (#38860768)
Still need to set the context correctly on entry to your interrupt handlers, I guess, and passing it around is kind of ugly. In C kernels you often stash contexts in CPU-locale variables, maybe you could do something like that instead of passing it around.
Re:Maestro: A Linux-compatible kernel in Rust by smaddox on Thursday January 04, 2024 @05:17PM (#38873073)
CPU-local could work, but would give up the possibility of static type verification. Agree passing around context can be tedious, but Rust currently doesn't have a way to implicitly pass context (although there have been some proposals along those lines).