Source-Changes-HG archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

[src/trunk]: src/sys merge kqueue branch into -current



details:   https://anonhg.NetBSD.org/src/rev/118eccb9ba0d
branches:  trunk
changeset: 538604:118eccb9ba0d
user:      jdolecek <jdolecek%NetBSD.org@localhost>
date:      Wed Oct 23 09:10:23 2002 +0000

description:
merge kqueue branch into -current

kqueue provides a stateful and efficient event notification framework
currently supported events include socket, file, directory, fifo,
pipe, tty and device changes, and monitoring of processes and signals

kqueue is supported by all writable filesystems in NetBSD tree
(with exception of Coda) and all device drivers supporting poll(2)

based on work done by Jonathan Lemon for FreeBSD
initial NetBSD port done by Luke Mewburn and Jason Thorpe

diffstat:

 sys/adosfs/advnops.c                     |     5 +-
 sys/altq/altq_conf.c                     |     6 +-
 sys/arch/acorn26/acorn26/mem.c           |     4 +-
 sys/arch/acorn26/ioc/arcpp.c             |     6 +-
 sys/arch/acorn32/mainbus/fd.c            |     4 +-
 sys/arch/alpha/a12/a12dc.c               |     8 +-
 sys/arch/alpha/alpha/mem.c               |     6 +-
 sys/arch/alpha/alpha/promcons.c          |     6 +-
 sys/arch/amiga/amiga/mem.c               |     6 +-
 sys/arch/amiga/dev/event.c               |    62 +-
 sys/arch/amiga/dev/event_var.h           |     5 +-
 sys/arch/amiga/dev/fd.c                  |     6 +-
 sys/arch/amiga/dev/grf.c                 |     6 +-
 sys/arch/amiga/dev/ite.c                 |     6 +-
 sys/arch/amiga/dev/kbd.c                 |    15 +-
 sys/arch/amiga/dev/mfc.c                 |     6 +-
 sys/arch/amiga/dev/ms.c                  |    19 +-
 sys/arch/amiga/dev/msc.c                 |     6 +-
 sys/arch/amiga/dev/par.c                 |     6 +-
 sys/arch/amiga/dev/ser.c                 |     6 +-
 sys/arch/amiga/dev/view.c                |     6 +-
 sys/arch/arc/dev/opms.c                  |    55 +-
 sys/arch/arc/dev/pccons.c                |     4 +-
 sys/arch/arc/jazz/fd.c                   |     4 +-
 sys/arch/arm/arm32/mem.c                 |     6 +-
 sys/arch/arm/footbridge/footbridge_com.c |     4 +-
 sys/arch/arm/iomd/beep.c                 |     6 +-
 sys/arch/arm/iomd/console/console.c      |     4 +-
 sys/arch/arm/iomd/console/vidcconsole.c  |     4 +-
 sys/arch/arm/iomd/iic.c                  |     5 +-
 sys/arch/arm/iomd/kbd.c                  |     4 +-
 sys/arch/arm/iomd/opms.c                 |    55 +-
 sys/arch/arm/iomd/qms.c                  |    55 +-
 sys/arch/arm/iomd/rtc.c                  |     5 +-
 sys/arch/arm/ixp12x0/ixp12x0_com.c       |     4 +-
 sys/arch/arm/sa11x0/sa11x0_com.c         |     4 +-
 sys/arch/atari/atari/mem.c               |     4 +-
 sys/arch/atari/dev/clock.c               |     5 +-
 sys/arch/atari/dev/event.c               |    60 +-
 sys/arch/atari/dev/event_var.h           |     5 +-
 sys/arch/atari/dev/fd.c                  |     4 +-
 sys/arch/atari/dev/grf.c                 |     4 +-
 sys/arch/atari/dev/hdfd.c                |     4 +-
 sys/arch/atari/dev/ite.c                 |     4 +-
 sys/arch/atari/dev/kbd.c                 |    12 +-
 sys/arch/atari/dev/lpt.c                 |     4 +-
 sys/arch/atari/dev/ms.c                  |    14 +-
 sys/arch/atari/dev/ser.c                 |     4 +-
 sys/arch/atari/dev/view.c                |     4 +-
 sys/arch/atari/dev/zs.c                  |     4 +-
 sys/arch/atari/vme/et4000.c              |     5 +-
 sys/arch/atari/vme/leo.c                 |     4 +-
 sys/arch/bebox/isa/lms.c                 |    56 +-
 sys/arch/bebox/isa/mms.c                 |    56 +-
 sys/arch/bebox/isa/pccons.c              |     4 +-
 sys/arch/bebox/isa/spkr.c                |     4 +-
 sys/arch/cesfic/cesfic/mem.c             |     4 +-
 sys/arch/dreamcast/dev/gdrom.c           |     4 +-
 sys/arch/dreamcast/dev/maple/maple.c     |     4 +-
 sys/arch/evbarm/dev/plcom.c              |     4 +-
 sys/arch/hp300/dev/ac.c                  |     7 +-
 sys/arch/hp300/dev/apci.c                |     6 +-
 sys/arch/hp300/dev/ct.c                  |     6 +-
 sys/arch/hp300/dev/dca.c                 |     6 +-
 sys/arch/hp300/dev/dcm.c                 |     6 +-
 sys/arch/hp300/dev/grf.c                 |     6 +-
 sys/arch/hp300/dev/hil.c                 |   116 ++-
 sys/arch/hp300/dev/ite.c                 |     6 +-
 sys/arch/hp300/dev/mt.c                  |     6 +-
 sys/arch/hp300/dev/ppi.c                 |     6 +-
 sys/arch/hp300/dev/rd.c                  |     6 +-
 sys/arch/hp300/dev/sd.c                  |     6 +-
 sys/arch/hp300/dev/st.c                  |     6 +-
 sys/arch/hp300/hp300/mem.c               |     6 +-
 sys/arch/hp700/dev/pdc.c                 |     4 +-
 sys/arch/hpcarm/dev/apm.c                |     6 +-
 sys/arch/hpcmips/dev/apm/apmdev.c        |    54 +-
 sys/arch/hpcmips/dev/ucbsnd.c            |     4 +-
 sys/arch/hpcmips/tx/txcom.c              |     4 +-
 sys/arch/i386/i386/apm.c                 |    56 +-
 sys/arch/i386/i386/mem.c                 |     6 +-
 sys/arch/i386/isa/olms.c                 |    58 +-
 sys/arch/i386/isa/omms.c                 |    58 +-
 sys/arch/i386/isa/pccons.c               |     6 +-
 sys/arch/luna68k/dev/siotty.c            |     6 +-
 sys/arch/luna68k/luna68k/mem.c           |     6 +-
 sys/arch/mac68k/dev/aed.c                |    61 +-
 sys/arch/mac68k/dev/grf_compat.c         |     4 +-
 sys/arch/mac68k/dev/ite_compat.c         |    14 +-
 sys/arch/mac68k/mac68k/mem.c             |     4 +-
 sys/arch/mac68k/obio/asc.c               |     4 +-
 sys/arch/mac68k/obio/iwm_fd.c            |     5 +-
 sys/arch/macppc/dev/aed.c                |    61 +-
 sys/arch/macppc/dev/apm.c                |    57 +-
 sys/arch/macppc/dev/nvram.c              |     5 +-
 sys/arch/macppc/dev/ofcons.c             |     4 +-
 sys/arch/macppc/dev/z8530tty.c           |     4 +-
 sys/arch/mips/alchemy/dev/aucom.c        |     6 +-
 sys/arch/mips/mips/mem.c                 |     6 +-
 sys/arch/mips/sibyte/dev/sbjcn.c         |     4 +-
 sys/arch/mips/sibyte/dev/sbscn.c         |     4 +-
 sys/arch/mipsco/obio/i82072.c            |     5 +-
 sys/arch/mvme68k/mvme68k/mem.c           |     4 +-
 sys/arch/news68k/news68k/mem.c           |     4 +-
 sys/arch/next68k/next68k/mem.c           |     4 +-
 sys/arch/pc532/dev/lpt.c                 |     4 +-
 sys/arch/pc532/dev/scn.c                 |     4 +-
 sys/arch/pc532/pc532/mem.c               |     4 +-
 sys/arch/pmax/dev/dc.c                   |     6 +-
 sys/arch/pmax/dev/dtop.c                 |     6 +-
 sys/arch/pmax/dev/fb_usrreq.c            |    56 +-
 sys/arch/pmax/dev/px.c                   |    59 +-
 sys/arch/pmax/dev/qvss_compat.c          |     8 +-
 sys/arch/pmax/dev/rcons.c                |     4 +-
 sys/arch/pmax/tc/scc.c                   |     6 +-
 sys/arch/powerpc/powerpc/mem.c           |     4 +-
 sys/arch/sh3/dev/sci.c                   |     4 +-
 sys/arch/sh3/dev/scif.c                  |     4 +-
 sys/arch/sh3/dev/wdog.c                  |     4 +-
 sys/arch/sh3/sh3/mem.c                   |     4 +-
 sys/arch/sh5/dev/scif.c                  |     4 +-
 sys/arch/sh5/sh5/mem.c                   |     6 +-
 sys/arch/shark/ofw/ofrom.c               |     4 +-
 sys/arch/shark/shark/opms.c              |    53 +-
 sys/arch/shark/shark/pccons.c            |     4 +-
 sys/arch/shark/shark/profile.c           |     4 +-
 sys/arch/shark/shark/scr.c               |     4 +-
 sys/arch/sparc/dev/cgeight.c             |     6 +-
 sys/arch/sparc/dev/cgfour.c              |     6 +-
 sys/arch/sparc/dev/cgfourteen.c          |     6 +-
 sys/arch/sparc/dev/cgtwo.c               |     7 +-
 sys/arch/sparc/dev/fd.c                  |     4 +-
 sys/arch/sparc/dev/kd.c                  |     4 +-
 sys/arch/sparc/dev/tctrl.c               |    57 +-
 sys/arch/sparc/sparc/mem.c               |     4 +-
 sys/arch/sparc/sparc/openprom.c          |     5 +-
 sys/arch/sparc64/dev/kd.c                |     4 +-
 sys/arch/sparc64/dev/pcons.c             |     4 +-
 sys/arch/sparc64/dev/sab.c               |     4 +-
 sys/arch/sparc64/sparc64/mem.c           |     4 +-
 sys/arch/sparc64/sparc64/openprom.c      |     5 +-
 sys/arch/sun2/dev/kd.c                   |     4 +-
 sys/arch/sun2/dev/pcons.c                |     4 +-
 sys/arch/sun2/sun2/mem.c                 |     4 +-
 sys/arch/sun3/dev/bw2.c                  |     6 +-
 sys/arch/sun3/dev/cg2.c                  |     6 +-
 sys/arch/sun3/dev/cg4.c                  |     6 +-
 sys/arch/sun3/dev/fb.c                   |     4 +-
 sys/arch/sun3/dev/fbvar.h                |     5 +-
 sys/arch/sun3/dev/fd.c                   |     4 +-
 sys/arch/sun3/dev/kd.c                   |     4 +-
 sys/arch/sun3/dev/xd.c                   |     4 +-
 sys/arch/sun3/dev/xy.c                   |     4 +-
 sys/arch/sun3/sun3/mem.c                 |     4 +-
 sys/arch/sun3/sun3x/mem.c                |     4 +-
 sys/arch/vax/mba/hp.c                    |     5 +-
 sys/arch/vax/uba/qv.c                    |     5 +-
 sys/arch/vax/uba/ts.c                    |     4 +-
 sys/arch/vax/vax/cfl.c                   |     4 +-
 sys/arch/vax/vax/crl.c                   |     4 +-
 sys/arch/vax/vax/crx.c                   |     4 +-
 sys/arch/vax/vax/ctu.c                   |     4 +-
 sys/arch/vax/vax/gencons.c               |     4 +-
 sys/arch/vax/vax/mem.c                   |     4 +-
 sys/arch/vax/vsa/hdc9224.c               |     4 +-
 sys/arch/x68k/dev/com.c                  |     4 +-
 sys/arch/x68k/dev/event.c                |    60 +-
 sys/arch/x68k/dev/event_var.h            |     5 +-
 sys/arch/x68k/dev/fd.c                   |     4 +-
 sys/arch/x68k/dev/grf.c                  |     4 +-
 sys/arch/x68k/dev/ite.c                  |     4 +-
 sys/arch/x68k/dev/kbd.c                  |    13 +-
 sys/arch/x68k/dev/ms.c                   |    13 +-
 sys/arch/x68k/dev/opmbell.c              |     5 +-
 sys/arch/x68k/dev/par.c                  |     4 +-
 sys/arch/x68k/dev/pow.c                  |     4 +-
 sys/arch/x68k/dev/sram.c                 |     4 +-
 sys/arch/x68k/x68k/mem.c                 |     4 +-
 sys/arch/x86_64/isa/pccons.c             |     4 +-
 sys/arch/x86_64/x86_64/mem.c             |     4 +-
 sys/coda/coda_psdev.c                    |    67 +-
 sys/compat/irix/irix_kmem.c              |     6 +-
 sys/compat/irix/irix_usema.c             |     6 +-
 sys/compat/svr4/svr4_net.c               |     8 +-
 sys/conf/files                           |     3 +-
 sys/dev/arcbios/arcbios_tty.c            |     6 +-
 sys/dev/ata/wd.c                         |     6 +-
 sys/dev/audio.c                          |   133 ++-
 sys/dev/bluetooth/bthci.c                |    21 +-
 sys/dev/bluetooth/bthcivar.h             |     3 +-
 sys/dev/ccd.c                            |     6 +-
 sys/dev/clockctl.c                       |     6 +-
 sys/dev/cons.c                           |    32 +-
 sys/dev/dec/dz.c                         |     6 +-
 sys/dev/dmover/dmover_io.c               |     6 +-
 sys/dev/hpc/biconsdev.c                  |     7 +-
 sys/dev/hpc/btnmgr.c                     |     6 +-
 sys/dev/i2o/dpti.c                       |     6 +-
 sys/dev/i2o/iop.c                        |     6 +-
 sys/dev/ic/cd18xx.c                      |     6 +-
 sys/dev/ic/clmpcc.c                      |     6 +-
 sys/dev/ic/com.c                         |     6 +-
 sys/dev/ic/cy.c                          |     6 +-
 sys/dev/ic/joy.c                         |     7 +-
 sys/dev/ic/lpt.c                         |     6 +-
 sys/dev/ic/mlx.c                         |     6 +-
 sys/dev/ic/rrunner.c                     |     5 +-
 sys/dev/ic/z8530tty.c                    |     6 +-
 sys/dev/ir/cir.c                         |     5 +-
 sys/dev/ir/irframe.c                     |    19 +-
 sys/dev/ir/irframe_tty.c                 |    94 ++-
 sys/dev/ir/irframevar.h                  |     3 +-
 sys/dev/isa/fd.c                         |     6 +-
 sys/dev/isa/mcd.c                        |     6 +-
 sys/dev/isa/satlink.c                    |    73 +-
 sys/dev/isa/spkr.c                       |     6 +-
 sys/dev/isa/wt.c                         |     6 +-
 sys/dev/kttcp.c                          |     4 +-
 sys/dev/ld.c                             |     6 +-
 sys/dev/mca/ed_mca.c                     |     6 +-
 sys/dev/md.c                             |     6 +-
 sys/dev/midi.c                           |    93 ++-
 sys/dev/mscp/mscp_disk.c                 |     8 +-
 sys/dev/mscp/mscp_tape.c                 |     6 +-
 sys/dev/mvme/lpt_mvme.c                  |     4 +-
 sys/dev/ofw/ofcons.c                     |     6 +-
 sys/dev/ofw/ofdisk.c                     |     6 +-
 sys/dev/ofw/ofrtc.c                      |     7 +-
 sys/dev/ofw/openfirmio.c                 |     7 +-
 sys/dev/pci/agp.c                        |     6 +-
 sys/dev/pci/bktr/bktr_os.c               |     6 +-
 sys/dev/pci/cz.c                         |     6 +-
 sys/dev/pci/mly.c                        |     6 +-
 sys/dev/pci/oboe.c                       |    75 +-
 sys/dev/pci/pci_usrreq.c                 |     6 +-
 sys/dev/qbus/dhu.c                       |     6 +-
 sys/dev/qbus/dl.c                        |     6 +-
 sys/dev/qbus/qd.c                        |   129 ++-
 sys/dev/qbus/rl.c                        |     7 +-
 sys/dev/qbus/ts.c                        |     6 +-
 sys/dev/radio.c                          |     6 +-
 sys/dev/raidframe/rf_netbsdkintf.c       |     6 +-
 sys/dev/rnd.c                            |    71 +-
 sys/dev/sbus/bpp.c                       |    87 +-
 sys/dev/sbus/magma.c                     |     8 +-
 sys/dev/sbus/p9100.c                     |     8 +-
 sys/dev/sbus/tcx.c                       |     9 +-
 sys/dev/scsipi/cd.c                      |     6 +-
 sys/dev/scsipi/ch.c                      |    62 +-
 sys/dev/scsipi/if_se.c                   |     6 +-
 sys/dev/scsipi/scsiconf.c                |     6 +-
 sys/dev/scsipi/sd.c                      |     6 +-
 sys/dev/scsipi/ses.c                     |     6 +-
 sys/dev/scsipi/ss.c                      |     6 +-
 sys/dev/scsipi/st.c                      |     6 +-
 sys/dev/scsipi/uk.c                      |     6 +-
 sys/dev/sequencer.c                      |    95 ++-
 sys/dev/sun/bwtwo.c                      |     9 +-
 sys/dev/sun/cgsix.c                      |     9 +-
 sys/dev/sun/cgthree.c                    |     8 +-
 sys/dev/sun/event.c                      |    62 +-
 sys/dev/sun/event_var.h                  |     5 +-
 sys/dev/sun/fb.c                         |    16 +-
 sys/dev/sun/fbvar.h                      |     5 +-
 sys/dev/sun/kbd.c                        |    17 +-
 sys/dev/sun/ms.c                         |    17 +-
 sys/dev/sysmon/sysmon.c                  |     6 +-
 sys/dev/tc/stic.c                        |     6 +-
 sys/dev/usb/ucom.c                       |     6 +-
 sys/dev/usb/ugen.c                       |   132 ++-
 sys/dev/usb/uhid.c                       |    71 +-
 sys/dev/usb/uirda.c                      |    76 +-
 sys/dev/usb/ulpt.c                       |     6 +-
 sys/dev/usb/urio.c                       |     6 +-
 sys/dev/usb/usb.c                        |    60 +-
 sys/dev/usb/uscanner.c                   |    54 +-
 sys/dev/usb/ustir.c                      |    86 +-
 sys/dev/vme/xd.c                         |     6 +-
 sys/dev/vme/xy.c                         |     6 +-
 sys/dev/vnd.c                            |     6 +-
 sys/dev/wscons/wsdisplay.c               |    27 +-
 sys/dev/wscons/wsevent.c                 |    62 +-
 sys/dev/wscons/wseventvar.h              |     5 +-
 sys/dev/wscons/wskbd.c                   |    17 +-
 sys/dev/wscons/wsmouse.c                 |    17 +-
 sys/dev/wscons/wsmux.c                   |    31 +-
 sys/dev/wsfont/wsfontdev.c               |     7 +-
 sys/filecorefs/filecore_vnops.c          |     5 +-
 sys/isofs/cd9660/cd9660_vnops.c          |     6 +-
 sys/kern/init_main.c                     |     8 +-
 sys/kern/kern_descrip.c                  |    36 +-
 sys/kern/kern_event.c                    |  1319 ++++++++++++++++++++++++++++++
 sys/kern/kern_exec.c                     |     7 +-
 sys/kern/kern_exit.c                     |     9 +-
 sys/kern/kern_fork.c                     |     9 +-
 sys/kern/kern_ktrace.c                   |     9 +-
 sys/kern/kern_lkm.c                      |     6 +-
 sys/kern/kern_sig.c                      |    53 +-
 sys/kern/kern_systrace.c                 |    13 +-
 sys/kern/subr_log.c                      |    63 +-
 sys/kern/sys_pipe.c                      |   110 +-
 sys/kern/sys_socket.c                    |    10 +-
 sys/kern/syscalls.master                 |     9 +-
 sys/kern/tty.c                           |    91 +-
 sys/kern/tty_pty.c                       |   137 ++-
 sys/kern/tty_tty.c                       |    21 +-
 sys/kern/uipc_socket.c                   |   121 ++-
 sys/kern/uipc_socket2.c                  |     6 +-
 sys/kern/uipc_syscalls.c                 |     9 +-
 sys/kern/vfs_subr.c                      |     6 +-
 sys/kern/vfs_vnops.c                     |    18 +-
 sys/kern/vnode_if.src                    |    10 +-
 sys/miscfs/fdesc/fdesc_vnops.c           |    41 +-
 sys/miscfs/fifofs/fifo.h                 |     3 +-
 sys/miscfs/fifofs/fifo_vnops.c           |    95 ++-
 sys/miscfs/genfs/genfs.h                 |     3 +-
 sys/miscfs/genfs/genfs_vnops.c           |    82 +-
 sys/miscfs/specfs/spec_vnops.c           |    35 +-
 sys/miscfs/specfs/specdev.h              |     3 +-
 sys/msdosfs/msdosfs_vnops.c              |    24 +-
 sys/net/bpf.c                            |    62 +-
 sys/net/if_tun.c                         |    81 +-
 sys/netinet/ip_fil.c                     |     8 +-
 sys/netisdn/i4b_ctl.c                    |     6 +-
 sys/netisdn/i4b_i4bdrv.c                 |    71 +-
 sys/netisdn/i4b_rbch.c                   |    95 ++-
 sys/netisdn/i4b_tel.c                    |   128 ++-
 sys/netisdn/i4b_trace.c                  |     6 +-
 sys/netsmb/smb_dev.c                     |     4 +-
 sys/nfs/files.nfs                        |     3 +-
 sys/nfs/nfs_bio.c                        |     9 +-
 sys/nfs/nfs_kq.c                         |   328 +++++++
 sys/nfs/nfs_subs.c                       |     9 +-
 sys/nfs/nfs_var.h                        |     5 +-
 sys/nfs/nfs_vnops.c                      |    21 +-
 sys/nfs/nfsnode.h                        |     3 +-
 sys/ntfs/ntfs_vnops.c                    |     5 +-
 sys/sys/conf.h                           |     7 +-
 sys/sys/event.h                          |   222 +++++
 sys/sys/eventvar.h                       |    48 +
 sys/sys/file.h                           |     5 +-
 sys/sys/filedesc.h                       |    13 +-
 sys/sys/malloc.h                         |     8 +-
 sys/sys/proc.h                           |     4 +-
 sys/sys/select.h                         |    13 +-
 sys/sys/socketvar.h                      |     8 +-
 sys/sys/tty.h                            |     3 +-
 sys/sys/vnode.h                          |     7 +-
 sys/ufs/ext2fs/ext2fs_readwrite.c        |     9 +-
 sys/ufs/ext2fs/ext2fs_vnops.c            |    38 +-
 sys/ufs/ffs/ffs_vnops.c                  |     8 +-
 sys/ufs/lfs/lfs_vnops.c                  |     7 +-
 sys/ufs/ufs/ufs_readwrite.c              |     9 +-
 sys/ufs/ufs/ufs_vnops.c                  |    26 +-
 sys/uvm/uvm_swap.c                       |     6 +-
 355 files changed, 6939 insertions(+), 1030 deletions(-)

