Module Name:    src
Committed By:   riastradh
Date:           Mon Aug 27 07:34:23 UTC 2018

Modified Files:
        src/sys/external/bsd/drm2/include/linux: rcupdate.h

Log Message:
Fill out <linux/rcupdate.h>.  The patent is expired, right?


To generate a diff of this commit:
cvs rdiff -u -r1.3 -r1.4 src/sys/external/bsd/drm2/include/linux/rcupdate.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/external/bsd/drm2/include/linux/rcupdate.h
diff -u src/sys/external/bsd/drm2/include/linux/rcupdate.h:1.3 src/sys/external/bsd/drm2/include/linux/rcupdate.h:1.4
--- src/sys/external/bsd/drm2/include/linux/rcupdate.h:1.3	Mon Aug 27 07:31:06 2018
+++ src/sys/external/bsd/drm2/include/linux/rcupdate.h	Mon Aug 27 07:34:23 2018
@@ -1,4 +1,4 @@
-/*	$NetBSD: rcupdate.h,v 1.3 2018/08/27 07:31:06 riastradh Exp $	*/
+/*	$NetBSD: rcupdate.h,v 1.4 2018/08/27 07:34:23 riastradh Exp $	*/
 
 /*-
  * Copyright (c) 2013 The NetBSD Foundation, Inc.
@@ -32,6 +32,52 @@
 #ifndef _LINUX_RCUPDATE_H_
 #define _LINUX_RCUPDATE_H_
 
+#include <sys/atomic.h>
+#include <sys/null.h>
+#include <sys/xcall.h>
+
 #define	__rcu
 
+#define	rcu_assign_pointer(P, V) do {					      \
+	membar_producer();						      \
+	(P) = (V);							      \
+} while (0)
+
+
+#define	rcu_dereference(P)	rcu_dereference_protected((P), 1)
+
+#define	rcu_dereference_protected(P, C) ({				      \
+	WARN_ON(!(C));							      \
+	typeof(*(P)) *__rcu_dereference_protected_tmp = (P);		      \
+	membar_datadep_consumer();					      \
+	__rcu_dereference_protected_tmp;				      \
+})
+
+static inline void
+rcu_read_lock(void)
+{
+
+	kpreempt_disable();
+	__insn_barrier();
+}
+
+static inline void
+rcu_read_unlock(void)
+{
+
+	__insn_barrier();
+	kpreempt_enable();
+}
+
+static inline void
+synchronize_rcu_xc(void *a, void *b)
+{
+}
+
+static inline void
+synchronize_rcu(void)
+{
+	xc_wait(xc_broadcast(0, &synchronize_rcu_xc, NULL, NULL));
+}
+
 #endif  /* _LINUX_RCUPDATE_H_ */

Reply via email to