cee25393d8
- Fix P15-8-init-cycle-detection.patch: replace visiting+error with seen+silent-skip to eliminate 11 false-positive 'dependency cycle detected' errors on shared deps - Fix P0-daemon-fix-init-notify-unwrap.patch: remove eprintln! for missing INIT_NOTIFY (expected for oneshot_async services, ~7 daemons affected) - Fix driver-manager hotplug loop: add PERMANENTLY_SKIPPED static set shared between hotplug handler and DriverConfig::probe() to stop infinite re-probing of Fatal/NotSupported/deferred-exhausted device+driver pairs (e.g. ided) - Fix driver-manager log_timeline: suppress repeated EPIPE/ENOENT errors with AtomicI32 dedup and AtomicBool one-shot guards for boot timeline JSON - Add driver-manager SIGTERM handler, ACPI bus registration, --status mode, driver reap loop, graceful shutdown, and reduced deferred retries (30→3)
26 lines
1019 B
Diff
26 lines
1019 B
Diff
--- a/src/syscall/mod.rs
|
|
+++ b/src/syscall/mod.rs
|
|
@@ -28,6 +28,11 @@
|
|
sync::CleanLockToken,
|
|
};
|
|
|
|
+/// Local syscall numbers not yet in the redox_syscall crate.
|
|
+/// These are allocated from the 987+ range to avoid collisions with crate numbers.
|
|
+pub const SYS_SCHED_SETAFFINITY: usize = 987;
|
|
+pub const SYS_SCHED_GETAFFINITY: usize = 988;
|
|
+
|
|
/// Debug
|
|
pub mod debug;
|
|
|
|
@@ -220,6 +225,10 @@
|
|
unlinkat(fd, UserSlice::ro(c, d)?, e, f as _, g as _, token).map(|()| 0)
|
|
}
|
|
SYS_YIELD => sched_yield(token).map(|()| 0),
|
|
+
|
|
+ // P17-3: CPU affinity syscalls. Numbers allocated locally (not yet in redox_syscall crate).
|
|
+ SYS_SCHED_SETAFFINITY => sched_setaffinity(b, UserSlice::ro(c, d)?, token),
|
|
+ SYS_SCHED_GETAFFINITY => sched_getaffinity(b, UserSlice::wo(c, d)?, token),
|
|
SYS_NANOSLEEP => nanosleep(
|
|
UserSlice::ro(b, size_of::<TimeSpec>())?,
|
|
UserSlice::wo(c, size_of::<TimeSpec>())?.none_if_null(),
|