diffs (truncated from 16385 to 300 lines):

diff -r 17e7346158b9 -r 118eccb9ba0d sys/adosfs/advnops.c
--- a/sys/adosfs/advnops.c      Wed Oct 23 06:45:49 2002 +0000
+++ b/sys/adosfs/advnops.c      Wed Oct 23 09:10:23 2002 +0000
@@ -1,4 +1,4 @@
-/*     $NetBSD: advnops.c,v 1.63 2002/08/04 05:42:43 soren Exp $       */
+/*     $NetBSD: advnops.c,v 1.64 2002/10/23 09:10:23 jdolecek Exp $    */
 
 /*
  * Copyright (c) 1994 Christian E. Hopps
@@ -32,7 +32,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: advnops.c,v 1.63 2002/08/04 05:42:43 soren Exp $");
+__KERNEL_RCSID(0, "$NetBSD: advnops.c,v 1.64 2002/10/23 09:10:23 jdolecek Exp $");
 
 #if defined(_KERNEL_OPT)
 #include "opt_quota.h"
@@ -117,6 +117,7 @@
        { &vop_fcntl_desc, adosfs_fcntl },              /* fcntl */
        { &vop_ioctl_desc, adosfs_ioctl },              /* ioctl */
        { &vop_poll_desc, adosfs_poll },                /* poll */
