feat: add Rust userspace support; fix TLS layout for p_align < 16; kill whole process on sibling-thread faults

This commit is contained in:
daniel committed 2026-10-14 07:16:42 +02:00
1 parent a81298fb24
commit f8b8f9610f
31 files changed
+1076 -38

No files matched your search

+18
View File
@@ -0,0 +1,18 @@
//! Time and sleeping.
use core::time::Duration;
use crate::sys;
/// Milliseconds since boot (monotonic).
pub fn uptime_ms() -> u64 {
unsafe { sys::syscall0(sys::SYS_GETMILLISECONDS) as u64 }
}
/// Sleep for at least `d`, rounded up to the 1 ms scheduler tick.
pub fn sleep(d: Duration) {
let ms = d.as_millis().min(u64::MAX as u128) as u64 + u64::from(d.subsec_nanos() % 1_000_000 != 0);
if ms > 0 {
unsafe { sys::syscall1(sys::SYS_SLEEP_MS, ms) };
}
}