Source-Changes-HG archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
[src/pgoyette-compat]: src/sys Adapt (most of) the indirect function pointers...
details: https://anonhg.NetBSD.org/src/rev/0d0e854c012e
branches: pgoyette-compat
changeset: 830718:0d0e854c012e
user: pgoyette <pgoyette%NetBSD.org@localhost>
date: Mon Sep 17 11:04:30 2018 +0000
description:
Adapt (most of) the indirect function pointers to the new MP-safe
mechanism. Still remaining are the compat_netbsd32 stuff, and
some usb subroutines.
diffstat:
sys/compat/common/bio_30.c | 11 +-
sys/compat/common/clockctl_50.c | 11 +-
sys/compat/common/if_43.c | 12 +-
sys/compat/common/if_spppsubr50.c | 11 +-
sys/compat/common/kern_mod_80.c | 11 +-
sys/compat/common/rtsock_14.c | 21 +++--
sys/compat/common/sysmon_power_40.c | 14 ++-
sys/compat/common/vnd_30.c | 13 ++-
sys/compat/net/if.h | 4 +-
sys/dev/bio.c | 11 ++-
sys/dev/clockctl.c | 19 +++-
sys/dev/raidframe/rf_compat50.c | 9 +-
sys/dev/raidframe/rf_compat80.c | 15 ++-
sys/dev/raidframe/rf_netbsdkintf.c | 24 ++++-
sys/dev/sysmon/sysmon_power.c | 13 ++-
sys/dev/vnd.c | 22 +++--
sys/dev/wscons/wsevent.c | 10 +-
sys/dev/wscons/wsevent_50.c | 12 ++-
sys/fs/puffs/puffs_compat.c | 17 ++-
sys/fs/puffs/puffs_msgif.c | 20 ++++-
sys/fs/puffs/puffs_sys.h | 4 +-
sys/kern/compat_stub.c | 141 ++++++++++++++++++-----------------
sys/kern/sys_module.c | 11 ++-
sys/net/if_spppsubr.c | 10 +-
sys/net/rtsock.c | 25 +++++-
sys/opencrypto/cryptodev.c | 11 ++-
sys/opencrypto/ocryptodev.c | 12 ++-
sys/sys/compat_stub.h | 94 ++++++++++++-----------
28 files changed, 357 insertions(+), 231 deletions(-)
diffs (truncated from 1526 to 300 lines):
diff -r c39d6c7ff5b6 -r 0d0e854c012e sys/compat/common/bio_30.c
--- a/sys/compat/common/bio_30.c Mon Sep 17 10:06:29 2018 +0000
+++ b/sys/compat/common/bio_30.c Mon Sep 17 11:04:30 2018 +0000
@@ -1,4 +1,4 @@
-/* $NetBSD: bio_30.c,v 1.1.2.1 2018/03/28 04:18:24 pgoyette Exp $ */
+/* $NetBSD: bio_30.c,v 1.1.2.2 2018/09/17 11:04:30 pgoyette Exp $ */
/* $OpenBSD: bio.c,v 1.9 2007/03/20 02:35:55 marco Exp $ */
/*
@@ -26,7 +26,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: bio_30.c,v 1.1.2.1 2018/03/28 04:18:24 pgoyette Exp $");
+__KERNEL_RCSID(0, "$NetBSD: bio_30.c,v 1.1.2.2 2018/09/17 11:04:30 pgoyette Exp $");
#include <sys/param.h>
#include <sys/conf.h>
@@ -88,16 +88,19 @@
}
}
+COMPAT_SET_HOOK(compat_bio_30_hook, "bio_30", compat_30_bio);
+COMPAT_UNSET_HOOK(compat_bio_30_hook);
+
void
bio_30_init(void)
{
- compat_bio_30 = compat_30_bio;
+ compat_bio_30_hook_set();
}
void
bio_30_fini(void)
{
- compat_bio_30 = (void *)enosys;
+ compat_bio_30_hook_unset();
}
diff -r c39d6c7ff5b6 -r 0d0e854c012e sys/compat/common/clockctl_50.c
--- a/sys/compat/common/clockctl_50.c Mon Sep 17 10:06:29 2018 +0000
+++ b/sys/compat/common/clockctl_50.c Mon Sep 17 11:04:30 2018 +0000
@@ -1,4 +1,4 @@
-/* $NetBSD: clockctl_50.c,v 1.1.2.1 2018/03/21 04:48:31 pgoyette Exp $ */
+/* $NetBSD: clockctl_50.c,v 1.1.2.2 2018/09/17 11:04:30 pgoyette Exp $ */
/*-
* Copyright (c) 2001 The NetBSD Foundation, Inc.
@@ -31,7 +31,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: clockctl_50.c,v 1.1.2.1 2018/03/21 04:48:31 pgoyette Exp $");
+__KERNEL_RCSID(0, "$NetBSD: clockctl_50.c,v 1.1.2.2 2018/09/17 11:04:30 pgoyette Exp $");
#include <sys/param.h>
#include <sys/systm.h>
@@ -122,16 +122,19 @@
return (error);
}
+COMPAT_SET_HOOK(clockctl_ioctl_50_hook, "clk_50", compat50_clockctlioctl);
+COMPAT_UNSET_HOOK(clockctl_ioctl_50_hook);
+
void
clockctl_50_init(void)
{
- compat_clockctl_ioctl_50 = compat50_clockctlioctl;
+ clockctl_ioctl_50_hook_set();
}
void
clockctl_50_fini(void)
{
- compat_clockctl_ioctl_50 = (void *)enosys;
+ clockctl_ioctl_50_hook_unset();
}
diff -r c39d6c7ff5b6 -r 0d0e854c012e sys/compat/common/if_43.c
--- a/sys/compat/common/if_43.c Mon Sep 17 10:06:29 2018 +0000
+++ b/sys/compat/common/if_43.c Mon Sep 17 11:04:30 2018 +0000
@@ -1,4 +1,4 @@
-/* $NetBSD: if_43.c,v 1.14.2.1 2018/03/30 02:28:49 pgoyette Exp $ */
+/* $NetBSD: if_43.c,v 1.14.2.2 2018/09/17 11:04:30 pgoyette Exp $ */
/*
* Copyright (c) 1982, 1986, 1989, 1990, 1993
@@ -32,7 +32,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: if_43.c,v 1.14.2.1 2018/03/30 02:28:49 pgoyette Exp $");
+__KERNEL_RCSID(0, "$NetBSD: if_43.c,v 1.14.2.2 2018/09/17 11:04:30 pgoyette Exp $");
#if defined(_KERNEL_OPT)
#include "opt_compat_netbsd.h"
@@ -77,6 +77,9 @@
#include <compat/common/if_43.h>
#include <uvm/uvm_extern.h>
+/* COMPAT_HOOK for replacing the cmdcvt() function */
+COMPAT_CALL_HOOK(ieee80211_get_ostats_20_hook, f, (int cmd), (cmd), cmd);
+
u_long
compat_cvtcmd(u_long cmd)
{
@@ -202,10 +205,7 @@
case TAPGIFNAME:
return ncmd;
default:
- if ((*if43_20_cvtcmd)(ncmd) == 0)
- return ncmd;
- else
- return cmd;
+ return ieee80211_get_ostats_20_hook_f_call(ncmd);
}
}
}
diff -r c39d6c7ff5b6 -r 0d0e854c012e sys/compat/common/if_spppsubr50.c
--- a/sys/compat/common/if_spppsubr50.c Mon Sep 17 10:06:29 2018 +0000
+++ b/sys/compat/common/if_spppsubr50.c Mon Sep 17 11:04:30 2018 +0000
@@ -1,4 +1,4 @@
-/* $NetBSD: if_spppsubr50.c,v 1.1.2.1 2018/03/21 10:12:48 pgoyette Exp $ */
+/* $NetBSD: if_spppsubr50.c,v 1.1.2.2 2018/09/17 11:04:30 pgoyette Exp $ */
/*
* Synchronous PPP/Cisco link level subroutines.
@@ -41,7 +41,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: if_spppsubr50.c,v 1.1.2.1 2018/03/21 10:12:48 pgoyette Exp $");
+__KERNEL_RCSID(0, "$NetBSD: if_spppsubr50.c,v 1.1.2.2 2018/09/17 11:04:30 pgoyette Exp $");
#if defined(_KERNEL_OPT)
#include "opt_inet.h"
@@ -154,16 +154,19 @@
return 0;
}
+COMPAT_SET_HOOK(sppp_params_50_hook, "sppp60", sppp_compat50_params);
+COMPAT_UNSET_HOOK(sppp_params_50_hook);
+
void
if_spppsubr_50_init(void)
{
- sppp_params50 = sppp_compat50_params;
+ sppp_params_50_hook_set();
}
void
if_spppsubr_50_fini(void)
{
- sppp_params50 = (void *)enosys;
+ sppp_params_50_hook_unset();
}
diff -r c39d6c7ff5b6 -r 0d0e854c012e sys/compat/common/kern_mod_80.c
--- a/sys/compat/common/kern_mod_80.c Mon Sep 17 10:06:29 2018 +0000
+++ b/sys/compat/common/kern_mod_80.c Mon Sep 17 11:04:30 2018 +0000
@@ -1,4 +1,4 @@
-/* $NetBSD: kern_mod_80.c,v 1.1.2.4 2018/09/07 23:32:30 pgoyette Exp $ */
+/* $NetBSD: kern_mod_80.c,v 1.1.2.5 2018/09/17 11:04:30 pgoyette Exp $ */
/*-
* Copyright (c) 2008 The NetBSD Foundation, Inc.
@@ -31,7 +31,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: kern_mod_80.c,v 1.1.2.4 2018/09/07 23:32:30 pgoyette Exp $");
+__KERNEL_RCSID(0, "$NetBSD: kern_mod_80.c,v 1.1.2.5 2018/09/17 11:04:30 pgoyette Exp $");
#ifdef _KERNEL_OPT
#include "opt_modular.h"
@@ -151,16 +151,19 @@
return error;
}
+COMPAT_SET_HOOK(compat_modstat_80_hook, "mod_80",compat_80_modstat);
+COMPAT_UNSET_HOOK(compat_modstat_80_hook);
+
void
kern_mod_80_init(void)
{
- compat_modstat_80 = compat_80_modstat;
+ compat_modstat_80_hook_set();
}
void
kern_mod_80_fini(void)
{
- compat_modstat_80 = (void *)enosys;
+ compat_modstat_80_hook_unset();
}
diff -r c39d6c7ff5b6 -r 0d0e854c012e sys/compat/common/rtsock_14.c
--- a/sys/compat/common/rtsock_14.c Mon Sep 17 10:06:29 2018 +0000
+++ b/sys/compat/common/rtsock_14.c Mon Sep 17 11:04:30 2018 +0000
@@ -1,4 +1,4 @@
-/* $NetBSD: rtsock_14.c,v 1.5.14.1 2018/03/30 10:09:07 pgoyette Exp $ */
+/* $NetBSD: rtsock_14.c,v 1.5.14.2 2018/09/17 11:04:30 pgoyette Exp $ */
/*
* Copyright (C) 1995, 1996, 1997, and 1998 WIDE Project.
@@ -61,7 +61,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: rtsock_14.c,v 1.5.14.1 2018/03/30 10:09:07 pgoyette Exp $");
+__KERNEL_RCSID(0, "$NetBSD: rtsock_14.c,v 1.5.14.2 2018/09/17 11:04:30 pgoyette Exp $");
#ifdef _KERNEL_OPT
#include "opt_inet.h"
@@ -91,7 +91,7 @@
#include <compat/common/compat_mod.h>
-void
+int
compat_14_rt_oifmsg(struct ifnet *ifp)
{
struct if_msghdr14 oifm;
@@ -100,7 +100,7 @@
struct timeval tv;
if (compat_50_route_info.ri_cb.any_count == 0)
- return;
+ return 0;
(void)memset(&info, 0, sizeof(info));
(void)memset(&oifm, 0, sizeof(oifm));
oifm.ifm_index = ifp->if_index;
@@ -127,8 +127,9 @@
oifm.ifm_addrs = 0;
m = compat_50_rt_msg1(RTM_OOIFINFO, &info, (void *)&oifm, sizeof(oifm));
if (m == NULL)
- return;
+ return 0;
compat_50_route_enqueue(m, 0);
+ return 0;
}
int
@@ -169,18 +170,20 @@
return 0;
}
+COMPAT_SET_HOOK2(rtsock14_hook, "rts_14", compat_14_rt_oifmsg,
+ compat_14_iflist);
+COMPAT_UNSET_HOOK2(rtsock14_hook);
+
void
rtsock_14_init(void)
{
- rtsock14_oifmsg = compat_14_rt_oifmsg;
- rtsock14_iflist = compat_14_iflist;
+ rtsock14_hook_set();
}
void
rtsock_14_fini(void)
{
- rtsock14_oifmsg = (void *)voidop;
- rtsock14_iflist = (void *)enosys;
+ rtsock14_hook_unset();
}
diff -r c39d6c7ff5b6 -r 0d0e854c012e sys/compat/common/sysmon_power_40.c
--- a/sys/compat/common/sysmon_power_40.c Mon Sep 17 10:06:29 2018 +0000
+++ b/sys/compat/common/sysmon_power_40.c Mon Sep 17 11:04:30 2018 +0000
@@ -1,4 +1,4 @@
-/* $NetBSD: sysmon_power_40.c,v 1.1.2.1 2018/03/27 07:29:44 pgoyette Exp $ */
+/* $NetBSD: sysmon_power_40.c,v 1.1.2.2 2018/09/17 11:04:30 pgoyette Exp $ */
/*-
* Copyright (c) 2007 Juan Romero Pardines.
@@ -62,7 +62,7 @@
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: sysmon_power_40.c,v 1.1.2.1 2018/03/27 07:29:44 pgoyette Exp $");
+__KERNEL_RCSID(0, "$NetBSD: sysmon_power_40.c,v 1.1.2.2 2018/09/17 11:04:30 pgoyette Exp $");
#include <sys/param.h>
#include <sys/systm.h>
@@ -73,7 +73,7 @@
#include <compat/common/compat_mod.h>
-static void
+static int
compat_40_sysmon_power(power_event_t *pev, struct sysmon_pswitch *pswitch,
int event)
{
@@ -86,18 +86,22 @@
Home |
Main Index |
Thread Index |
Old Index