+       { &vop_kqfilter_desc, genfs_kqfilter },         /* kqfilter */
        { &vop_revoke_desc, adosfs_revoke },            /* revoke */
        { &vop_mmap_desc, adosfs_mmap },                /* mmap */
        { &vop_fsync_desc, adosfs_fsync },              /* fsync */
diff -r 17e7346158b9 -r 118eccb9ba0d sys/altq/altq_conf.c
--- a/sys/altq/altq_conf.c      Wed Oct 23 06:45:49 2002 +0000
+++ b/sys/altq/altq_conf.c      Wed Oct 23 09:10:23 2002 +0000
@@ -1,4 +1,4 @@
-/*     $NetBSD: altq_conf.c,v 1.9 2002/09/22 20:09:15 jdolecek Exp $   */
+/*     $NetBSD: altq_conf.c,v 1.10 2002/10/23 09:10:25 jdolecek Exp $  */
 /*     $KAME: altq_conf.c,v 1.13 2002/01/29 10:16:01 kjc Exp $ */
 
 /*
@@ -28,7 +28,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: altq_conf.c,v 1.9 2002/09/22 20:09:15 jdolecek Exp $");
+__KERNEL_RCSID(0, "$NetBSD: altq_conf.c,v 1.10 2002/10/23 09:10:25 jdolecek Exp $");
 
 #if defined(__FreeBSD__) || defined(__NetBSD__)
 #include "opt_altq.h"
@@ -204,7 +204,7 @@
 #if defined(__NetBSD__)
 const struct cdevsw altq_cdevsw = {
        altqopen, altqclose, noread, nowrite, altqioctl,
-       nostop, notty, nopoll, nommap,
+       nostop, notty, nopoll, nommap, nokqfilter
 };
 #endif
 
diff -r 17e7346158b9 -r 118eccb9ba0d sys/arch/acorn26/acorn26/mem.c
--- a/sys/arch/acorn26/acorn26/mem.c    Wed Oct 23 06:45:49 2002 +0000
+++ b/sys/arch/acorn26/acorn26/mem.c    Wed Oct 23 09:10:23 2002 +0000
@@ -1,4 +1,4 @@
-/*     $NetBSD: mem.c,v 1.2 2002/09/06 13:18:43 gehenna Exp $  */
+/*     $NetBSD: mem.c,v 1.3 2002/10/23 09:10:25 jdolecek Exp $ */
 
 /*
  * Copyright (c) 1988 University of Utah.
@@ -65,7 +65,7 @@
 
 const struct cdevsw mem_cdevsw = {
        nullopen, nullclose, mmrw, mmrw, mmioctl,
-       nostop, notty, nopoll, mmmmap,
+       nostop, notty, nopoll, mmmmap, nokqfilter,
 };
 
 /*ARGSUSED*/
