Remove opms(4) and its device, /dev/pms0, from the i386 port, because

it has been obsoleted by pms(4).

Reviewed by fvdl and christos.
This commit is contained in:
wiz 2002-04-18 12:54:09 +00:00
parent eb225418ed
commit c6dc851f64
26 changed files with 38 additions and 855 deletions

View File

@ -1,4 +1,4 @@
# $NetBSD: mi,v 1.465 2002/04/07 15:45:02 wiz Exp $
# $NetBSD: mi,v 1.466 2002/04/18 12:54:09 wiz Exp $
./usr/share/info/am-utils.info man-amd-info
./usr/share/info/as.info man-computil-info
./usr/share/info/awk.info man-util-info
@ -676,7 +676,6 @@
./usr/share/man/cat4/i386/npx.0 man-sys-catman
./usr/share/man/cat4/i386/olms.0 man-sys-catman
./usr/share/man/cat4/i386/omms.0 man-sys-catman
./usr/share/man/cat4/i386/opms.0 man-sys-catman
./usr/share/man/cat4/i386/pcibios.0 man-sys-catman
./usr/share/man/cat4/i386/pnpbios.0 man-sys-catman
./usr/share/man/cat4/icmp.0 man-sys-catman
@ -2367,7 +2366,6 @@
./usr/share/man/man4/i386/npx.4 man-sys-man
./usr/share/man/man4/i386/olms.4 man-sys-man
./usr/share/man/man4/i386/omms.4 man-sys-man
./usr/share/man/man4/i386/opms.4 man-sys-man
./usr/share/man/man4/i386/pcibios.4 man-sys-man
./usr/share/man/man4/i386/pnpbios.4 man-sys-man
./usr/share/man/man4/icmp.4 man-sys-man

View File

@ -1,4 +1,4 @@
# $NetBSD: obsolete.mi,v 1.44 2002/04/07 15:45:02 wiz Exp $
# $NetBSD: obsolete.mi,v 1.45 2002/04/18 12:54:10 wiz Exp $
/usr/share/man/cat1/amq.0
/usr/share/man/cat1/g711conv.0
/usr/share/man/cat1/i386
@ -50,6 +50,7 @@
/usr/share/man/cat4/i386/ie.0
/usr/share/man/cat4/i386/joy.0
/usr/share/man/cat4/i386/le.0
/usr/share/man/cat4/i386/opms.0
/usr/share/man/cat4/i386/pcvt.0
/usr/share/man/cat4/i386/pms.0
/usr/share/man/cat4/i386/speaker.0
@ -174,6 +175,7 @@
/usr/share/man/man4/i386/ie.4
/usr/share/man/man4/i386/joy.4
/usr/share/man/man4/i386/le.4
/usr/share/man/man4/i386/opms.4
/usr/share/man/man4/i386/pcvt.4
/usr/share/man/man4/i386/pms.4
/usr/share/man/man4/i386/speaker.4

View File

