Module Name: src
Committed By: riastradh
Date: Sun Oct 15 10:27:11 UTC 2023
Modified Files:
src/sys/ddb: db_syncobj.h
src/sys/kern: kern_condvar.c kern_ktrace.c kern_lwp.c kern_mutex.c
kern_rwlock.c kern_sleepq.c kern_synch.c kern_turnstile.c sys_lwp.c
sys_select.c
src/sys/sys: lwp.h sleepq.h sleeptab.h syncobj.h
Added Files:
src/sys/sys: wchan.h
Log Message:
sys/lwp.h: Nix sys/syncobj.h dependency.
Remove it in ddb/db_syncobj.h too.
New sys/wchan.h defines wchan_t so that users need not pull in
sys/syncobj.h to get it.
Sprinkle #include <sys/syncobj.h> in .c files where it is now needed.
To generate a diff of this commit:
cvs rdiff -u -r1.1 -r1.2 src/sys/ddb/db_syncobj.h
cvs rdiff -u -r1.60 -r1.61 src/sys/kern/kern_condvar.c
cvs rdiff -u -r1.182 -r1.183 src/sys/kern/kern_ktrace.c
cvs rdiff -u -r1.265 -r1.266 src/sys/kern/kern_lwp.c
cvs rdiff -u -r1.110 -r1.111 src/sys/kern/kern_mutex.c
cvs rdiff -u -r1.74 -r1.75 src/sys/kern/kern_rwlock.c
cvs rdiff -u -r1.84 -r1.85 src/sys/kern/kern_sleepq.c
cvs rdiff -u -r1.363 -r1.364 src/sys/kern/kern_synch.c
cvs rdiff -u -r1.53 -r1.54 src/sys/kern/kern_turnstile.c
cvs rdiff -u -r1.87 -r1.88 src/sys/kern/sys_lwp.c
cvs rdiff -u -r1.64 -r1.65 src/sys/kern/sys_select.c
cvs rdiff -u -r1.228 -r1.229 src/sys/sys/lwp.h
cvs rdiff -u -r1.40 -r1.41 src/sys/sys/sleepq.h
cvs rdiff -u -r1.2 -r1.3 src/sys/sys/sleeptab.h
cvs rdiff -u -r1.17 -r1.18 src/sys/sys/syncobj.h
cvs rdiff -u -r0 -r1.1 src/sys/sys/wchan.h
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
Modified files:
Index: src/sys/ddb/db_syncobj.h
diff -u src/sys/ddb/db_syncobj.h:1.1 src/sys/ddb/db_syncobj.h:1.2
--- src/sys/ddb/db_syncobj.h:1.1 Sun Jul 9 17:10:47 2023
+++ src/sys/ddb/db_syncobj.h Sun Oct 15 10:27:11 2023
@@ -1,4 +1,4 @@
-/* $NetBSD: db_syncobj.h,v 1.1 2023/07/09 17:10:47 riastradh Exp $ */
+/* $NetBSD: db_syncobj.h,v 1.2 2023/10/15 10:27:11 riastradh Exp $ */
/*-
* Copyright (c) 2023 The NetBSD Foundation, Inc.
@@ -29,7 +29,7 @@
#ifndef _DDB_DB_SYNCOBJ_H
#define _DDB_DB_SYNCOBJ_H
-#include <sys/syncobj.h>
+#include <sys/wchan.h>
struct lwp;
struct syncobj;
Index: src/sys/kern/kern_condvar.c
diff -u src/sys/kern/kern_condvar.c:1.60 src/sys/kern/kern_condvar.c:1.61
--- src/sys/kern/kern_condvar.c:1.60 Fri Oct 13 18:48:56 2023
+++ src/sys/kern/kern_condvar.c Sun Oct 15 10:27:11 2023
@@ -1,4 +1,4 @@
-/* $NetBSD: kern_condvar.c,v 1.60 2023/10/13 18:48:56 ad Exp $ */
+/* $NetBSD: kern_condvar.c,v 1.61 2023/10/15 10:27:11 riastradh Exp $ */
/*-
* Copyright (c) 2006, 2007, 2008, 2019, 2020, 2023
@@ -35,7 +35,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: kern_condvar.c,v 1.60 2023/10/13 18:48:56 ad Exp $");
+__KERNEL_RCSID(0, "$NetBSD: kern_condvar.c,v 1.61 2023/10/15 10:27:11 riastradh Exp $");
#include <sys/param.h>
#include <sys/systm.h>
@@ -45,6 +45,7 @@ __KERNEL_RCSID(0, "$NetBSD: kern_condvar
#include <sys/lockdebug.h>
#include <sys/cpu.h>
#include <sys/kernel.h>
+#include <sys/syncobj.h>
/*
* Accessors for the private contents of the kcondvar_t data type.
Index: src/sys/kern/kern_ktrace.c
diff -u src/sys/kern/kern_ktrace.c:1.182 src/sys/kern/kern_ktrace.c:1.183
--- src/sys/kern/kern_ktrace.c:1.182 Fri Jul 1 01:07:56 2022
+++ src/sys/kern/kern_ktrace.c Sun Oct 15 10:27:11 2023
@@ -1,4 +1,4 @@
-/* $NetBSD: kern_ktrace.c,v 1.182 2022/07/01 01:07:56 riastradh Exp $ */
+/* $NetBSD: kern_ktrace.c,v 1.183 2023/10/15 10:27:11 riastradh Exp $ */
/*-
* Copyright (c) 2006, 2007, 2008, 2020 The NetBSD Foundation, Inc.
@@ -61,7 +61,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: kern_ktrace.c,v 1.182 2022/07/01 01:07:56 riastradh Exp $");
+__KERNEL_RCSID(0, "$NetBSD: kern_ktrace.c,v 1.183 2023/10/15 10:27:11 riastradh Exp $");
#include <sys/param.h>
#include <sys/systm.h>
@@ -77,6 +77,7 @@ __KERNEL_RCSID(0, "$NetBSD: kern_ktrace.
#include <sys/callout.h>
#include <sys/kauth.h>
#include <sys/cpu.h>
+#include <sys/syncobj.h>
#include <sys/mount.h>
#include <sys/syscallargs.h>
Index: src/sys/kern/kern_lwp.c
diff -u src/sys/kern/kern_lwp.c:1.265 src/sys/kern/kern_lwp.c:1.266
--- src/sys/kern/kern_lwp.c:1.265 Thu Oct 5 19:41:06 2023
+++ src/sys/kern/kern_lwp.c Sun Oct 15 10:27:11 2023
@@ -1,4 +1,4 @@
-/* $NetBSD: kern_lwp.c,v 1.265 2023/10/05 19:41:06 ad Exp $ */
+/* $NetBSD: kern_lwp.c,v 1.266 2023/10/15 10:27:11 riastradh Exp $ */
/*-
* Copyright (c) 2001, 2006, 2007, 2008, 2009, 2019, 2020, 2023
@@ -217,7 +217,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: kern_lwp.c,v 1.265 2023/10/05 19:41:06 ad Exp $");
+__KERNEL_RCSID(0, "$NetBSD: kern_lwp.c,v 1.266 2023/10/15 10:27:11 riastradh Exp $");
#include "opt_ddb.h"
#include "opt_lockdebug.h"
@@ -253,6 +253,7 @@ __KERNEL_RCSID(0, "$NetBSD: kern_lwp.c,v
#include <sys/kcov.h>
#include <sys/cprng.h>
#include <sys/futex.h>
+#include <sys/syncobj.h>
#include <uvm/uvm_extern.h>
#include <uvm/uvm_object.h>
Index: src/sys/kern/kern_mutex.c
diff -u src/sys/kern/kern_mutex.c:1.110 src/sys/kern/kern_mutex.c:1.111
--- src/sys/kern/kern_mutex.c:1.110 Sat Sep 23 18:48:04 2023
+++ src/sys/kern/kern_mutex.c Sun Oct 15 10:27:11 2023
@@ -1,4 +1,4 @@
-/* $NetBSD: kern_mutex.c,v 1.110 2023/09/23 18:48:04 ad Exp $ */
+/* $NetBSD: kern_mutex.c,v 1.111 2023/10/15 10:27:11 riastradh Exp $ */
/*-
* Copyright (c) 2002, 2006, 2007, 2008, 2019, 2023
@@ -41,7 +41,7 @@
#define __MUTEX_PRIVATE
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: kern_mutex.c,v 1.110 2023/09/23 18:48:04 ad Exp $");
+__KERNEL_RCSID(0, "$NetBSD: kern_mutex.c,v 1.111 2023/10/15 10:27:11 riastradh Exp $");
#include <sys/param.h>
#include <sys/atomic.h>
@@ -57,6 +57,7 @@ __KERNEL_RCSID(0, "$NetBSD: kern_mutex.c
#include <sys/types.h>
#include <sys/cpu.h>
#include <sys/pserialize.h>
+#include <sys/syncobj.h>
#include <dev/lockstat.h>
Index: src/sys/kern/kern_rwlock.c
diff -u src/sys/kern/kern_rwlock.c:1.74 src/sys/kern/kern_rwlock.c:1.75
--- src/sys/kern/kern_rwlock.c:1.74 Wed Oct 4 20:39:35 2023
+++ src/sys/kern/kern_rwlock.c Sun Oct 15 10:27:11 2023
@@ -1,4 +1,4 @@
-/* $NetBSD: kern_rwlock.c,v 1.74 2023/10/04 20:39:35 ad Exp $ */
+/* $NetBSD: kern_rwlock.c,v 1.75 2023/10/15 10:27:11 riastradh Exp $ */
/*-
* Copyright (c) 2002, 2006, 2007, 2008, 2009, 2019, 2020, 2023
@@ -45,7 +45,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: kern_rwlock.c,v 1.74 2023/10/04 20:39:35 ad Exp $");
+__KERNEL_RCSID(0, "$NetBSD: kern_rwlock.c,v 1.75 2023/10/15 10:27:11 riastradh Exp $");
#include "opt_lockdebug.h"
@@ -62,6 +62,7 @@ __KERNEL_RCSID(0, "$NetBSD: kern_rwlock.
#include <sys/atomic.h>
#include <sys/lock.h>
#include <sys/pserialize.h>
+#include <sys/syncobj.h>
#include <dev/lockstat.h>
Index: src/sys/kern/kern_sleepq.c
diff -u src/sys/kern/kern_sleepq.c:1.84 src/sys/kern/kern_sleepq.c:1.85
--- src/sys/kern/kern_sleepq.c:1.84 Fri Oct 13 18:48:56 2023
+++ src/sys/kern/kern_sleepq.c Sun Oct 15 10:27:11 2023
@@ -1,4 +1,4 @@
-/* $NetBSD: kern_sleepq.c,v 1.84 2023/10/13 18:48:56 ad Exp $ */
+/* $NetBSD: kern_sleepq.c,v 1.85 2023/10/15 10:27:11 riastradh Exp $ */
/*-
* Copyright (c) 2006, 2007, 2008, 2009, 2019, 2020, 2023
@@ -36,7 +36,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: kern_sleepq.c,v 1.84 2023/10/13 18:48:56 ad Exp $");
+__KERNEL_RCSID(0, "$NetBSD: kern_sleepq.c,v 1.85 2023/10/15 10:27:11 riastradh Exp $");
#include <sys/param.h>
#include <sys/kernel.h>
@@ -49,6 +49,7 @@ __KERNEL_RCSID(0, "$NetBSD: kern_sleepq.
#include <sys/systm.h>
#include <sys/sleepq.h>
#include <sys/ktrace.h>
+#include <sys/syncobj.h>
/*
* for sleepq_abort:
Index: src/sys/kern/kern_synch.c
diff -u src/sys/kern/kern_synch.c:1.363 src/sys/kern/kern_synch.c:1.364
--- src/sys/kern/kern_synch.c:1.363 Thu Oct 5 19:28:30 2023
+++ src/sys/kern/kern_synch.c Sun Oct 15 10:27:11 2023
@@ -1,4 +1,4 @@
-/* $NetBSD: kern_synch.c,v 1.363 2023/10/05 19:28:30 ad Exp $ */
+/* $NetBSD: kern_synch.c,v 1.364 2023/10/15 10:27:11 riastradh Exp $ */
/*-
* Copyright (c) 1999, 2000, 2004, 2006, 2007, 2008, 2009, 2019, 2020, 2023
@@ -69,7 +69,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: kern_synch.c,v 1.363 2023/10/05 19:28:30 ad Exp $");
+__KERNEL_RCSID(0, "$NetBSD: kern_synch.c,v 1.364 2023/10/15 10:27:11 riastradh Exp $");
#include "opt_kstack.h"
#include "opt_ddb.h"
@@ -95,6 +95,7 @@ __KERNEL_RCSID(0, "$NetBSD: kern_synch.c
#include <sys/lwpctl.h>
#include <sys/atomic.h>
#include <sys/syslog.h>
+#include <sys/syncobj.h>
#include <uvm/uvm_extern.h>
Index: src/sys/kern/kern_turnstile.c
diff -u src/sys/kern/kern_turnstile.c:1.53 src/sys/kern/kern_turnstile.c:1.54
--- src/sys/kern/kern_turnstile.c:1.53 Sun Oct 8 13:23:05 2023
+++ src/sys/kern/kern_turnstile.c Sun Oct 15 10:27:11 2023
@@ -1,4 +1,4 @@
-/* $NetBSD: kern_turnstile.c,v 1.53 2023/10/08 13:23:05 ad Exp $ */
+/* $NetBSD: kern_turnstile.c,v 1.54 2023/10/15 10:27:11 riastradh Exp $ */
/*-
* Copyright (c) 2002, 2006, 2007, 2009, 2019, 2020, 2023
@@ -61,13 +61,14 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: kern_turnstile.c,v 1.53 2023/10/08 13:23:05 ad Exp $");
+__KERNEL_RCSID(0, "$NetBSD: kern_turnstile.c,v 1.54 2023/10/15 10:27:11 riastradh Exp $");
#include <sys/param.h>
#include <sys/lockdebug.h>
#include <sys/proc.h>
#include <sys/sleepq.h>
#include <sys/sleeptab.h>
+#include <sys/syncobj.h>
#include <sys/systm.h>
/*
Index: src/sys/kern/sys_lwp.c
diff -u src/sys/kern/sys_lwp.c:1.87 src/sys/kern/sys_lwp.c:1.88
--- src/sys/kern/sys_lwp.c:1.87 Sun Oct 8 13:23:05 2023
+++ src/sys/kern/sys_lwp.c Sun Oct 15 10:27:11 2023
@@ -1,4 +1,4 @@
-/* $NetBSD: sys_lwp.c,v 1.87 2023/10/08 13:23:05 ad Exp $ */
+/* $NetBSD: sys_lwp.c,v 1.88 2023/10/15 10:27:11 riastradh Exp $ */
/*-
* Copyright (c) 2001, 2006, 2007, 2008, 2019, 2020, 2023
@@ -36,7 +36,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: sys_lwp.c,v 1.87 2023/10/08 13:23:05 ad Exp $");
+__KERNEL_RCSID(0, "$NetBSD: sys_lwp.c,v 1.88 2023/10/15 10:27:11 riastradh Exp $");
#include <sys/param.h>
#include <sys/systm.h>
@@ -51,6 +51,7 @@ __KERNEL_RCSID(0, "$NetBSD: sys_lwp.c,v
#include <sys/lwpctl.h>
#include <sys/cpu.h>
#include <sys/pserialize.h>
+#include <sys/syncobj.h>
#include <uvm/uvm_extern.h>
Index: src/sys/kern/sys_select.c
diff -u src/sys/kern/sys_select.c:1.64 src/sys/kern/sys_select.c:1.65
--- src/sys/kern/sys_select.c:1.64 Sun Oct 8 13:23:05 2023
+++ src/sys/kern/sys_select.c Sun Oct 15 10:27:11 2023
@@ -1,4 +1,4 @@
-/* $NetBSD: sys_select.c,v 1.64 2023/10/08 13:23:05 ad Exp $ */
+/* $NetBSD: sys_select.c,v 1.65 2023/10/15 10:27:11 riastradh Exp $ */
/*-
* Copyright (c) 2007, 2008, 2009, 2010, 2019, 2020, 2023
@@ -85,7 +85,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: sys_select.c,v 1.64 2023/10/08 13:23:05 ad Exp $");
+__KERNEL_RCSID(0, "$NetBSD: sys_select.c,v 1.65 2023/10/15 10:27:11 riastradh Exp $");
#include <sys/param.h>
#include <sys/systm.h>
@@ -106,6 +106,7 @@ __KERNEL_RCSID(0, "$NetBSD: sys_select.c
#include <sys/sleepq.h>
#include <sys/sysctl.h>
#include <sys/bitops.h>
+#include <sys/syncobj.h>
/* Flags for lwp::l_selflag. */
#define SEL_RESET 0 /* awoken, interrupted, or not yet polling */
Index: src/sys/sys/lwp.h
diff -u src/sys/sys/lwp.h:1.228 src/sys/sys/lwp.h:1.229
--- src/sys/sys/lwp.h:1.228 Fri Oct 13 18:48:56 2023
+++ src/sys/sys/lwp.h Sun Oct 15 10:27:11 2023
@@ -1,4 +1,4 @@
-/* $NetBSD: lwp.h,v 1.228 2023/10/13 18:48:56 ad Exp $ */
+/* $NetBSD: lwp.h,v 1.229 2023/10/15 10:27:11 riastradh Exp $ */
/*
* Copyright (c) 2001, 2006, 2007, 2008, 2009, 2010, 2019, 2020, 2023
@@ -45,8 +45,8 @@
#include <sys/signalvar.h>
#include <sys/sched.h>
#include <sys/specificdata.h>
-#include <sys/syncobj.h>
#include <sys/resource.h>
+#include <sys/wchan.h>
#if defined(_KERNEL)
struct lwp;
Index: src/sys/sys/sleepq.h
diff -u src/sys/sys/sleepq.h:1.40 src/sys/sys/sleepq.h:1.41
--- src/sys/sys/sleepq.h:1.40 Sun Oct 8 13:23:05 2023
+++ src/sys/sys/sleepq.h Sun Oct 15 10:27:11 2023
@@ -1,4 +1,4 @@
-/* $NetBSD: sleepq.h,v 1.40 2023/10/08 13:23:05 ad Exp $ */
+/* $NetBSD: sleepq.h,v 1.41 2023/10/15 10:27:11 riastradh Exp $ */
/*-
* Copyright (c) 2002, 2006, 2007, 2008, 2009, 2019, 2020, 2023
@@ -38,8 +38,8 @@
#include <sys/pool.h>
#include <sys/queue.h>
#include <sys/sched.h>
-#include <sys/syncobj.h> /* XXX remove me */
#include <sys/param.h>
+#include <sys/wchan.h>
struct syncobj;
Index: src/sys/sys/sleeptab.h
diff -u src/sys/sys/sleeptab.h:1.2 src/sys/sys/sleeptab.h:1.3
--- src/sys/sys/sleeptab.h:1.2 Sun Nov 1 21:00:20 2020
+++ src/sys/sys/sleeptab.h Sun Oct 15 10:27:11 2023
@@ -1,4 +1,4 @@
-/* $NetBSD: sleeptab.h,v 1.2 2020/11/01 21:00:20 christos Exp $ */
+/* $NetBSD: sleeptab.h,v 1.3 2023/10/15 10:27:11 riastradh Exp $ */
/*-
* Copyright (c) 2002, 2006, 2007, 2008, 2009, 2019, 2020
@@ -33,6 +33,10 @@
#ifndef _SYS_SLEEPTAB_H_
#define _SYS_SLEEPTAB_H_
+#include <sys/wchan.h>
+
+struct syncobj;
+
#define SLEEPTAB_HASH_SHIFT 7
#define SLEEPTAB_HASH_SIZE (1 << SLEEPTAB_HASH_SHIFT)
#define SLEEPTAB_HASH_MASK (SLEEPTAB_HASH_SIZE - 1)
@@ -121,7 +125,7 @@ void turnstile_init(void);
turnstile_t *turnstile_lookup(wchan_t);
void turnstile_ctor(turnstile_t *);
void turnstile_exit(wchan_t);
-void turnstile_block(turnstile_t *, int, wchan_t, syncobj_t *);
+void turnstile_block(turnstile_t *, int, wchan_t, const struct syncobj *);
void turnstile_wakeup(turnstile_t *, int, int, lwp_t *);
void turnstile_print(volatile void *, void (*)(const char *, ...)
__printflike(1, 2));
Index: src/sys/sys/syncobj.h
diff -u src/sys/sys/syncobj.h:1.17 src/sys/sys/syncobj.h:1.18
--- src/sys/sys/syncobj.h:1.17 Sun Oct 8 13:23:05 2023
+++ src/sys/sys/syncobj.h Sun Oct 15 10:27:11 2023
@@ -1,4 +1,4 @@
-/* $NetBSD: syncobj.h,v 1.17 2023/10/08 13:23:05 ad Exp $ */
+/* $NetBSD: syncobj.h,v 1.18 2023/10/15 10:27:11 riastradh Exp $ */
/*-
* Copyright (c) 2007, 2008, 2020, 2023 The NetBSD Foundation, Inc.
@@ -32,9 +32,9 @@
#if !defined(_SYS_SYNCOBJ_H_)
#define _SYS_SYNCOBJ_H_
-struct lwp;
+#include <sys/wchan.h>
-typedef volatile const void *wchan_t;
+struct lwp;
#if defined(_KERNEL) || defined(_KMEMUSER)
Added files:
Index: src/sys/sys/wchan.h
diff -u /dev/null src/sys/sys/wchan.h:1.1
--- /dev/null Sun Oct 15 10:27:11 2023
+++ src/sys/sys/wchan.h Sun Oct 15 10:27:11 2023
@@ -0,0 +1,37 @@
+/* $NetBSD: wchan.h,v 1.1 2023/10/15 10:27:11 riastradh Exp $ */
+
+/*-
+ * Copyright (c) 2007, 2008, 2020, 2023 The NetBSD Foundation, Inc.
+ * All rights reserved.
+ *
+ * This code is derived from software contributed to The NetBSD Foundation
+ * by Andrew Doran.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
+ * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
+ * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
+ * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#ifndef _SYS_WCHAN_H_
+#define _SYS_WCHAN_H_
+
+typedef volatile const void *wchan_t;
+
+#endif /* _SYS_WCHAN_H_ */