diff -r 17e7346158b9 -r 118eccb9ba0d sys/arch/acorn26/ioc/arcpp.c
--- a/sys/arch/acorn26/ioc/arcpp.c      Wed Oct 23 06:45:49 2002 +0000
+++ b/sys/arch/acorn26/ioc/arcpp.c      Wed Oct 23 09:10:23 2002 +0000
@@ -1,4 +1,4 @@
-/* $NetBSD: arcpp.c,v 1.5 2002/10/02 03:25:47 thorpej Exp $ */
+/* $NetBSD: arcpp.c,v 1.6 2002/10/23 09:10:26 jdolecek Exp $ */
 
 /*-
  * Copyright (c) 2001 Ben Harris
@@ -52,7 +52,7 @@
 
 #include <sys/param.h>
 
-__KERNEL_RCSID(0, "$NetBSD: arcpp.c,v 1.5 2002/10/02 03:25:47 thorpej Exp $");
+__KERNEL_RCSID(0, "$NetBSD: arcpp.c,v 1.6 2002/10/23 09:10:26 jdolecek Exp $");
 
 #include <sys/conf.h>
 #include <sys/device.h>
@@ -110,7 +110,7 @@
 
 const struct cdevsw arcpp_cdevsw = {
        arcppopen, arcppclose, noread, arcppwrite, noioctl,
-       nostop, notty, nopoll, nommap,
+       nostop, notty, nopoll, nommap, nokqfilter,
 };
 
 #define        ARCPPUNIT(s)    (minor(s) & 0x1f)
diff -r 17e7346158b9 -r 118eccb9ba0d sys/arch/acorn32/mainbus/fd.c
--- a/sys/arch/acorn32/mainbus/fd.c     Wed Oct 23 06:45:49 2002 +0000
+++ b/sys/arch/acorn32/mainbus/fd.c     Wed Oct 23 09:10:23 2002 +0000
@@ -1,4 +1,4 @@
-/*     $NetBSD: fd.c,v 1.10 2002/10/02 03:31:58 thorpej Exp $  */
+/*     $NetBSD: fd.c,v 1.11 2002/10/23 09:10:27 jdolecek Exp $ */
 
 /*-
  * Copyright (c) 1998 The NetBSD Foundation, Inc.
@@ -281,7 +281,7 @@
 
 const struct cdevsw fd_cdevsw = {
        fdopen, fdclose, fdread, fdwrite, fdioctl,
-       nostop, notty, nopoll, nommap, D_DISK
+       nostop, notty, nopoll, nommap, nokqfilter, D_DISK
 };
 
 void fdgetdisklabel __P((struct fd_softc *));
diff -r 17e7346158b9 -r 118eccb9ba0d sys/arch/alpha/a12/a12dc.c
--- a/sys/arch/alpha/a12/a12dc.c        Wed Oct 23 06:45:49 2002 +0000
+++ b/sys/arch/alpha/a12/a12dc.c        Wed Oct 23 09:10:23 2002 +0000
@@ -1,4 +1,4 @@
-/* $NetBSD: a12dc.c,v 1.9 2002/10/02 04:06:36 thorpej Exp $ */
+/* $NetBSD: a12dc.c,v 1.10 2002/10/23 09:10:28 jdolecek Exp $ */
 
 /* [Notice revision 2.2]
  * Copyright (c) 1997, 1998 Avalon Computer Systems, Inc.
@@ -64,7 +64,7 @@
 #ifndef BSIDE
 #include <sys/cdefs.h>                 /* RCS ID & Copyright macro defns */
 