@ -1,6 +1,6 @@
#!/bin/sh -
#
# $NetBSD: MAKEDEV,v 1.174 2002/03/16 17:03:33 martin Exp $
# $NetBSD: MAKEDEV,v 1.175 2002/04/18 12:54:11 wiz Exp $
#
# Copyright (c) 1990 The Regents of the University of California.
# All rights reserved.
@ -64,7 +64,6 @@
# Pointing devices:
# mms* Microsoft bus mouse
# lms* Logitech bus mouse
# pms* PS/2 mouse
# wsmouse* wscons mouse events
#
# Keyboard devices:
@ -174,7 +173,7 @@ all)
makedev bpf0 bpf1 bpf2 bpf3 bpf4 bpf5 bpf6 bpf7
makedev lpt0 lpt1 lpt2 ttyv0 tun0 tun1 tun2 tun3 ipl
makedev ccd0 ccd1 ccd2 ccd3 md0 ss0 ch0 uk0 uk1 random
makedev speaker lkm mms0 lms0 pms0 joy0 joy1 apm local satlink0
makedev speaker lkm mms0 lms0 joy0 joy1 apm local satlink0
makedev iop0 mlx0 mly0
makedev audio
makedev radio
@ -664,13 +663,12 @@ lpt*|lpa*)
mknod $name$unit c $chr $(($unit + $flags))
;;
bpf*|tun*|mms*|lms*|pms*|joy*)
bpf*|tun*|mms*|lms*|joy*)
case $i in
bpf*) name=bpf; unit=${i#bpf}; chr=23;;
tun*) name=tun; unit=${i#tun}; chr=40;;
mms*) name=mms; unit=${i#mms}; chr=35;;
lms*) name=lms; unit=${i#lms}; chr=36;;
pms*) name=pms; unit=${i#pms}; chr=37;;
joy*) name=joy; unit=${i#joy}; chr=26;;
esac
rm -f $name$unit

View File

@ -1,9 +1,9 @@
# $NetBSD: Makefile,v 1.50 2002/02/06 21:06:35 jdolecek Exp $
# $NetBSD: Makefile,v 1.51 2002/04/18 12:54:11 wiz Exp $
# from: @(#)Makefile 8.1 (Berkeley) 6/5/93
MAN= apm.4 autoconf.4 busmouse.4 console.4 fdc.4 \
intro.4 io.4 lms.4 lpt.4 mem.4 mms.4 npx.4 \
opms.4 pcibios.4 pnpbios.4
pcibios.4 pnpbios.4
MLINKS= mem.4 kmem.4 lms.4 olms.4 mms.4 omms.4
MLINKS+=pcibios.4 PCIBIOS.4
MANSUBDIR=/i386

View File

@ -1,73 +0,0 @@
.\" $NetBSD: opms.4,v 1.7 2002/01/15 01:43:27 wiz Exp $
.\"
.\" Copyright (c) 1993 Christopher G. Demetriou
.\" All rights reserved.
.\"
.\" Redistribution and use in source and binary forms, with or without
.\" modification, are permitted provided that the following conditions
.\" are met:
.\" 1. Redistributions of source code must retain the above copyright
.\" notice, this list of conditions and the following disclaimer.
.\" 2. Redistributions in binary form must reproduce the above copyright
.\" notice, this list of conditions and the following disclaimer in the
.\" documentation and/or other materials provided with the distribution.
.\" 3. All advertising materials mentioning features or use of this software
.\" must display the following acknowledgement:
.\" This product includes software developed for the
.\" NetBSD Project. See http://www.netbsd.org/ for
.\" information about NetBSD.
.\" 4. The name of the author may not be used to endorse or promote products
.\" derived from this software without specific prior written permission.
.\"
.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
.\" IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
.\" OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
.\" IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
.\" INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
.\" NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
.\" DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
.\" THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
.\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
.\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
.\"
.\" <<Id: LICENSE,v 1.2 2000/06/14 15:57:33 cgd Exp>>
.\"
.Dd March 12, 1997
.Dt OPMS 4 i386
.Os
.Sh NAME
.Nm opms
.Nd PS/2 auxiliary port mouse driver
.Sh SYNOPSIS
.Cd pckbc* at isa?
.Cd opms* at pckbc?
.Cd opms0 at pc? irq 12
.Cd opms0 at vt? irq 12
.Sh DESCRIPTION
This driver provides a interface to a PS/2 auxiliary port mouse which
is backwards-compatible to previous
.Nx / i386
versions without
.Xr wscons 4
support.
The
.Dq opms
driver internally converts the PS/2 mouse output into
.Xr busmouse 4
protocol.
.Sh FILES
.Bl -tag -width Pa -compact
.It Pa /dev/pms0
first PS/2 mouse device.
.El
.Sh SEE ALSO
.Xr busmouse 4 ,
.Xr lms 4 ,
.Xr mms 4 ,
.Xr pckbc 4 ,
.Xr pms 4 ,
.Xr wsmouse 4
.Sh BUGS
The
.Nm
device probe routine has been known to confuse some keyboard controllers.

View File

@ -1,4 +1,4 @@
# $NetBSD: CARDBUS,v 1.56 2002/04/17 02:22:48 mycroft Exp $
# $NetBSD: CARDBUS,v 1.57 2002/04/18 12:54:12 wiz Exp $
#
# CARDBUS: GENERIC + CardBus support. Additionally, some
# things typically not found on laptops have been commented out.
@ -8,7 +8,7 @@
include "arch/i386/conf/std.i386"
#ident "CARDBUS-$Revision: 1.56 $"
#ident "CARDBUS-$Revision: 1.57 $"
maxusers 32 # estimated number of users
@ -329,9 +329,7 @@ npx0 at isa? port 0xf0 irq 13 # x86 math coprocessor
# wscons
pckbc0 at isa? # pc keyboard controller
pckbd* at pckbc? # PC keyboard
# "opms" should not be enabled together with "pms"
pms* at pckbc? # PS/2 mouse for wsmouse
#opms* at pckbc? # backwards compatible PS/2 mouse
vga0 at isa?
vga* at pci? dev ? function ?
pcdisplay0 at isa? # CGA, MDA, EGA, HGA
@ -896,7 +894,6 @@ midi* at umidi? # USB MIDI
#olms1 at isa? port 0x238 irq 5
#omms0 at isa? port 0x23c irq 5 # Microsoft InPort mouse
#omms1 at isa? port 0x238 irq 5
#opms0 at pc? irq 12 # PS/2 auxiliary port mouse
# Joysticks

View File

@ -1,11 +1,11 @@
# $NetBSD: DELPHI,v 1.15 2002/04/17 02:22:48 mycroft Exp $
# $NetBSD: DELPHI,v 1.16 2002/04/18 12:54:12 wiz Exp $
#
# DELPHI -- one of thorpej@zembu.com's devel machines
#
include "arch/i386/conf/std.i386"
ident "DELPHI-$Revision: 1.15 $"
ident "DELPHI-$Revision: 1.16 $"
maxusers 64 # estimated number of users
@ -275,9 +275,7 @@ npx0 at isa? port 0xf0 irq 13 # x86 math coprocessor
# wscons
pckbc0 at isa? # pc keyboard controller
pckbd* at pckbc? # PC keyboard
# "opms" should not be enabled together with "pms"
pms* at pckbc? # PS/2 mouse for wsmouse
#opms* at pckbc? # backwards compatible PS/2 mouse
#vga0 at isa?
vga* at pci? dev ? function ?
pcdisplay0 at isa? # CGA, MDA, EGA, HGA
@ -729,8 +727,6 @@ spkr0 at pcppi? # PC speaker
#olms1 at isa? port 0x238 irq 5
#omms0 at isa? port 0x23c irq 5 # Microsoft InPort mouse
#omms1 at isa? port 0x238 irq 5
#opms0 at pc? irq 12 # PS/2 auxiliary port mouse
#opms0 at vt? irq 12 # PS/2 auxiliary port mouse
# Joysticks

View File

@ -1,4 +1,4 @@
# $NetBSD: DISKLESS,v 1.83 2002/04/17 02:22:48 mycroft Exp $
# $NetBSD: DISKLESS,v 1.84 2002/04/18 12:54:12 wiz Exp $
#
# DISKLESS -- Generic machine setup for diskless boot.
# This kernel can be loaded from a bootable floppy (i.e. kernel-copy)
@ -152,7 +152,6 @@ olms0 at isa? port 0x23c irq 5 # Logitech bus mouse
olms1 at isa? port 0x238 irq 5
omms0 at isa? port 0x23c irq 5 # Microsoft InPort mouse
omms1 at isa? port 0x238 irq 5
#opms0 at pc? irq 12 # PS/2 auxiliary port mouse
#aha0 at isa? port 0x330 irq ? drq ? # Adaptec 154[02] SCSI controllers
#aha1 at isa? port 0x334 irq ? drq ? # Adaptec 154[02] SCSI controllers

View File

@ -1,4 +1,4 @@
# $NetBSD: DR-EVIL,v 1.42 2002/04/17 02:22:49 mycroft Exp $
# $NetBSD: DR-EVIL,v 1.43 2002/04/18 12:54:13 wiz Exp $
#
# DR-EVIL -- Dell Inspiron 3800 laptop used by thorpej@netbsd.org
#
@ -309,9 +309,7 @@ pcmcia* at cardslot?
# wscons
pckbc* at isa? # pc keyboard controller
pckbd* at pckbc? # PC keyboard
# "opms" should not be enabled together with "pms"
pms* at pckbc? # PS/2 mouse for wsmouse
#opms* at pckbc? # backwards compatible PS/2 mouse
#vga0 at isa?
vga* at pci?
#pcdisplay0 at isa? # CGA, MDA, EGA, HGA
@ -784,7 +782,6 @@ bktr* at pci? dev ? function ?
#olms1 at isa? port 0x238 irq 5
#omms0 at isa? port 0x23c irq 5 # Microsoft InPort mouse
#omms1 at isa? port 0x238 irq 5
#opms0 at pc? irq 12 # PS/2 auxiliary port mouse
# Joysticks

View File

@ -1,4 +1,4 @@
# $NetBSD: GENERIC,v 1.485 2002/04/18 12:06:11 bouyer Exp $
# $NetBSD: GENERIC,v 1.486 2002/04/18 12:54:13 wiz Exp $
#
# GENERIC machine description file
#
@ -20,7 +20,7 @@
include "arch/i386/conf/std.i386"
#ident "GENERIC-$Revision: 1.485 $"
#ident "GENERIC-$Revision: 1.486 $"
maxusers 32 # estimated number of users
@ -338,10 +338,8 @@ npx0 at isa? port 0xf0 irq 13 # x86 math coprocessor
# wscons
pckbc0 at isa? # pc keyboard controller
pckbd* at pckbc? # PC keyboard
# "opms" should not be enabled together with "pms"
pms* at pckbc? # PS/2 mouse for wsmouse
#options PMS_DISABLE_POWERHOOK
#opms* at pckbc? # backwards compatible PS/2 mouse
vga0 at isa?
vga* at pci? dev ? function ?
pcdisplay0 at isa? # CGA, MDA, EGA, HGA
@ -989,7 +987,6 @@ wsmouse* at mms? mux 0
#olms1 at isa? port 0x238 irq 5
#omms0 at isa? port 0x23c irq 5 # Microsoft InPort mouse
#omms1 at isa? port 0x238 irq 5
#opms0 at pc? irq 12 # PS/2 auxiliary port mouse
# Joysticks

View File

@ -1,4 +1,4 @@
# $NetBSD: GENERIC_LAPTOP,v 1.48 2002/04/17 11:52:47 mycroft Exp $
# $NetBSD: GENERIC_LAPTOP,v 1.49 2002/04/18 12:54:13 wiz Exp $
# From: NetBSD: GENERIC,v 1.414 2001/07/30 19:59:05 ad Exp
#
# GENERIC_LAPTOP -- GENERIC with cardbus and some USB devices enabled
@ -6,7 +6,7 @@
include "arch/i386/conf/std.i386"
#ident "GENERIC-$Revision: 1.48 $"
#ident "GENERIC-$Revision: 1.49 $"
maxusers 32 # estimated number of users
@ -311,9 +311,7 @@ npx0 at isa? port 0xf0 irq 13 # x86 math coprocessor
# wscons
pckbc0 at isa? # pc keyboard controller
pckbd* at pckbc? # PC keyboard
# "opms" should not be enabled together with "pms"
pms* at pckbc? # PS/2 mouse for wsmouse
#opms* at pckbc? # backwards compatible PS/2 mouse
vga0 at isa?
vga* at pci? dev ? function ?
pcdisplay0 at isa? # CGA, MDA, EGA, HGA
@ -730,7 +728,6 @@ wsmouse* at mms? mux 0
#olms1 at isa? port 0x238 irq 5
#omms0 at isa? port 0x23c irq 5 # Microsoft InPort mouse
#omms1 at isa? port 0x238 irq 5
#opms0 at pc? irq 12 # PS/2 auxiliary port mouse
# Joysticks

View File

@ -1,4 +1,4 @@
# $NetBSD: GENERIC_TINY,v 1.38 2002/04/18 12:06:12 bouyer Exp $
# $NetBSD: GENERIC_TINY,v 1.39 2002/04/18 12:54:13 wiz Exp $
#
# GENERIC_TINY -- suitable default for 4M machines
# No EISA, PCI, or SCSI.
@ -224,9 +224,7 @@ npx0 at isa? port 0xf0 irq 13 # x86 math coprocessor
# wscons
pckbc0 at isa? # pc keyboard controller
pckbd* at pckbc? # PC keyboard
# "opms" should not be enabled together with "pms"
#pms* at pckbc? # PS/2 mouse for wsmouse
#opms* at pckbc? # backwards compatible PS/2 mouse
vga0 at isa?
#vga* at pci? dev ? function ?
pcdisplay0 at isa? # CGA, MDA, EGA, HGA
@ -521,7 +519,6 @@ we1 at isa? port 0x300 iomem 0xcc000 irq 10
#olms1 at isa? port 0x238 irq 5
#omms0 at isa? port 0x23c irq 5 # Microsoft InPort mouse
#omms1 at isa? port 0x238 irq 5
#opms0 at pc? irq 12 # PS/2 auxiliary port mouse
# Joysticks

View File

@ -1,4 +1,4 @@
# $NetBSD: HOMEWORLD,v 1.65 2002/04/17 02:22:50 mycroft Exp $
# $NetBSD: HOMEWORLD,v 1.66 2002/04/18 12:54:13 wiz Exp $
# From: GENERIC,v 1.212 1999/01/06 23:30:53 thorpej Exp
#
# HOMEWORLD - TNF mail/gnats
@ -234,9 +234,7 @@ npx0 at isa? port 0xf0 irq 13 # x86 math coprocessor
# wscons
pckbc0 at isa? # pc keyboard controller
pckbd* at pckbc? # PC keyboard
# "opms" should not be enabled together with "pms"
#pms* at pckbc? # PS/2 mouse for wsmouse
#opms* at pckbc? # backwards compatible PS/2 mouse
#vga0 at isa?
vga* at pci?
#pcdisplay0 at isa? # CGA, MDA, EGA, HGA
@ -583,7 +581,6 @@ inphy* at mii? phy ? # Intel 82555 PHYs
#olms1 at isa? port 0x238 irq 5
#omms0 at isa? port 0x23c irq 5 # Microsoft InPort mouse
#omms1 at isa? port 0x238 irq 5
#opms0 at pc? irq 12 # PS/2 auxiliary port mouse
# Joysticks

View File

@ -1,4 +1,4 @@
# $NetBSD: INSTALL,v 1.192 2002/04/17 02:22:50 mycroft Exp $
# $NetBSD: INSTALL,v 1.193 2002/04/18 12:54:14 wiz Exp $
#
# INSTALL - Installation kernel.
#
@ -230,9 +230,7 @@ pc0 at isa? port 0x60 irq 1 # pccons generic PC console driver
# wscons
#pckbc0 at isa? # pc keyboard controller
#pckbd* at pckbc? # PC keyboard
# "opms" should not be enabled together with "pms"
#pms* at pckbc? # PS/2 mouse for wsmouse
#opms* at pckbc? # backwards compatible PS/2 mouse
#vga0 at isa?
#vga* at pci?
#pcdisplay0 at isa? # CGA, MDA, EGA, HGA
@ -664,7 +662,6 @@ url* at uhub? port ? # Realtek RTL8150L based adapters
#olms1 at isa? port 0x238 irq 5
#omms0 at isa? port 0x23c irq 5 # Microsoft InPort mouse
#omms1 at isa? port 0x238 irq 5
#opms0 at pc? irq 12 # PS/2 auxiliary port mouse
# Joysticks

View File

@ -1,4 +1,4 @@
# $NetBSD: INSTALL_LAPTOP,v 1.27 2002/04/14 01:42:53 mycroft Exp $
# $NetBSD: INSTALL_LAPTOP,v 1.28 2002/04/18 12:54:14 wiz Exp $
#
# INSTALL - Installation kernel.
#
@ -238,9 +238,7 @@ pc0 at isa? port 0x60 irq 1 # pccons generic PC console driver
# wscons
#pckbc0 at isa? # pc keyboard controller
#pckbd* at pckbc? # PC keyboard
# "opms" should not be enabled together with "pms"
#pms* at pckbc? # PS/2 mouse for wsmouse
#opms* at pckbc? # backwards compatible PS/2 mouse
#vga0 at isa?
#vga* at pci?
#pcdisplay0 at isa? # CGA, MDA, EGA, HGA

View File

@ -1,4 +1,4 @@
# $NetBSD: INSTALL_SMALL,v 1.81 2002/04/17 02:22:51 mycroft Exp $
# $NetBSD: INSTALL_SMALL,v 1.82 2002/04/18 12:54:14 wiz Exp $
#
# INSTALL_SMALL - Small Installation kernel.
#
@ -465,7 +465,6 @@ we1 at isa? port 0x300 iomem 0xcc000 irq 10
#olms1 at isa? port 0x238 irq 5
#omms0 at isa? port 0x23c irq 5 # Microsoft InPort mouse
#omms1 at isa? port 0x238 irq 5
#opms0 at pc? irq 12 # PS/2 auxiliary port mouse
# Joysticks

View File

@ -1,4 +1,4 @@
# $NetBSD: INSTALL_TINY,v 1.49 2002/04/17 02:22:51 mycroft Exp $
# $NetBSD: INSTALL_TINY,v 1.50 2002/04/18 12:54:14 wiz Exp $
#
# INSTALL_TINY - Tiny Installation kernel, suitable for 4M machines.
#
@ -470,7 +470,6 @@ we1 at isa? port 0x300 iomem 0xcc000 irq 10
#olms1 at isa? port 0x238 irq 5
#omms0 at isa? port 0x23c irq 5 # Microsoft InPort mouse
#omms1 at isa? port 0x238 irq 5
#opms0 at pc? irq 12 # PS/2 auxiliary port mouse
# Joysticks

View File

@ -1,4 +1,4 @@
# $NetBSD: IOPENER,v 1.26 2002/04/14 01:42:53 mycroft Exp $
# $NetBSD: IOPENER,v 1.27 2002/04/18 12:54:14 wiz Exp $
#
# IOPENER -- GENERIC-like kernel for the Netpliance i-opener
# from: GENERIC,v 1.358 2000/07/05 04:07:25 sommerfeld Exp
@ -6,7 +6,7 @@
include "arch/i386/conf/std.i386"
#ident "IOPENER-$Revision: 1.26 $"
#ident "IOPENER-$Revision: 1.27 $"
maxusers 32 # estimated number of users
@ -225,9 +225,7 @@ npx0 at isa? port 0xf0 irq 13 # x86 math coprocessor
# wscons
pckbc0 at isa? # pc keyboard controller
pckbd* at pckbc? # PC keyboard
# "opms" should not be enabled together with "pms"
pms* at pckbc? # PS/2 mouse for wsmouse
#opms* at pckbc? # backwards compatible PS/2 mouse
vga* at pci? dev ? function ?
wsdisplay* at vga? console ?
wskbd* at pckbd? console ?

View File

@ -1,11 +1,11 @@
# $NetBSD: LAMB,v 1.20 2002/04/17 23:23:49 hubertf Exp $
# $NetBSD: LAMB,v 1.21 2002/04/18 12:54:14 wiz Exp $
#
# LAMB - a complete kernel for wildlab LAMB, http://www.wildlab.com/
#
include "arch/i386/conf/std.i386"
#ident "GENERIC-$Revision: 1.20 $"
#ident "GENERIC-$Revision: 1.21 $"
maxusers 32 # estimated number of users
@ -264,9 +264,7 @@ npx0 at isa? port 0xf0 irq 13 # x86 math coprocessor
# wscons
pckbc0 at isa? # pc keyboard controller
pckbd* at pckbc? # PC keyboard
# "opms" should not be enabled together with "pms"
pms* at pckbc? # PS/2 mouse for wsmouse
#opms* at pckbc? # backwards compatible PS/2 mouse
vga0 at isa?
pcdisplay0 at isa? # CGA, MDA, EGA, HGA
wsdisplay* at vga? console ?

View File

@ -1,4 +1,4 @@
# $NetBSD: MINBAR,v 1.36 2002/04/17 02:22:52 mycroft Exp $
# $NetBSD: MINBAR,v 1.37 2002/04/18 12:54:14 wiz Exp $
# From: GENERIC,v 1.212 1999/01/06 23:30:53 thorpej Exp
#
# MINBAR -- offshore CVS server
@ -220,9 +220,7 @@ npx0 at isa? port 0xf0 irq 13 # x86 math coprocessor
# wscons
pckbc0 at isa? # pc keyboard controller
pckbd* at pckbc? # PC keyboard
# "opms" should not be enabled together with "pms"
#pms* at pckbc? # PS/2 mouse for wsmouse
#opms* at pckbc? # backwards compatible PS/2 mouse
#vga0 at isa?
vga* at pci?
#pcdisplay0 at isa? # CGA, MDA, EGA, HGA
@ -569,7 +567,6 @@ inphy* at mii? phy ? # Intel 82555 PHYs
#olms1 at isa? port 0x238 irq 5
#omms0 at isa? port 0x23c irq 5 # Microsoft InPort mouse
#omms1 at isa? port 0x238 irq 5
#opms0 at pc? irq 12 # PS/2 auxiliary port mouse
# Joysticks

View File

@ -1,4 +1,4 @@
# $NetBSD: NBFTP,v 1.39 2002/04/17 02:22:52 mycroft Exp $
# $NetBSD: NBFTP,v 1.40 2002/04/18 12:54:14 wiz Exp $
# From: GENERIC,v 1.212 1999/01/06 23:30:53 thorpej Exp
#
# NBFTP -- ftp/sup.netbsd.org server machine
@ -234,9 +234,7 @@ npx0 at isa? port 0xf0 irq 13 # x86 math coprocessor
# wscons
pckbc0 at isa? # pc keyboard controller
pckbd* at pckbc? # PC keyboard
# "opms" should not be enabled together with "pms"
#pms* at pckbc? # PS/2 mouse for wsmouse
#opms* at pckbc? # backwards compatible PS/2 mouse
#vga0 at isa?
vga* at pci?
#pcdisplay0 at isa? # CGA, MDA, EGA, HGA
@ -583,7 +581,6 @@ ukphy* at mii? phy ? # generic unknown PHYs
#olms1 at isa? port 0x238 irq 5
#omms0 at isa? port 0x23c irq 5 # Microsoft InPort mouse
#omms1 at isa? port 0x238 irq 5
#opms0 at pc? irq 12 # PS/2 auxiliary port mouse
# Joysticks

View File

@ -1,4 +1,4 @@
# $NetBSD: SWINGER,v 1.30 2002/04/17 02:22:52 mycroft Exp $
# $NetBSD: SWINGER,v 1.31 2002/04/18 12:54:15 wiz Exp $
# from NetBSD: GENERIC,v 1.325 2000/04/14 14:53:32 augustss Exp
#
# SWINGER -- thorpej's Abit BP6+dual Celeron
@ -6,7 +6,7 @@
include "arch/i386/conf/std.i386"
#ident "SWINGER-$Revision: 1.30 $"
#ident "SWINGER-$Revision: 1.31 $"
maxusers 64 # estimated number of users
@ -270,9 +270,7 @@ npx0 at isa? port 0xf0 irq 13 # x86 math coprocessor
# wscons
pckbc0 at isa? # pc keyboard controller
pckbd* at pckbc? # PC keyboard
# "opms" should not be enabled together with "pms"
pms* at pckbc? # PS/2 mouse for wsmouse
#opms* at pckbc? # backwards compatible PS/2 mouse
#vga0 at isa?
vga* at pci? dev ? function ?
#pcdisplay0 at isa? # CGA, MDA, EGA, HGA
@ -755,7 +753,6 @@ bktr* at pci? dev ? function ?
#olms1 at isa? port 0x238 irq 5
#omms0 at isa? port 0x23c irq 5 # Microsoft InPort mouse
#omms1 at isa? port 0x238 irq 5
#opms0 at pc? irq 12 # PS/2 auxiliary port mouse
# Joysticks

View File

@ -1,4 +1,4 @@
# $NetBSD: files.i386,v 1.205 2002/04/16 20:50:20 thorpej Exp $
# $NetBSD: files.i386,v 1.206 2002/04/18 12:54:12 wiz Exp $
#
# new style config file for i386 architecture
#
@ -248,10 +248,6 @@ file arch/i386/isa/omms.c omms needs-flag
device mms: wsmousedev
attach mms at isa
file arch/i386/isa/mms.c mms
device opms
attach opms at pckbcport with opms_hack
attach opms at pckbc with opms_pckbc
file arch/i386/isa/pms.c opms | opms_hack | opms_pckbc needs-flag
include "dev/wscons/files.wscons"
include "dev/wsfont/files.wsfont"

View File

@ -1,4 +1,4 @@
/* $NetBSD: conf.c,v 1.154 2002/03/16 16:55:56 martin Exp $ */
/* $NetBSD: conf.c,v 1.155 2002/04/18 12:54:15 wiz Exp $ */
/*-
* Copyright (c) 1998 The NetBSD Foundation, Inc.
@ -37,7 +37,7 @@
*/
#include <sys/cdefs.h>
__KERNEL_RCSID(0, "$NetBSD: conf.c,v 1.154 2002/03/16 16:55:56 martin Exp $");
__KERNEL_RCSID(0, "$NetBSD: conf.c,v 1.155 2002/04/18 12:54:15 wiz Exp $");
#include "opt_compat_svr4.h"
@ -153,8 +153,6 @@ cdev_decl(spkr);
cdev_decl(mms);
#include "olms.h"
cdev_decl(lms);
#include "opms.h"
cdev_decl(pms);
#include "cy.h"
cdev_decl(cy);
#include "cz.h"
@ -300,7 +298,7 @@ struct cdevsw cdevsw[] =
cdev_lkm_dummy(), /* 34 */
cdev_mouse_init(NOMMS,mms), /* 35: Microsoft mouse */
cdev_mouse_init(NOLMS,lms), /* 36: Logitech mouse */
cdev_mouse_init(NOPMS,pms), /* 37: PS/2 mouse */
cdev_notdef(), /* 37: was: opms (PS/2 mouse) */
cdev_tty_init(NCY,cy), /* 38: Cyclom serial port */
cdev_disk_init(NMCD,mcd), /* 39: Mitsumi CD-ROM */
cdev_bpftun_init(NTUN,tun), /* 40: network tunnel */

View File

@ -1,4 +1,4 @@
/* $NetBSD: conf.h,v 1.9 2002/02/28 03:17:28 simonb Exp $ */
/* $NetBSD: conf.h,v 1.10 2002/04/18 12:54:15 wiz Exp $ */
/*-
* Copyright (c) 1996 The NetBSD Foundation, Inc.
@ -49,6 +49,4 @@ cdev_decl(mms);
cdev_decl(lms);
cdev_decl(pms);
cdev_decl(joy);

View File

@ -1,691 +0,0 @@
/* $NetBSD: pms.c,v 1.49 2001/11/15 07:03:33 lukem Exp $ */
/*-
* Copyright (c) 1994, 1997 Charles M. Hannum.
* Copyright (c) 1992, 1993 Erik Forsberg.
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
* 1. Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
*
* THIS SOFTWARE IS PROVIDED BY ``AS IS'' AND ANY EXPRESS OR IMPLIED
* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
* MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN
* NO EVENT SHALL I BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
* EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
* PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
* PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
* LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
* NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
/*
* XXXX
* This is a hack. This driver should really be combined with the
* keyboard driver, since they go through the same buffer and use the
* same I/O ports. Frobbing the mouse and keyboard at the same time
* may result in dropped characters and/or corrupted mouse events.
*/
#include <sys/cdefs.h>
__KERNEL_RCSID(0, "$NetBSD: pms.c,v 1.49 2001/11/15 07:03:33 lukem Exp $");
#include "opms.h"
#if (NOPMS_HACK + NOPMS_PCKBC) > 1
#error Only one PS/2 style mouse may be configured into your system.
#endif
#include <sys/param.h>
#include <sys/kernel.h>
#include <sys/systm.h>
#include <sys/buf.h>
#include <sys/malloc.h>
#include <sys/ioctl.h>
#include <sys/tty.h>
#include <sys/file.h>
#include <sys/select.h>
#include <sys/proc.h>
#include <sys/vnode.h>
#include <sys/device.h>
#include <sys/poll.h>
#if (NOPMS_HACK > 0)
#include <machine/cpu.h>
#include <machine/intr.h>
#include <machine/pio.h>
#endif
#if (NOPMS_PCKBC > 0)
#include <machine/bus.h>
#include <dev/ic/pckbcvar.h>
#endif
#include <machine/mouse.h>
#include <machine/conf.h>
#if (NOPMS_HACK > 0)
#include <dev/isa/isavar.h>
#define PMS_DATA 0x60 /* offset for data port, read-write */
#define PMS_CNTRL 0x64 /* offset for control port, write-only */
#define PMS_STATUS 0x64 /* offset for status port, read-only */
#define PMS_NPORTS 8
/* status bits */
#define PMS_OBUF_FULL 0x01
#define PMS_IBUF_FULL 0x02
/* controller commands */
#define PMS_INT_ENABLE 0x47 /* enable controller interrupts */
#define PMS_INT_DISABLE 0x45 /* disable controller interrupts */
#define PMS_AUX_ENABLE 0xa8 /* enable auxiliary port */
#define PMS_AUX_DISABLE 0xa7 /* disable auxiliary port */
#define PMS_AUX_TEST 0xa9 /* test auxiliary port */
#endif /* NOPMS_HACK > 0 */
/* mouse commands */
#define PMS_SET_SCALE11 0xe6 /* set scaling 1:1 */
#define PMS_SET_SCALE21 0xe7 /* set scaling 2:1 */
#define PMS_SET_RES 0xe8 /* set resolution */
#define PMS_GET_SCALE 0xe9 /* get scaling factor */
#define PMS_SET_STREAM 0xea /* set streaming mode */
#define PMS_SET_SAMPLE 0xf3 /* set sampling rate */
#define PMS_DEV_ENABLE 0xf4 /* mouse on */
#define PMS_DEV_DISABLE 0xf5 /* mouse off */
#define PMS_RESET 0xff /* reset */
#define PMS_CHUNK 128 /* chunk size for read */
#define PMS_BSIZE 1020 /* buffer size */
struct opms_softc { /* driver status information */
struct device sc_dev;
#if (NOPMS_HACK > 0)
void *sc_ih;
#endif
#if (NOPMS_PCKBC > 0)
pckbc_tag_t sc_kbctag;
pckbc_slot_t sc_kbcslot;
#endif
struct clist sc_q;
struct selinfo sc_rsel;
u_char sc_state; /* mouse driver state */
#define PMS_OPEN 0x01 /* device is open */
#define PMS_ASLP 0x02 /* waiting for mouse data */
u_char sc_status; /* mouse button status */
int sc_x, sc_y; /* accumulated motion in the X,Y axis */
};
#if (NOPMS_HACK > 0)
int opms_hack_probe __P((struct device *, struct cfdata *, void *));
void opms_hack_attach __P((struct device *, struct device *, void *));
int opmsintr __P((void *));
struct cfattach opms_hack_ca = {
sizeof(struct opms_softc), opms_hack_probe, opms_hack_attach,
};
#endif
#if (NOPMS_PCKBC > 0)
int opms_pckbc_probe __P((struct device *, struct cfdata *, void *));
void opms_pckbc_attach __P((struct device *, struct device *, void *));
struct cfattach opms_pckbc_ca = {
sizeof(struct opms_softc), opms_pckbc_probe, opms_pckbc_attach,
};
#endif
void opmsinput __P((void *, int));
extern struct cfdriver opms_cd;
#define PMSUNIT(dev) (minor(dev))
#if (NOPMS_HACK > 0)
static __inline int pms_wait_output __P((void));
static __inline int pms_wait_input __P((void));
static __inline void pms_flush_input __P((void));
static __inline void pms_dev_cmd __P((u_char));
static __inline void pms_pit_cmd __P((u_char));
static __inline void pms_aux_cmd __P((u_char));
#define PMS_DELAY \
{ u_char x = inb(0x84); (void) x; } \
{ u_char x = inb(0x84); (void) x; } \
{ u_char x = inb(0x84); (void) x; } \
{ u_char x = inb(0x84); (void) x; } \
{ u_char x = inb(0x84); (void) x; } \
{ u_char x = inb(0x84); (void) x; }
static __inline int
pms_wait_output()
{
u_int i;
for (i = 100000; i; i--)
if ((inb(PMS_STATUS) & PMS_IBUF_FULL) == 0) {
PMS_DELAY;
return (1);
}
return (0);
}
static __inline int
pms_wait_input()
{
u_int i;
for (i = 100000; i; i--)
if ((inb(PMS_STATUS) & PMS_OBUF_FULL) != 0) {
PMS_DELAY;
return (1);
}
return (0);
}
static __inline void
pms_flush_input()
{
u_int i;
pms_wait_output();
delay(10000);
for (i = 10; i; i--) {
if ((inb(PMS_STATUS) & PMS_OBUF_FULL) == 0)
return;
PMS_DELAY;
(void) inb(PMS_DATA);
}
}
static __inline void
pms_dev_cmd(value)
u_char value;
{
int s;
s = spltty();
pms_wait_output();
outb(PMS_CNTRL, 0xd4);
pms_wait_output();
outb(PMS_DATA, value);
splx(s);
}
static __inline void
pms_aux_cmd(value)
u_char value;
{
int s;
s = spltty();
pms_wait_output();
outb(PMS_CNTRL, value);
splx(s);
}
static __inline void
pms_pit_cmd(value)
u_char value;
{
int s;
s = spltty();
pms_wait_output();
outb(PMS_CNTRL, 0x60);
pms_wait_output();
outb(PMS_DATA, value);
splx(s);
}
/*
* XXX needs more work yet. We should have a `pckbd_attach_args' that
* provides the parent's io port and our irq.
*/
int
opms_hack_probe(parent, cf, aux)
struct device *parent;
struct cfdata *cf;
void *aux;
{
u_char x;
/*
* We only attach to the keyboard controller via
* the console drivers. (We really wish we could be the
* child of a real keyboard controller driver.)
*/
if ((parent == NULL) ||
((strcmp(parent->dv_cfdata->cf_driver->cd_name, "pc") != 0) &&
(strcmp(parent->dv_cfdata->cf_driver->cd_name, "vt") != 0)))
return (0);
/* Can't wildcard IRQ. */
if (cf->cf_loc[PCKBCPORTCF_IRQ] == PCKBCPORTCF_IRQ_DEFAULT)
return (0);
pms_flush_input();
#if 0
pms_dev_cmd(PMS_RESET);
if (!pms_wait_input())
return 0;
x = inb(PMS_DATA);
#endif
pms_aux_cmd(PMS_AUX_TEST);
if (!pms_wait_input())
return 0;
x = inb(PMS_DATA);
pms_pit_cmd(PMS_INT_DISABLE);
if (x & 0x04)
return 0;
return 1;
}
void
opms_hack_attach(parent, self, aux)
struct device *parent, *self;
void *aux;
{
struct opms_softc *sc = (void *)self;
int irq = self->dv_cfdata->cf_loc[PCKBCPORTCF_IRQ];
isa_chipset_tag_t ic = aux; /* XXX */
printf(" irq %d\n", irq);
/* Other initialization was done by pmsprobe. */
sc->sc_state = 0;
sc->sc_ih = isa_intr_establish(ic, irq, IST_EDGE, IPL_TTY,
opmsintr, sc);
}
#endif /* NOPMS_HACK > 0 */
#if (NOPMS_PCKBC > 0)
int
opms_pckbc_probe(parent, match, aux)
struct device *parent;
struct cfdata *match;
void *aux;
{
struct pckbc_attach_args *pa = aux;
u_char cmd[1], resp[2];
int res;
if (pa->pa_slot != PCKBC_AUX_SLOT)
return (0);
/* Flush any garbage. */
pckbc_flush(pa->pa_tag, pa->pa_slot);
/* reset the device */
cmd[0] = PMS_RESET;
res = pckbc_poll_cmd(pa->pa_tag, pa->pa_slot, cmd, 1, 2, resp, 1);
if (res) {
#ifdef DEBUG
printf("opmsprobe: reset error\n");
#endif
return (0);
}
if (resp[0] != 0xaa) {
printf("opmsprobe: reset response 0x%x\n", resp[0]);
return (0);
}
/* get type number (0 = mouse) */
if (resp[1] != 0) {
#ifdef DEBUG
printf("opmsprobe: type 0x%x\n", resp[1]);
#endif
return (0);
}
return (1);
}
void
opms_pckbc_attach(parent, self, aux)
struct device *parent, *self;
void *aux;
{
struct opms_softc *sc = (void *)self;
struct pckbc_attach_args *pa = aux;
u_char cmd[1];
int res;
sc->sc_kbctag = pa->pa_tag;
sc->sc_kbcslot = pa->pa_slot;
printf("\n");
/* Other initialization was done by pmsprobe. */
sc->sc_state = 0;
pckbc_set_inputhandler(sc->sc_kbctag, sc->sc_kbcslot,
opmsinput, sc, sc->sc_dev.dv_xname);
/* no interrupts until enabled */
cmd[0] = PMS_DEV_DISABLE;
res = pckbc_poll_cmd(pa->pa_tag, pa->pa_slot, cmd, 1, 0, 0, 0);
if (res)
printf("opmsattach: disable error\n");
pckbc_slot_enable(sc->sc_kbctag, sc->sc_kbcslot, 0);
}
#endif
int
pmsopen(dev, flag, mode, p)
dev_t dev;
int flag;
int mode;
struct proc *p;
{
int unit = PMSUNIT(dev);
struct opms_softc *sc;
#if (NOPMS_PCKBC > 0)
u_char cmd[1];
int res;
#endif
if (unit >= opms_cd.cd_ndevs)
return ENXIO;
sc = opms_cd.cd_devs[unit];
if (!sc)
return ENXIO;
if (sc->sc_state & PMS_OPEN)
return EBUSY;
if (clalloc(&sc->sc_q, PMS_BSIZE, 0) == -1)
return ENOMEM;
sc->sc_state |= PMS_OPEN;
sc->sc_status = 0;
sc->sc_x = sc->sc_y = 0;
/* Enable interrupts. */
#if (NOPMS_HACK > 0)
pms_aux_cmd(PMS_AUX_ENABLE);
pms_pit_cmd(PMS_INT_ENABLE);
pms_dev_cmd(PMS_DEV_ENABLE);
if (pms_wait_input())
pms_flush_input();
#endif
#if (NOPMS_PCKBC > 0)
pckbc_slot_enable(sc->sc_kbctag, sc->sc_kbcslot, 1);
cmd[0] = PMS_DEV_ENABLE;
res = pckbc_enqueue_cmd(sc->sc_kbctag, sc->sc_kbcslot,
cmd, 1, 0, 1, 0);
if (res) {
printf("opms_enable: command error\n");
return (res);
}
#endif
#if 0
pms_dev_cmd(PMS_SET_RES);
pms_dev_cmd(3); /* 8 counts/mm */
pms_dev_cmd(PMS_SET_SCALE21);
pms_dev_cmd(PMS_SET_SAMPLE);
pms_dev_cmd(100); /* 100 samples/sec */
pms_dev_cmd(PMS_SET_STREAM);
#endif
return 0;
}
int
pmsclose(dev, flag, mode, p)
dev_t dev;
int flag;
int mode;
struct proc *p;
{
struct opms_softc *sc = opms_cd.cd_devs[PMSUNIT(dev)];
#if (NOPMS_PCKBC > 0)
u_char cmd[1];
int res;
#endif
/* Disable interrupts. */
#if (NOPMS_HACK > 0)
pms_dev_cmd(PMS_DEV_DISABLE);
if (pms_wait_input())
pms_flush_input();
pms_pit_cmd(PMS_INT_DISABLE);
pms_aux_cmd(PMS_AUX_DISABLE);
#endif
#if (NOPMS_PCKBC > 0)
cmd[0] = PMS_DEV_DISABLE;
res = pckbc_enqueue_cmd(sc->sc_kbctag, sc->sc_kbcslot,
cmd, 1, 0, 1, 0);
if (res)
printf("opms_disable: command error\n");
pckbc_slot_enable(sc->sc_kbctag, sc->sc_kbcslot, 0);
#endif
sc->sc_state &= ~PMS_OPEN;
clfree(&sc->sc_q);
return 0;
}
int
pmsread(dev, uio, flag)
dev_t dev;
struct uio *uio;
int flag;
{
struct opms_softc *sc = opms_cd.cd_devs[PMSUNIT(dev)];
int s;
int error = 0;
size_t length;
u_char buffer[PMS_CHUNK];
/* Block until mouse activity occurred. */
s = spltty();
while (sc->sc_q.c_cc == 0) {
if (flag & IO_NDELAY) {
splx(s);
return EWOULDBLOCK;
}
sc->sc_state |= PMS_ASLP;
error = tsleep((caddr_t)sc, PZERO | PCATCH, "pmsrea", 0);
if (error) {
sc->sc_state &= ~PMS_ASLP;
splx(s);
return error;
}
}
splx(s);
/* Transfer as many chunks as possible. */
while (sc->sc_q.c_cc > 0 && uio->uio_resid > 0) {
length = min(sc->sc_q.c_cc, uio->uio_resid);
if (length > sizeof(buffer))
length = sizeof(buffer);
/* Remove a small chunk from the input queue. */
(void) q_to_b(&sc->sc_q, buffer, length);
/* Copy the data to the user process. */
if ((error = uiomove(buffer, length, uio)) != 0)
break;
}
return error;
}
int
pmsioctl(dev, cmd, addr, flag, p)
dev_t dev;
u_long cmd;
caddr_t addr;
int flag;
struct proc *p;
{
struct opms_softc *sc = opms_cd.cd_devs[PMSUNIT(dev)];
struct mouseinfo info;
int s;
int error;
switch (cmd) {
case MOUSEIOCREAD:
s = spltty();
info.status = sc->sc_status;
if (sc->sc_x || sc->sc_y)
info.status |= MOVEMENT;
if (sc->sc_x > 127)
info.xmotion = 127;
else if (sc->sc_x < -127)
/* Bounding at -127 avoids a bug in XFree86. */
info.xmotion = -127;
else
info.xmotion = sc->sc_x;
if (sc->sc_y > 127)
info.ymotion = 127;
else if (sc->sc_y < -127)
info.ymotion = -127;
else
info.ymotion = sc->sc_y;
/* Reset historical information. */
sc->sc_x = sc->sc_y = 0;
sc->sc_status &= ~BUTCHNGMASK;
ndflush(&sc->sc_q, sc->sc_q.c_cc);
splx(s);
error = copyout(&info, addr, sizeof(struct mouseinfo));
break;
default:
error = EINVAL;
break;
}
return error;
}
/* Masks for the first byte of a packet */
#define PS2LBUTMASK 0x01
#define PS2RBUTMASK 0x02
#define PS2MBUTMASK 0x04
void
opmsinput(arg, data)
void *arg;
int data;
{
struct opms_softc *sc = arg;
static int state = 0;
static u_char buttons;
u_char changed;
static char dx, dy;
u_char buffer[5];
if ((sc->sc_state & PMS_OPEN) == 0) {
/* Interrupts are not expected. Discard the byte. */
return;
}
switch (state) {
case 0:
buttons = data;
if ((buttons & 0xc0) == 0)
++state;
break;
case 1:
dx = data;
/* Bounding at -127 avoids a bug in XFree86. */
dx = (dx == -128) ? -127 : dx;
++state;
break;
case 2:
dy = data;
dy = (dy == -128) ? -127 : dy;
state = 0;
buttons = ((buttons & PS2LBUTMASK) << 2) |
((buttons & (PS2RBUTMASK | PS2MBUTMASK)) >> 1);
changed = ((buttons ^ sc->sc_status) & BUTSTATMASK) << 3;
sc->sc_status = buttons | (sc->sc_status & ~BUTSTATMASK) | changed;
if (dx || dy || changed) {
/* Update accumulated movements. */
sc->sc_x += dx;
sc->sc_y += dy;
/* Add this event to the queue. */
buffer[0] = 0x80 | (buttons ^ BUTSTATMASK);
buffer[1] = dx;
buffer[2] = dy;
buffer[3] = buffer[4] = 0;
(void) b_to_q(buffer, sizeof buffer, &sc->sc_q);
if (sc->sc_state & PMS_ASLP) {
sc->sc_state &= ~PMS_ASLP;
wakeup((caddr_t)sc);
}
selwakeup(&sc->sc_rsel);
}
break;
}
}
#if (NOPMS_HACK > 0)
int
opmsintr(arg)
void *arg;
{
struct opms_softc *sc = arg;
int data;
if ((sc->sc_state & PMS_OPEN) == 0) {
/* Interrupts are not expected. Discard the byte. */
pms_flush_input();
return (0);
}
data = inb(PMS_DATA);
opmsinput(arg, data);
return (-1);
}
#endif
int
pmspoll(dev, events, p)
dev_t dev;
int events;
struct proc *p;
{
struct opms_softc *sc = opms_cd.cd_devs[PMSUNIT(dev)];
int revents = 0;
int s = spltty();
if (events & (POLLIN | POLLRDNORM)) {
if (sc->sc_q.c_cc > 0)
revents |= events & (POLLIN | POLLRDNORM);
else
selrecord(p, &sc->sc_rsel);
}
splx(s);
return (revents);
}