PERFORCE change 117227 for review
Marcel Moolenaar
marcel at FreeBSD.org
Mon Apr 2 22:24:28 UTC 2007
http://perforce.freebsd.org/chv.cgi?CH=117227
Change 117227 by marcel at marcel_xcllnt on 2007/04/02 22:24:22
IFC @117225
Affected files ...
.. //depot/projects/uart/amd64/linux32/linux32_sysvec.c#15 integrate
.. //depot/projects/uart/arm/at91/uart_cpu_at91rm9200usart.c#3 integrate
.. //depot/projects/uart/arm/at91/uart_dev_at91usart.c#9 integrate
.. //depot/projects/uart/arm/sa11x0/uart_cpu_sa1110.c#6 integrate
.. //depot/projects/uart/arm/sa11x0/uart_dev_sa1110.c#7 integrate
.. //depot/projects/uart/arm/xscale/i80321/uart_cpu_i80321.c#5 integrate
.. //depot/projects/uart/arm/xscale/ixp425/uart_cpu_ixp425.c#2 integrate
.. //depot/projects/uart/boot/arm/at91/boot2/boot2.c#4 integrate
.. //depot/projects/uart/compat/linux/linux_emul.c#5 integrate
.. //depot/projects/uart/compat/linux/linux_emul.h#4 integrate
.. //depot/projects/uart/dev/bge/if_bge.c#33 integrate
.. //depot/projects/uart/dev/sound/midi/midi.c#6 integrate
.. //depot/projects/uart/dev/sound/pcm/mixer.c#13 integrate
.. //depot/projects/uart/dev/uart/uart.h#13 integrate
.. //depot/projects/uart/dev/uart/uart_bus.h#49 integrate
.. //depot/projects/uart/dev/uart/uart_core.c#59 integrate
.. //depot/projects/uart/dev/uart/uart_cpu.h#24 integrate
.. //depot/projects/uart/dev/uart/uart_cpu_amd64.c#13 integrate
.. //depot/projects/uart/dev/uart/uart_cpu_i386.c#14 integrate
.. //depot/projects/uart/dev/uart/uart_cpu_ia64.c#15 integrate
.. //depot/projects/uart/dev/uart/uart_cpu_pc98.c#15 integrate
.. //depot/projects/uart/dev/uart/uart_cpu_powerpc.c#4 integrate
.. //depot/projects/uart/dev/uart/uart_cpu_sparc64.c#27 integrate
.. //depot/projects/uart/dev/uart/uart_dev_ns8250.c#50 integrate
.. //depot/projects/uart/dev/uart/uart_dev_sab82532.c#44 integrate
.. //depot/projects/uart/dev/uart/uart_dev_z8530.c#37 integrate
.. //depot/projects/uart/dev/uart/uart_kbd_sun.c#13 integrate
.. //depot/projects/uart/dev/uart/uart_subr.c#9 integrate
.. //depot/projects/uart/i386/linux/linux_sysvec.c#14 integrate
.. //depot/projects/uart/kern/uipc_syscalls.c#26 integrate
.. //depot/projects/uart/kern/vfs_syscalls.c#32 integrate
.. //depot/projects/uart/nfsserver/nfs_srvsubs.c#14 integrate
.. //depot/projects/uart/sys/sysent.h#9 integrate
Differences ...
==== //depot/projects/uart/amd64/linux32/linux32_sysvec.c#15 (text+ko) ====
@@ -31,7 +31,7 @@
*/
#include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/amd64/linux32/linux32_sysvec.c,v 1.27 2007/03/30 00:06:21 jkim Exp $");
+__FBSDID("$FreeBSD: src/sys/amd64/linux32/linux32_sysvec.c,v 1.28 2007/04/02 18:38:12 jkim Exp $");
#include "opt_compat.h"
#ifndef COMPAT_IA32
@@ -1081,7 +1081,7 @@
linux_ioctl_register_handler(*lihp);
SET_FOREACH(ldhp, linux_device_handler_set)
linux_device_register_handler(*ldhp);
- sx_init(&emul_lock, "emuldata lock");
+ mtx_init(&emul_lock, "emuldata lock", NULL, MTX_DEF);
sx_init(&emul_shared_lock, "emuldata->shared lock");
LIST_INIT(&futex_list);
sx_init(&futex_sx, "futex protection lock");
@@ -1112,7 +1112,7 @@
linux_ioctl_unregister_handler(*lihp);
SET_FOREACH(ldhp, linux_device_handler_set)
linux_device_unregister_handler(*ldhp);
- sx_destroy(&emul_lock);
+ mtx_destroy(&emul_lock);
sx_destroy(&emul_shared_lock);
sx_destroy(&futex_sx);
EVENTHANDLER_DEREGISTER(process_exit, linux_exit_tag);
==== //depot/projects/uart/arm/at91/uart_cpu_at91rm9200usart.c#3 (text) ====
@@ -27,7 +27,7 @@
#include "opt_uart.h"
#include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/arm/at91/uart_cpu_at91rm9200usart.c,v 1.2 2006/05/13 23:41:16 cognet Exp $");
+__FBSDID("$FreeBSD: src/sys/arm/at91/uart_cpu_at91rm9200usart.c,v 1.3 2007/04/02 22:00:21 marcel Exp $");
#include <sys/param.h>
#include <sys/systm.h>
@@ -43,7 +43,7 @@
bus_space_tag_t uart_bus_space_io;
bus_space_tag_t uart_bus_space_mem;
-extern struct uart_ops at91_usart_ops;
+extern struct uart_class at91_usart_class;
extern struct bus_space at91_bs_tag;
int
@@ -55,7 +55,10 @@
int
uart_cpu_getdev(int devtype, struct uart_devinfo *di)
{
- di->ops = at91_usart_ops;
+ struct uart_class *class;
+
+ class = &at91_usart_class;
+ di->ops = uart_getops(class);
di->bas.chan = 0;
di->bas.bst = &at91_bs_tag;
/*
@@ -77,7 +80,5 @@
uart_bus_space_io = &at91_bs_tag;
uart_bus_space_mem = NULL;
/* Check the environment for overrides */
- if (uart_getenv(devtype, di) == 0)
- return (0);
- return (0);
+ return (uart_getenv(devtype, di, class));
}
==== //depot/projects/uart/arm/at91/uart_dev_at91usart.c#9 (text) ====
@@ -26,7 +26,7 @@
*/
#include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/arm/at91/uart_dev_at91usart.c,v 1.11 2007/01/18 22:01:19 marius Exp $");
+__FBSDID("$FreeBSD: src/sys/arm/at91/uart_dev_at91usart.c,v 1.12 2007/04/02 22:00:21 marcel Exp $");
#include "opt_comconsole.h"
@@ -196,7 +196,7 @@
return (0);
}
-struct uart_ops at91_usart_ops = {
+static struct uart_ops at91_usart_ops = {
.probe = at91_usart_probe,
.init = at91_usart_init,
.term = at91_usart_term,
@@ -662,10 +662,12 @@
}
return (EINVAL);
}
+
struct uart_class at91_usart_class = {
- "at91_usart class",
+ "at91_usart",
at91_usart_methods,
sizeof(struct at91_usart_softc),
+ .uc_ops = &at91_usart_ops,
.uc_range = 8,
.uc_rclk = DEFAULT_RCLK
};
==== //depot/projects/uart/arm/sa11x0/uart_cpu_sa1110.c#6 (text+ko) ====
@@ -25,7 +25,7 @@
*/
#include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/arm/sa11x0/uart_cpu_sa1110.c,v 1.6 2006/06/21 10:56:59 cognet Exp $");
+__FBSDID("$FreeBSD: src/sys/arm/sa11x0/uart_cpu_sa1110.c,v 1.7 2007/04/02 22:00:21 marcel Exp $");
#include <sys/param.h>
#include <sys/systm.h>
@@ -42,7 +42,7 @@
bus_space_tag_t uart_bus_space_io;
bus_space_tag_t uart_bus_space_mem;
-extern struct uart_ops uart_sa1110_ops;
+extern struct uart_class uart_sa1110_class;
vm_offset_t sa1110_uart_vaddr;
@@ -55,7 +55,8 @@
int
uart_cpu_getdev(int devtype, struct uart_devinfo *di)
{
- di->ops = uart_sa1110_ops;
+
+ di->ops = uart_getops(&uart_sa1110_class);
di->bas.chan = 0;
di->bas.bst = &sa11x0_bs_tag;
di->bas.bsh = sa1110_uart_vaddr;
==== //depot/projects/uart/arm/sa11x0/uart_dev_sa1110.c#7 (text+ko) ====
@@ -25,7 +25,7 @@
*/
#include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/arm/sa11x0/uart_dev_sa1110.c,v 1.7 2007/01/18 22:01:19 marius Exp $");
+__FBSDID("$FreeBSD: src/sys/arm/sa11x0/uart_dev_sa1110.c,v 1.8 2007/04/02 22:00:21 marcel Exp $");
#include <sys/param.h>
#include <sys/systm.h>
@@ -57,7 +57,7 @@
extern SLIST_HEAD(uart_devinfo_list, uart_devinfo) uart_sysdevs;
-struct uart_ops uart_sa1110_ops = {
+static struct uart_ops uart_sa1110_ops = {
.probe = sa1110_probe,
.init = sa1110_init,
.term = sa1110_term,
@@ -272,10 +272,12 @@
{
return (EINVAL);
}
+
struct uart_class uart_sa1110_class = {
- "sa1110 class",
+ "sa1110",
sa1110_methods,
1,
+ .uc_ops = &uart_sa1110_ops,
.uc_range = 8,
.uc_rclk = 3686400
};
==== //depot/projects/uart/arm/xscale/i80321/uart_cpu_i80321.c#5 (text+ko) ====
@@ -25,7 +25,7 @@
*/
#include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/arm/xscale/i80321/uart_cpu_i80321.c,v 1.4 2005/01/20 22:23:26 cognet Exp $");
+__FBSDID("$FreeBSD: src/sys/arm/xscale/i80321/uart_cpu_i80321.c,v 1.5 2007/04/02 22:00:22 marcel Exp $");
#include <sys/param.h>
#include <sys/systm.h>
@@ -51,7 +51,7 @@
int
uart_cpu_getdev(int devtype, struct uart_devinfo *di)
{
- di->ops = uart_ns8250_ops;
+ di->ops = uart_getops(&uart_ns8250_class);
di->bas.chan = 0;
di->bas.bst = &obio_bs_tag;
di->bas.regshft = 0;
==== //depot/projects/uart/arm/xscale/ixp425/uart_cpu_ixp425.c#2 (text+ko) ====
@@ -25,7 +25,7 @@
*/
#include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/arm/xscale/ixp425/uart_cpu_ixp425.c,v 1.1 2006/11/19 23:55:23 sam Exp $");
+__FBSDID("$FreeBSD: src/sys/arm/xscale/ixp425/uart_cpu_ixp425.c,v 1.2 2007/04/02 22:00:22 marcel Exp $");
#include <sys/param.h>
#include <sys/systm.h>
@@ -51,7 +51,7 @@
int
uart_cpu_getdev(int devtype, struct uart_devinfo *di)
{
- di->ops = uart_ns8250_ops;
+ di->ops = uart_getops(&uart_ns8250_class);
di->bas.chan = 0;
di->bas.bst = &ixp425_a4x_bs_tag;
di->bas.regshft = 0;
==== //depot/projects/uart/boot/arm/at91/boot2/boot2.c#4 (text+ko) ====
@@ -14,7 +14,7 @@
*/
#include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/boot/arm/at91/boot2/boot2.c,v 1.4 2007/03/28 21:18:45 imp Exp $");
+__FBSDID("$FreeBSD: src/sys/boot/arm/at91/boot2/boot2.c,v 1.5 2007/04/02 20:26:04 imp Exp $");
#include <sys/param.h>
#include <sys/disklabel.h>
@@ -148,8 +148,9 @@
board_init();
EMAC_Init();
- sdcard_init();
EMAC_SetMACAddress(mac);
+ while (sdcard_init() == 0)
+ printf("Looking for SD card\n");
dmadat = (void *)(0x20000000 + (16 << 20));
/* Process configuration file */
==== //depot/projects/uart/compat/linux/linux_emul.c#5 (text+ko) ====
@@ -27,7 +27,7 @@
*/
#include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/compat/linux/linux_emul.c,v 1.19 2007/03/02 00:08:47 jkim Exp $");
+__FBSDID("$FreeBSD: src/sys/compat/linux/linux_emul.c,v 1.20 2007/04/02 18:38:13 jkim Exp $");
#include "opt_compat.h"
@@ -55,8 +55,8 @@
#include <machine/../linux/linux_proto.h>
#endif
-struct sx emul_shared_lock;
-struct sx emul_lock;
+struct sx emul_shared_lock;
+struct mtx emul_lock;
/* this returns locked reference to the emuldata entry (if found) */
struct linux_emuldata *
==== //depot/projects/uart/compat/linux/linux_emul.h#4 (text+ko) ====
@@ -25,11 +25,11 @@
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
* THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*
- * $FreeBSD: src/sys/compat/linux/linux_emul.h,v 1.6 2007/01/07 19:00:38 netchild Exp $
+ * $FreeBSD: src/sys/compat/linux/linux_emul.h,v 1.7 2007/04/02 18:38:13 jkim Exp $
*/
#ifndef _LINUX_EMUL_H_
-#define _LINUX_EMUL_H_
+#define _LINUX_EMUL_H_
struct linux_emuldata_shared {
int refs;
@@ -55,26 +55,26 @@
LIST_ENTRY(linux_emuldata) threads; /* list of linux threads */
};
-struct linux_emuldata *em_find(struct proc *, int locked);
+struct linux_emuldata *em_find(struct proc *, int locked);
-#define EMUL_LOCK(l) sx_xlock(l)
-#define EMUL_UNLOCK(l) sx_xunlock(l)
+#define EMUL_LOCK(l) mtx_lock(l)
+#define EMUL_UNLOCK(l) mtx_unlock(l)
-#define EMUL_SHARED_RLOCK(l) sx_slock(l)
-#define EMUL_SHARED_RUNLOCK(l) sx_sunlock(l)
-#define EMUL_SHARED_WLOCK(l) sx_xlock(l)
-#define EMUL_SHARED_WUNLOCK(l) sx_xunlock(l)
+#define EMUL_SHARED_RLOCK(l) sx_slock(l)
+#define EMUL_SHARED_RUNLOCK(l) sx_sunlock(l)
+#define EMUL_SHARED_WLOCK(l) sx_xlock(l)
+#define EMUL_SHARED_WUNLOCK(l) sx_xunlock(l)
/* for em_find use */
-#define EMUL_DOLOCK 1
-#define EMUL_DONTLOCK 0
+#define EMUL_DOLOCK 1
+#define EMUL_DONTLOCK 0
int linux_proc_init(struct thread *, pid_t, int);
void linux_proc_exit(void *, struct proc *);
void linux_schedtail(void *, struct proc *);
void linux_proc_exec(void *, struct proc *, struct image_params *);
-extern struct sx emul_shared_lock;
-extern struct sx emul_lock;
+extern struct sx emul_shared_lock;
+extern struct mtx emul_lock;
#endif /* !_LINUX_EMUL_H_ */
==== //depot/projects/uart/dev/bge/if_bge.c#33 (text+ko) ====
@@ -32,7 +32,7 @@
*/
#include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/dev/bge/if_bge.c,v 1.186 2007/03/13 00:41:55 scottl Exp $");
+__FBSDID("$FreeBSD: src/sys/dev/bge/if_bge.c,v 1.187 2007/04/02 19:09:06 jkim Exp $");
/*
* Broadcom BCM570x family gigabit ethernet driver for FreeBSD.
@@ -2114,7 +2114,7 @@
return (0);
}
-#if __FreeBSD_version > 700025
+#if __FreeBSD_version > 602105
/*
* Return true if this device has more than one port.
*/
@@ -2277,7 +2277,7 @@
}
#endif
-#if __FreeBSD_version > 700025
+#if __FreeBSD_version > 602105
{
int msicount;
@@ -2596,7 +2596,7 @@
bus_release_resource(dev, SYS_RES_IRQ,
sc->bge_flags & BGE_FLAG_MSI ? 1 : 0, sc->bge_irq);
-#if __FreeBSD_version > 700025
+#if __FreeBSD_version > 602105
if (sc->bge_flags & BGE_FLAG_MSI)
pci_release_msi(dev);
#endif
==== //depot/projects/uart/dev/sound/midi/midi.c#6 (text) ====
@@ -42,7 +42,7 @@
*/
#include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/dev/sound/midi/midi.c,v 1.23 2007/03/15 14:57:54 ariff Exp $");
+__FBSDID("$FreeBSD: src/sys/dev/sound/midi/midi.c,v 1.24 2007/04/02 06:03:47 ariff Exp $");
#include <sys/param.h>
#include <sys/queue.h>
@@ -1453,14 +1453,18 @@
switch (type) {
case MOD_LOAD:
retval = midi_load();
+#if 0
if (retval == 0)
retval = seq_modevent(mod, type, data);
+#endif
break;
case MOD_UNLOAD:
retval = midi_unload();
+#if 0
if (retval == 0)
retval = seq_modevent(mod, type, data);
+#endif
break;
default:
==== //depot/projects/uart/dev/sound/pcm/mixer.c#13 (text+ko) ====
@@ -28,7 +28,7 @@
#include "mixer_if.h"
-SND_DECLARE_FILE("$FreeBSD: src/sys/dev/sound/pcm/mixer.c,v 1.57 2007/04/02 03:46:25 ariff Exp $");
+SND_DECLARE_FILE("$FreeBSD: src/sys/dev/sound/pcm/mixer.c,v 1.58 2007/04/02 10:24:15 ariff Exp $");
MALLOC_DEFINE(M_MIXER, "mixer", "mixer");
@@ -37,7 +37,7 @@
KOBJ_FIELDS;
const char *type;
void *devinfo;
- int busy:1;
+ int busy;
int hwvol_muted;
int hwvol_mixer;
int hwvol_step;
==== //depot/projects/uart/dev/uart/uart.h#13 (text+ko) ====
@@ -23,7 +23,7 @@
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
* THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*
- * $FreeBSD: src/sys/dev/uart/uart.h,v 1.5 2006/05/23 22:33:44 marcel Exp $
+ * $FreeBSD: src/sys/dev/uart/uart.h,v 1.6 2007/04/02 22:00:22 marcel Exp $
*/
#ifndef _DEV_UART_H_
==== //depot/projects/uart/dev/uart/uart_bus.h#49 (text+ko) ====
@@ -23,7 +23,7 @@
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
* THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*
- * $FreeBSD: src/sys/dev/uart/uart_bus.h,v 1.14 2006/04/28 18:29:23 marcel Exp $
+ * $FreeBSD: src/sys/dev/uart/uart_bus.h,v 1.15 2007/04/02 22:00:22 marcel Exp $
*/
#ifndef _DEV_UART_BUS_H_
==== //depot/projects/uart/dev/uart/uart_core.c#59 (text+ko) ====
@@ -25,7 +25,7 @@
*/
#include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/dev/uart/uart_core.c,v 1.21 2007/03/28 18:26:12 marcel Exp $");
+__FBSDID("$FreeBSD: src/sys/dev/uart/uart_core.c,v 1.22 2007/04/02 22:00:22 marcel Exp $");
#ifndef KLD_MODULE
#include "opt_comconsole.h"
==== //depot/projects/uart/dev/uart/uart_cpu.h#24 (text+ko) ====
@@ -23,7 +23,7 @@
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
* THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*
- * $FreeBSD: src/sys/dev/uart/uart_cpu.h,v 1.11 2007/01/18 22:01:19 marius Exp $
+ * $FreeBSD: src/sys/dev/uart/uart_cpu.h,v 1.12 2007/04/02 22:00:22 marcel Exp $
*/
#ifndef _DEV_UART_CPU_H_
==== //depot/projects/uart/dev/uart/uart_cpu_amd64.c#13 (text+ko) ====
@@ -25,7 +25,7 @@
*/
#include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/dev/uart/uart_cpu_amd64.c,v 1.11 2005/12/12 21:00:58 imp Exp $");
+__FBSDID("$FreeBSD: src/sys/dev/uart/uart_cpu_amd64.c,v 1.12 2007/04/02 22:00:22 marcel Exp $");
#include <sys/param.h>
#include <sys/systm.h>
==== //depot/projects/uart/dev/uart/uart_cpu_i386.c#14 (text+ko) ====
@@ -25,7 +25,7 @@
*/
#include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/dev/uart/uart_cpu_i386.c,v 1.11 2005/12/12 21:00:58 imp Exp $");
+__FBSDID("$FreeBSD: src/sys/dev/uart/uart_cpu_i386.c,v 1.12 2007/04/02 22:00:22 marcel Exp $");
#include <sys/param.h>
#include <sys/systm.h>
==== //depot/projects/uart/dev/uart/uart_cpu_ia64.c#15 (text+ko) ====
@@ -25,7 +25,7 @@
*/
#include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/dev/uart/uart_cpu_ia64.c,v 1.12 2005/12/12 21:00:58 imp Exp $");
+__FBSDID("$FreeBSD: src/sys/dev/uart/uart_cpu_ia64.c,v 1.13 2007/04/02 22:00:22 marcel Exp $");
#include <sys/param.h>
#include <sys/systm.h>
==== //depot/projects/uart/dev/uart/uart_cpu_pc98.c#15 (text+ko) ====
@@ -25,7 +25,7 @@
*/
#include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/dev/uart/uart_cpu_pc98.c,v 1.16 2005/12/12 21:00:58 imp Exp $");
+__FBSDID("$FreeBSD: src/sys/dev/uart/uart_cpu_pc98.c,v 1.17 2007/04/02 22:00:22 marcel Exp $");
#include <sys/param.h>
#include <sys/systm.h>
==== //depot/projects/uart/dev/uart/uart_cpu_powerpc.c#4 (text) ====
@@ -25,7 +25,7 @@
*/
#include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/dev/uart/uart_cpu_powerpc.c,v 1.2 2006/07/26 17:17:23 marcel Exp $");
+__FBSDID("$FreeBSD: src/sys/dev/uart/uart_cpu_powerpc.c,v 1.3 2007/04/02 22:00:22 marcel Exp $");
#include <sys/param.h>
#include <sys/systm.h>
==== //depot/projects/uart/dev/uart/uart_cpu_sparc64.c#27 (text+ko) ====
@@ -26,7 +26,7 @@
*/
#include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/dev/uart/uart_cpu_sparc64.c,v 1.22 2006/02/04 23:27:16 marius Exp $");
+__FBSDID("$FreeBSD: src/sys/dev/uart/uart_cpu_sparc64.c,v 1.23 2007/04/02 22:00:22 marcel Exp $");
#include <sys/param.h>
#include <sys/systm.h>
==== //depot/projects/uart/dev/uart/uart_dev_ns8250.c#50 (text+ko) ====
@@ -25,7 +25,7 @@
*/
#include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/dev/uart/uart_dev_ns8250.c,v 1.25 2007/03/28 18:34:59 marcel Exp $");
+__FBSDID("$FreeBSD: src/sys/dev/uart/uart_dev_ns8250.c,v 1.26 2007/04/02 22:00:22 marcel Exp $");
#include <sys/param.h>
#include <sys/systm.h>
==== //depot/projects/uart/dev/uart/uart_dev_sab82532.c#44 (text+ko) ====
@@ -25,7 +25,7 @@
*/
#include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/dev/uart/uart_dev_sab82532.c,v 1.15 2007/01/18 22:01:19 marius Exp $");
+__FBSDID("$FreeBSD: src/sys/dev/uart/uart_dev_sab82532.c,v 1.16 2007/04/02 22:00:22 marcel Exp $");
#include <sys/param.h>
#include <sys/systm.h>
==== //depot/projects/uart/dev/uart/uart_dev_z8530.c#37 (text+ko) ====
@@ -25,7 +25,7 @@
*/
#include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/dev/uart/uart_dev_z8530.c,v 1.21 2007/01/18 22:01:19 marius Exp $");
+__FBSDID("$FreeBSD: src/sys/dev/uart/uart_dev_z8530.c,v 1.22 2007/04/02 22:00:22 marcel Exp $");
#include <sys/param.h>
#include <sys/systm.h>
==== //depot/projects/uart/dev/uart/uart_kbd_sun.c#13 (text+ko) ====
@@ -25,7 +25,7 @@
*/
#include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/dev/uart/uart_kbd_sun.c,v 1.11 2007/01/18 22:01:19 marius Exp $");
+__FBSDID("$FreeBSD: src/sys/dev/uart/uart_kbd_sun.c,v 1.12 2007/04/02 22:00:22 marcel Exp $");
#include "opt_compat.h"
#include "opt_kbd.h"
==== //depot/projects/uart/dev/uart/uart_subr.c#9 (text+ko) ====
@@ -25,7 +25,7 @@
*/
#include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/dev/uart/uart_subr.c,v 1.5 2005/12/12 21:00:58 imp Exp $");
+__FBSDID("$FreeBSD: src/sys/dev/uart/uart_subr.c,v 1.6 2007/04/02 22:00:22 marcel Exp $");
#include <sys/param.h>
#include <sys/systm.h>
==== //depot/projects/uart/i386/linux/linux_sysvec.c#14 (text+ko) ====
@@ -27,7 +27,7 @@
*/
#include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/i386/linux/linux_sysvec.c,v 1.148 2006/09/09 16:25:25 netchild Exp $");
+__FBSDID("$FreeBSD: src/sys/i386/linux/linux_sysvec.c,v 1.149 2007/04/02 18:38:13 jkim Exp $");
#include <sys/param.h>
#include <sys/systm.h>
@@ -917,7 +917,7 @@
linux_ioctl_register_handler(*lihp);
SET_FOREACH(ldhp, linux_device_handler_set)
linux_device_register_handler(*ldhp);
- sx_init(&emul_lock, "emuldata lock");
+ mtx_init(&emul_lock, "emuldata lock", NULL, MTX_DEF);
sx_init(&emul_shared_lock, "emuldata->shared lock");
LIST_INIT(&futex_list);
sx_init(&futex_sx, "futex protection lock");
@@ -948,7 +948,7 @@
linux_ioctl_unregister_handler(*lihp);
SET_FOREACH(ldhp, linux_device_handler_set)
linux_device_unregister_handler(*ldhp);
- sx_destroy(&emul_lock);
+ mtx_destroy(&emul_lock);
sx_destroy(&emul_shared_lock);
sx_destroy(&futex_sx);
EVENTHANDLER_DEREGISTER(process_exit, linux_exit_tag);
==== //depot/projects/uart/kern/uipc_syscalls.c#26 (text+ko) ====
@@ -33,7 +33,7 @@
*/
#include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/kern/uipc_syscalls.c,v 1.248 2007/03/05 13:10:58 rwatson Exp $");
+__FBSDID("$FreeBSD: src/sys/kern/uipc_syscalls.c,v 1.249 2007/04/02 19:15:47 jhb Exp $");
#include "opt_sctp.h"
#include "opt_compat.h"
@@ -664,7 +664,10 @@
fp2->f_ops = &socketops;
fp2->f_type = DTYPE_SOCKET;
FILE_UNLOCK(fp2);
+ so1 = so2 = NULL;
error = copyout(sv, uap->rsv, 2 * sizeof (int));
+ if (error)
+ goto free4;
fdrop(fp1, td);
fdrop(fp2, td);
goto done2;
@@ -675,9 +678,11 @@
fdclose(fdp, fp1, sv[0], td);
fdrop(fp1, td);
free2:
- (void)soclose(so2);
+ if (so2 != NULL)
+ (void)soclose(so2);
free1:
- (void)soclose(so1);
+ if (so1 != NULL)
+ (void)soclose(so1);
done2:
NET_UNLOCK_GIANT();
return (error);
==== //depot/projects/uart/kern/vfs_syscalls.c#32 (text+ko) ====
@@ -35,7 +35,7 @@
*/
#include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/kern/vfs_syscalls.c,v 1.434 2007/03/21 19:32:08 jhb Exp $");
+__FBSDID("$FreeBSD: src/sys/kern/vfs_syscalls.c,v 1.435 2007/04/02 13:40:38 jhb Exp $");
#include "opt_compat.h"
#include "opt_mac.h"
@@ -1024,31 +1024,8 @@
NDFREE(&nd, NDF_ONLY_PNBUF);
vp = nd.ni_vp;
- /*
- * There should be 2 references on the file, one from the descriptor
- * table, and one for us.
- *
- * Handle the case where someone closed the file (via its file
- * descriptor) while we were blocked. The end result should look
- * like opening the file succeeded but it was immediately closed.
- * We call vn_close() manually because we haven't yet hooked up
- * the various 'struct file' fields.
- */
- FILEDESC_LOCK(fdp);
+ FILEDESC_LOCK_FAST(fdp);
FILE_LOCK(fp);
- if (fp->f_count == 1) {
- mp = vp->v_mount;
- KASSERT(fdp->fd_ofiles[indx] != fp,
- ("Open file descriptor lost all refs"));
- FILE_UNLOCK(fp);
- FILEDESC_UNLOCK(fdp);
- VOP_UNLOCK(vp, 0, td);
- vn_close(vp, flags & FMASK, fp->f_cred, td);
- VFS_UNLOCK_GIANT(vfslocked);
- fdrop(fp, td);
- td->td_retval[0] = indx;
- return (0);
- }
fp->f_vnode = vp;
if (fp->f_data == NULL)
fp->f_data = vp;
@@ -1058,7 +1035,7 @@
fp->f_seqcount = 1;
fp->f_type = (vp->v_type == VFIFO ? DTYPE_FIFO : DTYPE_VNODE);
FILE_UNLOCK(fp);
- FILEDESC_UNLOCK(fdp);
+ FILEDESC_UNLOCK_FAST(fdp);
VOP_UNLOCK(vp, 0, td);
if (flags & (O_EXLOCK | O_SHLOCK)) {
==== //depot/projects/uart/nfsserver/nfs_srvsubs.c#14 (text+ko) ====
@@ -33,7 +33,7 @@
*/
#include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/nfsserver/nfs_srvsubs.c,v 1.146 2007/03/17 18:18:08 jeff Exp $");
+__FBSDID("$FreeBSD: src/sys/nfsserver/nfs_srvsubs.c,v 1.147 2007/04/02 13:53:26 jhb Exp $");
/*
* These functions support the macros and help fiddle mbuf chains for
@@ -98,8 +98,9 @@
struct nfsd_head nfsd_head;
int nfsd_head_flag;
-static int nfs_prev_nfssvc_sy_narg;
-static sy_call_t *nfs_prev_nfssvc_sy_call;
+static int nfssvc_offset = SYS_nfssvc;
+static struct sysent nfssvc_prev_sysent;
+MAKE_SYSENT(nfssvc);
struct mtx nfsd_mtx;
@@ -522,6 +523,7 @@
static int
nfsrv_modevent(module_t mod, int type, void *data)
{
+ static int registered;
int error = 0;
NET_LOCK_GIANT();
@@ -554,11 +556,11 @@
NFSD_UNLOCK();
nfsrv_timer(0);
- /* XXX: Should use SYSCALL_MODULE() */
- nfs_prev_nfssvc_sy_narg = sysent[SYS_nfssvc].sy_narg;
- sysent[SYS_nfssvc].sy_narg = 2;
- nfs_prev_nfssvc_sy_call = sysent[SYS_nfssvc].sy_call;
- sysent[SYS_nfssvc].sy_call = (sy_call_t *)nfssvc;
+ error = syscall_register(&nfssvc_offset, &nfssvc_sysent,
+ &nfssvc_prev_sysent);
+ if (error)
+ break;
+ registered = 1;
break;
case MOD_UNLOAD:
@@ -567,9 +569,10 @@
break;
}
+ if (registered)
+ syscall_deregister(&nfssvc_offset, &nfssvc_prev_sysent);
callout_drain(&nfsrv_callout);
- sysent[SYS_nfssvc].sy_narg = nfs_prev_nfssvc_sy_narg;
- sysent[SYS_nfssvc].sy_call = nfs_prev_nfssvc_sy_call;
+ nfsrv_destroycache(); /* Free the server request cache */
nfsrv_destroycache(); /* Free the server request cache */
mtx_destroy(&nfsd_mtx);
break;
==== //depot/projects/uart/sys/sysent.h#9 (text+ko) ====
@@ -26,7 +26,7 @@
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
*
- * $FreeBSD: src/sys/sys/sysent.h,v 1.52 2006/12/20 19:00:52 jkim Exp $
+ * $FreeBSD: src/sys/sys/sysent.h,v 1.53 2007/04/02 13:53:26 jhb Exp $
*/
#ifndef _SYS_SYSENT_H_
@@ -119,6 +119,14 @@
struct sysent old_sysent; /* old sysent */
};
+#define MAKE_SYSENT(syscallname) \
+static struct sysent syscallname##_sysent = { \
+ (sizeof(struct syscallname ## _args ) \
+ / sizeof(register_t)), \
+ (sy_call_t *)& syscallname, \
+ SYS_AUE_##syscallname \
+}
+
#define SYSCALL_MODULE(name, offset, new_sysent, evh, arg) \
static struct syscall_module_data name##_syscall_mod = { \
evh, arg, offset, new_sysent, { 0, NULL, AUE_NULL } \
@@ -133,12 +141,7 @@
#define SYSCALL_MODULE_HELPER(syscallname) \
static int syscallname##_syscall = SYS_##syscallname; \
-static struct sysent syscallname##_sysent = { \
- (sizeof(struct syscallname ## _args ) \
- / sizeof(register_t)), \
- (sy_call_t *)& syscallname, \
- SYS_AUE_##syscallname \
-}; \
+MAKE_SYSENT(syscallname); \
SYSCALL_MODULE(syscallname, \
& syscallname##_syscall, & syscallname##_sysent, \
NULL, NULL);
More information about the p4-projects
mailing list