-__KERNEL_RCSID(0, "$NetBSD: a12dc.c,v 1.9 2002/10/02 04:06:36 thorpej Exp $");
+__KERNEL_RCSID(0, "$NetBSD: a12dc.c,v 1.10 2002/10/23 09:10:28 jdolecek Exp $");
 
 #include <sys/types.h>
 #include <sys/param.h>
@@ -117,7 +117,7 @@
 
 const struct cdevsw a12dc_cdevsw = {
        a12dcopen, a12dcclose, a12dcread, a12dcwrite, a12dcioctl,
-       a12dcstop, a12dctty, a12dcpoll, nommap, D_TTY
+       a12dcstop, a12dctty, a12dcpoll, nommap, ttykqfilter, D_TTY
 };
 
 int    a12dcfound;             /* There Can Be Only One. */
@@ -164,7 +164,7 @@
        /* note that we've attached the chipset; can't have 2 A12Cs. */
        a12dcfound = 1;
 
-       printf(": driver %s\n", "$Revision: 1.9 $");
+       printf(": driver %s\n", "$Revision: 1.10 $");
 
        tp = a12dc_tty[0] = ttymalloc();
        tp->t_oproc = a12dcstart;
diff -r 17e7346158b9 -r 118eccb9ba0d sys/arch/alpha/alpha/mem.c
--- a/sys/arch/alpha/alpha/mem.c        Wed Oct 23 06:45:49 2002 +0000
+++ b/sys/arch/alpha/alpha/mem.c        Wed Oct 23 09:10:23 2002 +0000
@@ -1,4 +1,4 @@
-/* $NetBSD: mem.c,v 1.32 2002/09/06 13:18:43 gehenna Exp $ */
+/* $NetBSD: mem.c,v 1.33 2002/10/23 09:10:28 jdolecek Exp $ */
 
 /*
  * Copyright (c) 1988 University of Utah.
@@ -46,7 +46,7 @@
 
 #include <sys/cdefs.h>                 /* RCS ID & Copyright macro defns */
 
