Module Name:    src
Committed By:   christos
Date:           Thu Mar 15 03:21:58 UTC 2018

Modified Files:
        src/sys/uvm: uvm_swap.c uvm_swap.h

Log Message:
finish moving the compat code out.


To generate a diff of this commit:
cvs rdiff -u -r1.176 -r1.177 src/sys/uvm/uvm_swap.c
cvs rdiff -u -r1.23 -r1.24 src/sys/uvm/uvm_swap.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/uvm/uvm_swap.c
diff -u src/sys/uvm/uvm_swap.c:1.176 src/sys/uvm/uvm_swap.c:1.177
--- src/sys/uvm/uvm_swap.c:1.176	Wed Mar 14 20:48:13 2018
+++ src/sys/uvm/uvm_swap.c	Wed Mar 14 23:21:58 2018
@@ -1,4 +1,4 @@
-/*	$NetBSD: uvm_swap.c,v 1.176 2018/03/15 00:48:13 christos Exp $	*/
+/*	$NetBSD: uvm_swap.c,v 1.177 2018/03/15 03:21:58 christos Exp $	*/
 
 /*
  * Copyright (c) 1995, 1996, 1997, 2009 Matthew R. Green
@@ -30,7 +30,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: uvm_swap.c,v 1.176 2018/03/15 00:48:13 christos Exp $");
+__KERNEL_RCSID(0, "$NetBSD: uvm_swap.c,v 1.177 2018/03/15 03:21:58 christos Exp $");
 
 #include "opt_uvmhist.h"
 #include "opt_compat_netbsd.h"
@@ -176,31 +176,6 @@ struct vndbuf {
 };
 
 /*
- * NetBSD 1.3 swapctl(SWAP_STATS, ...) swapent structure; uses 32 bit
- * dev_t and has no se_path[] member.
- */
-struct swapent13 {
-	int32_t	se13_dev;		/* device id */
-	int	se13_flags;		/* flags */
-	int	se13_nblks;		/* total blocks */
-	int	se13_inuse;		/* blocks in use */
-	int	se13_priority;		/* priority of this device */
-};
-
-/*
- * NetBSD 5.0 swapctl(SWAP_STATS, ...) swapent structure; uses 32 bit
- * dev_t.
- */
-struct swapent50 {
-	int32_t	se50_dev;		/* device id */
-	int	se50_flags;		/* flags */
-	int	se50_nblks;		/* total blocks */
-	int	se50_inuse;		/* blocks in use */
-	int	se50_priority;		/* priority of this device */
-	char	se50_path[PATH_MAX+1];	/* path name */
-};
-
-/*
  * We keep a of pool vndbuf's and vndxfer structures.
  */
 static struct pool vndxfer_pool, vndbuf_pool;
@@ -440,36 +415,6 @@ void swapsys_unlock(void)
 	rw_exit(&swap_syscall_lock);
 }
 
-#if defined(COMPAT_13)
-static void
-swapent13_cvt(void *p, const struct swapent *se)
-{
-	struct swapent13 *sep13 = p;
-
-	sep13->se13_dev = se->se_dev;
-	sep13->se13_flags = se->se_flags;
-	sep13->sse13_nblks = se->se_nblks;
-	sep13->se13_inuse = se->se_inuse;
-	sep13->se13_priority = se->se_priority;
-}
-#endif
-
-#if defined(COMPAT_50)
-static void
-swapent50_cvt(void *p, const struct swapent *se)
-{
-	struct swapent50 *sep50 = p;
-
-	sep50->se50_dev = se->se_dev;
-	sep50->se50_flags = se->se_flags;
-	sep50->se50_nblks = se->se_nblks;
-	sep50->se50_inuse = se->se_inuse;
-	sep50->se50_priority = se->se_priority;
-	KASSERT(sizeof(se->se_path) <= sizeof(sep50->se50_path));
-	strcpy(sep50->se50_path, se->se_path);
-}
-#endif
-
 static void
 swapent_cvt(struct swapent *se, const struct swapdev *sdp, int inuse)
 {
@@ -482,42 +427,10 @@ swapent_cvt(struct swapent *se, const st
 	strcpy(se->se_path, sdp->swd_path);
 }
 
-static size_t
-swapent_size(int cmd)
-{
-	switch (cmd) {
-#if defined(COMPAT_13)
-	case SWAP_STATS13:
-		return sizeof(struct swapent13);
-#endif
-#if defined(COMPAT_50)
-	case SWAP_STATS50:
-	    	return sizeof(struct swapent50);
-#endif
-	case SWAP_STATS:
-		return sizeof(struct swapent);
-	default:
-		return 0;
-	}
-}
-
-static void (*
-swapent_fun(int cmd))(void *, const struct swapent *)
-{
-	switch (cmd) {
-#if defined(COMPAT_13)
-	case SWAP_STATS13:
-		return swapent13_cvt;
-#endif
-#if defined(COMPAT_50)
-	case SWAP_STATS50:
-		return swapent50_cvt;
-#endif
-	case SWAP_STATS:
-	default:
-		return NULL;
-	}
-}
+int (*uvm_swap_stats13)(const struct sys_swapctl_args *, register_t *) =
+    (void *)enosys;
+int (*uvm_swap_stats50)(const struct sys_swapctl_args *, register_t *) =
+    (void *)enosys;
 
 /*
  * sys_swapctl: main entry point for swapctl(2) system call
@@ -572,16 +485,15 @@ sys_swapctl(struct lwp *l, const struct 
 	 * copyout() and we don't want to be holding that lock then!
 	 */
 	switch (SCARG(uap, cmd)) {
-	case SWAP_STATS:
-#if defined(COMPAT_50)
-	case SWAP_STATS50:
-#endif
-#if defined(COMPAT_13)
 	case SWAP_STATS13:
-#endif
+		error = (*uvm_swap_stats13)(uap, retval);
+		goto out;
+	case SWAP_STATS50:
+		error = (*uvm_swap_stats50)(uap, retval);
+		goto out;
+	case SWAP_STATS:
 		error = uvm_swap_stats(SCARG(uap, arg), SCARG(uap, misc),
-		    swapent_fun(SCARG(uap, cmd)), swapent_size(SCARG(uap, cmd)),
-		    retval);
+		    NULL, sizeof(struct swapent), retval);
 		UVMHIST_LOG(pdhist, "<- done SWAP_STATS", 0, 0, 0, 0);
 		goto out;
 	

Index: src/sys/uvm/uvm_swap.h
diff -u src/sys/uvm/uvm_swap.h:1.23 src/sys/uvm/uvm_swap.h:1.24
--- src/sys/uvm/uvm_swap.h:1.23	Wed Mar 14 20:48:13 2018
+++ src/sys/uvm/uvm_swap.h	Wed Mar 14 23:21:58 2018
@@ -1,4 +1,4 @@
-/*	$NetBSD: uvm_swap.h,v 1.23 2018/03/15 00:48:13 christos Exp $	*/
+/*	$NetBSD: uvm_swap.h,v 1.24 2018/03/15 03:21:58 christos Exp $	*/
 
 /*
  * Copyright (c) 1997 Matthew R. Green
@@ -57,7 +57,7 @@ int	uvm_swap_stats(char *, int,
 
 #else /* defined(VMSWAP) */
 #define	uvm_swapisfull()	true
-#define uvm_swap_stats(c, sep, count, retval) { *retval = 0; }
+#define uvm_swap_stats(c, l, f, count, retval) (*retval = 0, ENOSYS)
 #endif /* defined(VMSWAP) */
 
 void	uvm_swap_shutdown(struct lwp *);

Reply via email to