aboutsummaryrefslogtreecommitdiff
path: root/kern/processor.h
diff options
context:
space:
mode:
authorSamuel Thibault <samuel.thibault@ens-lyon.org>2024-02-23 14:04:33 +0100
committerSamuel Thibault <samuel.thibault@ens-lyon.org>2024-02-23 14:04:33 +0100
commit68e9c64926264a0bb926372b16f0dbf9c0d35224 (patch)
tree896facbbb9c722eb712b68acaf3733056dcf429d /kern/processor.h
parentb10edca40b871ca7e9ac0e09a5cf0ae8feac3311 (diff)
downloadgnumach-68e9c64926264a0bb926372b16f0dbf9c0d35224.tar.gz
gnumach-68e9c64926264a0bb926372b16f0dbf9c0d35224.tar.bz2
gnumach-68e9c64926264a0bb926372b16f0dbf9c0d35224.zip
kern: move pset_idle_lock/unlock to header
so that kern/machine.c can use it
Diffstat (limited to 'kern/processor.h')
-rw-r--r--kern/processor.h14
1 files changed, 14 insertions, 0 deletions
diff --git a/kern/processor.h b/kern/processor.h
index a562f80a..c90d0529 100644
--- a/kern/processor.h
+++ b/kern/processor.h
@@ -89,6 +89,20 @@ extern struct processor_set default_pset;
extern struct processor_set *slave_pset;
#endif
+#ifdef MACH_LDEBUG
+#define pset_idle_lock() do { \
+ assert_splsched(); \
+ simple_lock_nocheck(&pset->idle_lock); \
+} while (0)
+#define pset_idle_unlock() do { \
+ assert_splsched(); \
+ simple_unlock_nocheck(&pset->idle_lock); \
+} while (0)
+#else
+#define pset_idle_lock() simple_lock_nocheck(&pset->idle_lock)
+#define pset_idle_unlock() simple_unlock_nocheck(&pset->idle_lock)
+#endif
+
struct processor {
struct run_queue runq; /* local runq for this processor */
/* XXX want to do this round robin eventually */