-__KERNEL_RCSID(0, "$NetBSD: mem.c,v 1.32 2002/09/06 13:18:43 gehenna Exp $");
+__KERNEL_RCSID(0, "$NetBSD: mem.c,v 1.33 2002/10/23 09:10:28 jdolecek Exp $");
 
 #include <sys/param.h>
 #include <sys/buf.h>
@@ -72,7 +72,7 @@
 
 const struct cdevsw mem_cdevsw = {
        nullopen, nullclose, mmrw, mmrw, mmioctl,
-       nostop, notty, nopoll, mmmmap,
+       nostop, notty, nopoll, mmmmap, nokqfilter,
 };
 
 /*ARGSUSED*/
diff -r 17e7346158b9 -r 118eccb9ba0d sys/arch/alpha/alpha/promcons.c
--- a/sys/arch/alpha/alpha/promcons.c   Wed Oct 23 06:45:49 2002 +0000
+++ b/sys/arch/alpha/alpha/promcons.c   Wed Oct 23 09:10:23 2002 +0000
@@ -1,4 +1,4 @@
-/* $NetBSD: promcons.c,v 1.20 2002/09/06 13:18:43 gehenna Exp $ */
+/* $NetBSD: promcons.c,v 1.21 2002/10/23 09:10:29 jdolecek Exp $ */
 
 /*
  * Copyright (c) 1994, 1995, 1996 Carnegie-Mellon University.
@@ -29,7 +29,7 @@
 
 #include <sys/cdefs.h>                 /* RCS ID & Copyright macro defns */
 
