Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 22 May 2016 07:25:56 +0000 (UTC)
From:      Garrett Cooper <ngie@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-projects@freebsd.org
Subject:   svn commit: r300402 - projects/vmware_pvscsi/sys/dev/vmware/vmw_pvscsi
Message-ID:  <201605220725.u4M7PuQ8077772@repo.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: ngie
Date: Sun May 22 07:25:56 2016
New Revision: 300402
URL: https://svnweb.freebsd.org/changeset/base/300402

Log:
  Check in short-term shims for dealing with lists
  
  This will be converted to queue(3) soon instead of handrolling queue(3)

Added:
  projects/vmware_pvscsi/sys/dev/vmware/vmw_pvscsi/fbsd_list.h   (contents, props changed)

Added: projects/vmware_pvscsi/sys/dev/vmware/vmw_pvscsi/fbsd_list.h
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ projects/vmware_pvscsi/sys/dev/vmware/vmw_pvscsi/fbsd_list.h	Sun May 22 07:25:56 2016	(r300402)
@@ -0,0 +1,28 @@
+/* XXX: use queue(3) instead */
+
+#ifndef _FBSD_LIST_H_
+#define _FBSD_LIST_H_
+
+#define	container_of	__containerof
+
+struct list_head {
+	struct list_head *next,*last;
+};
+#define INIT_LIST_HEAD(a) {(a)->next=(a)->last=(a);}
+#define list_entry(p,t,m) container_of(p, t, m)
+
+#define list_empty(a) ((a)->next==(a))
+
+#define list_del(a)\
+        {(a)->last->next=(a)->next;\
+         (a)->next->last=(a)->last;}
+
+#define list_del_rcu(a)\
+        {atomic_store_rel_ptr(&(a)->last->next, (a)->next);\
+         (a)->next->last=(a)->last;}
+
+#define list_add(a,b)\
+        {(a)->last=(b);       (a)->next=(b)->next ;\
+         (a)->next->last=(a); (b)->next=(a);}
+
+#endif /* !_FBSD_LIST_H_ */



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