Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 29 Sep 2020 18:06:02 +0000 (UTC)
From:      Warner Losh <imp@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org
Subject:   svn commit: r366265 - head/sys/sys
Message-ID:  <202009291806.08TI62eE083160@repo.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: imp
Date: Tue Sep 29 18:06:02 2020
New Revision: 366265
URL: https://svnweb.freebsd.org/changeset/base/366265

Log:
  Standalone SX shims
  
  Create a do-nothing version of SX locks. OpenZFS needs them. However,
  since the boot loader is single threaded, they can be nops.

Modified:
  head/sys/sys/sx.h

Modified: head/sys/sys/sx.h
==============================================================================
--- head/sys/sys/sx.h	Tue Sep 29 17:52:15 2020	(r366264)
+++ head/sys/sys/sx.h	Tue Sep 29 18:06:02 2020	(r366265)
@@ -300,4 +300,26 @@ __sx_xunlock(struct sx *sx, struct thread *td, const c
 
 #endif /* _KERNEL */
 
+#ifdef _STANDALONE
+/* since we have no threads in the boot loader, trivially implement no-op version */
+#define sx_xlock(s) (1)
+#define sx_try_xlock(s) (1)
+#define sx_xunlock(s) (1)
+#define SX_DUPOK 0
+#define SX_NEW 0
+#define SX_NOWITNESS 0
+
+static __inline void
+sx_init_flags(struct sx *sx, const char *description, int opts)
+{
+
+}
+
+static __inline void
+sx_destroy(struct sx *sx)
+{
+
+}
+#endif /* _STANDALONE */
+
 #endif /* !_SYS_SX_H_ */



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?202009291806.08TI62eE083160>