-__KERNEL_RCSID(0, "$NetBSD: promcons.c,v 1.20 2002/09/06 13:18:43 gehenna Exp $");
+__KERNEL_RCSID(0, "$NetBSD: promcons.c,v 1.21 2002/10/23 09:10:29 jdolecek Exp $");
 
 #include <sys/param.h>
 #include <sys/systm.h>
@@ -64,7 +64,7 @@
 
 const struct cdevsw prom_cdevsw = {
        promopen, promclose, promread, promwrite, promioctl,
-       promstop, promtty, prompoll, nommap, D_TTY
+       promstop, promtty, prompoll, nommap, ttykqfilter, D_TTY
 };
 
 #define        PROM_POLL_HZ    50
diff -r 17e7346158b9 -r 118eccb9ba0d sys/arch/amiga/amiga/mem.c
--- a/sys/arch/amiga/amiga/mem.c        Wed Oct 23 06:45:49 2002 +0000
+++ b/sys/arch/amiga/amiga/mem.c        Wed Oct 23 09:10:23 2002 +0000
@@ -1,4 +1,4 @@
-/*     $NetBSD: mem.c,v 1.35 2002/09/06 13:18:43 gehenna Exp $ */
+/*     $NetBSD: mem.c,v 1.36 2002/10/23 09:10:29 jdolecek Exp $        */
 
 /*
  * Copyright (c) 1988 University of Utah.
@@ -41,7 +41,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: mem.c,v 1.35 2002/09/06 13:18:43 gehenna Exp $");
+__KERNEL_RCSID(0, "$NetBSD: mem.c,v 1.36 2002/10/23 09:10:29 jdolecek Exp $");
 
 /*
  * Memory special file
@@ -73,7 +73,7 @@
 
 const struct cdevsw mem_cdevsw = {
        nullopen, nullclose, mmrw, mmrw, mmioctl,
-       nostop, notty, nopoll, nommap,
+       nostop, notty, nopoll, nommap, nokqfilter,
 };
 
 /*ARGSUSED*/
diff -r 17e7346158b9 -r 118eccb9ba0d sys/arch/amiga/dev/event.c
--- a/sys/arch/amiga/dev/event.c        Wed Oct 23 06:45:49 2002 +0000
+++ b/sys/arch/amiga/dev/event.c        Wed Oct 23 09:10:23 2002 +0000
@@ -1,4 +1,4 @@
-/*     $NetBSD: event.c,v 1.7 2002/01/28 09:56:54 aymeric Exp $ */
+/*     $NetBSD: event.c,v 1.8 2002/10/23 09:10:30 jdolecek Exp $ */
 
 /*
  * Copyright (c) 1992, 1993
@@ -47,7 +47,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: event.c,v 1.7 2002/01/28 09:56:54 aymeric Exp $");
+__KERNEL_RCSID(0, "$NetBSD: event.c,v 1.8 2002/10/23 09:10:30 jdolecek Exp $");
 
 /*
  * Internal `Firm_event' interface for the keyboard and mouse drivers.
@@ -162,3 +162,61 @@
        splx(s);
        return (revents);
 }
+
+static void
+filt_evrdetach(struct knote *kn)
+{
+       struct evvar *ev = kn->kn_hook;
+       int s;
+
+       s = splev();
+       SLIST_REMOVE(&ev->ev_sel.si_klist, kn, knote, kn_selnext);
+       splx(s);
+}
+
+static int
+filt_evread(struct knote *kn, long hint)
+{
+       struct evvar *ev = kn->kn_hook;
+
+       if (ev->ev_get == ev->ev_put)
+               return (0);
+
+       if (ev->ev_get < ev->ev_put)
+               kn->kn_data = ev->ev_put - ev->ev_get;
+       else
+               kn->kn_data = (EV_QSIZE - ev->ev_get) +
+                   ev->ev_put;
+
+       kn->kn_data *= sizeof(struct firm_event);
+
+       return (1);
+}
+
+static const struct filterops ev_filtops =
+       { 1, NULL, filt_evrdetach, filt_evread };
+
+int
+ev_kqfilter(struct evvar *ev, struct knote *kn)
+{
+       struct klist *klist;
+       int s;
+
+       switch (kn->kn_filter) {
+       case EVFILT_READ:
+               klist = &ev->ev_sel.si_klist;
+               kn->kn_fop = &ev_filtops;
+               break;



Home | Main Index | Thread Index | Old Index