2596 Commits

Author SHA1 Message Date
Peter Wemm
522c197d02 The joypart() macro had a precedence bug. Add seatbelts for UNIT() too. 1999-05-06 18:39:32 +00:00
Peter Wemm
dfd5dee1b0 Add sufficient braces to keep egcs happy about potentially ambiguous
if/else nesting.
1999-05-06 18:13:11 +00:00
Bill Paul
e566363ef1 Modify wicontrol(8) and wi(4) to allow setting the frequency of the
WaveLAN's radio modem. The default is whatever the NIC uses since NICs
sold in different countries may default to different frequencies. (The
Lose95/LoseNT software doesn't let you select the channel so it's probably
not really meant to be changed.)
1999-05-06 16:32:45 +00:00
Peter Wemm
97bf178703 I'm not sure why the #ifdef SMP became #if 1 (this overrode the npx probe
and always succeeded as is required on SMP).  Anyway, reverting this
still compiles and appears ok.
1999-05-06 12:47:21 +00:00
Bruce Evans
ea2b3e3d1b Fixed profiling of elf kernels. Made high resolution profiling compile
for elf kernels (it is broken for all kernels due to lack of egcs support).

Renaming of many assembler labels is avoided by declaring by declaring
the labels that need to be visible to gprof as having type "function"
and depending on the elf version of gprof being zealous about discarding
the others.  A few type declarations are still missing, mainly for SMP.

PR:		9413
Submitted by:	Assar Westerlund <assar@sics.se> (initial parts)
1999-05-06 09:44:57 +00:00
Bill Paul
c49713fde1 Fix some byte ordering problems; I was storing string lengths wrong,
which was causing wicontrol to crash when reading string parameters
from the WaveLAN.

Patches submitted by: Brad Karp <karp@eecs.harvard.edu>
1999-05-06 03:34:02 +00:00
Bill Paul
31a08ab08e Add device driver support for the Lucent WaveLAN/IEEE 802.11 PCMCIA
adapter (and some workalikes). Also add man pages and a wicontrol
utility to manipulate some of the card parameters.

This driver was written using information gleaned from the Lucent HCF Light
library, though it does not use any of the HCF Light code itself, mainly
because it's contaminated by the GPL (but also because it's pretty gross).
The HCF Light lacks certain featurs from the full (but proprietary) HCF
library, including 802.11 frame encapsulation support, however it has
just enough register information about the Hermes chip to allow someone
with enough spare time and energy to implement a proper driver. (I would
have prefered getting my hands on the Hermes manual, but that's proprietary
too. For those who are wondering, the Linux driver uses the proprietary
HCF library, but it's provided in object code form only.)

Note that I do not have access to a WavePOINT access point, so I have
only been able to test ad-hoc mode. The wicontrol utility can turn on
BSS mode, but I don't know for certain that the NIC will associate with
an access point correctly. Testers are encouraged to send their results
to me so that I can find out if I screwed up or not.
1999-05-05 07:37:11 +00:00
Bill Paul
113a394c06 Add device driver support for the Lucent WaveLAN/IEEE 802.11 wireless
network adapters. These are all PCMCIA devices (the ISA version is a
PCMCIA to ISA bridge with a PCMCIA card plugged into it). Also add a
wicontrol utility to read and write some of the card's parameters.

Note: I do not have access to a WavePOINT access point, so I have only
been able to test this driver in ad-hoc (point to point) mode. The
wicontrol utility allows programming the desired service set name (SSID)
and enabling BSS mode, but I can't tell for sure if it works (I know the
card switches modes, but I can't verify that it joins a service set
correctly).

This driver was written using information gleaned from the Lucent HCF Light
library, which is an API library designed to simplify driver development
for devices based on the Lucent Hermes chip. Unfortunately, the HCF Light
is missing certain features (like 802.11 frame encapsulation!) which are
available only in the proprietary complete HCF code, which is not available
to the public. This driver uses none of the HCF Light code: it's very ugly
and contaminated by the GPL. IP and ARP packets are encapsulated as 802.11
frames, everything else is encapsulated as 802.3.

(It would be easier to just get the Hermes programming manual, but that's
not publically available either. For those who are wondering, the Linux
WaveLAN/IEEE driver uses the proprietary HCF code, which is provided in
object code form only. So much for supporting open source sofware.)

Multicast filter support is implemented, however it appears that the
filter doesn't work: programming in one IP mutlicast group enables them
all.
1999-05-05 07:11:38 +00:00
Doug Rabson
6887e80a0f Use unit, not device_id as an argument to an old-style ISA interrupt
handler. This fixes pnp interrupts and would have fixed pccard interrupts
but a workaround has been applied there.

This the sound driver problems which people have reported with new-bus.
1999-05-04 21:18:20 +00:00
KATO Takenori
8d0e6b1696 Replace misused FE_D6_BBW with FE_D6_SBW.
Submitted by:	chi@bd.mbn.or.jp (Chiharu Shibata)
Reminded by:	Takahashi Yoshihiro <nyan@dd.catv.ne.jp>
1999-05-04 12:59:59 +00:00
Peter Wemm
87f0e52bec Set ifq_maxlen to default value. (This should be safe, it's not clear
if there's benefit to setting it to the exact amount, it appears the
card has 32K of ram, and 8K is used for outgoing packets, that would
be something like a queue limit of 5 packets.  I don't think that's
useful...)

PR:		11456
Submitted by:	Stephen J. Roznowski <sjr@home.net>
1999-05-02 22:01:24 +00:00
Peter Wemm
0441b961d8 Sigh, serves me right for committing without reading the followups. :-]
The whole thing (mpu_config etc) is dead code.

PR:		11411 (followup)
Pointed out by:	"Daniel C. Sobral" <dcs@newsguy.com>
1999-05-02 21:53:28 +00:00
Peter Wemm
f79cfdd928 Operator precedence bug
PR:		11411
Submitted by:	Christopher Peterson <cpeterso@cs.washington.edu>
1999-05-02 21:51:17 +00:00
Peter Wemm
271694cc1e Operator precedence bug
PR:		11415
Submitted by:	Christopher Peterson <cpeterso@cs.washington.edu>
1999-05-02 21:46:31 +00:00
Peter Wemm
ccb64c7419 Typo: if (mpu_config = NULL) -> if (mpu_config != NULL)
PR:		11411
Submitted by:	Christopher Peterson <cpeterso@cs.washington.edu>
1999-05-02 21:43:20 +00:00
Peter Wemm
025fd878ff Operator precedence bug
PR:		11410
Submitted by:	Christopher Peterson <cpeterso@cs.washington.edu>
1999-05-02 21:41:20 +00:00
Peter Wemm
cf52c04ff2 Attempt to make the sound driver recompile, at least for LINT which has
the sscape/trix driver active, which (for some reason) disables the
mpu401 driver, causing an undefined reference to mpuintr.  This was broken
with rev 1.79 (part of the PC98 nss driver commit).
1999-05-02 20:40:28 +00:00
Peter Wemm
edfdec1910 Disable FDC_YE - it's broken at present (breaking LINT) and awaiting some
pccard fixups.
Make DEVFS compile, it breaks LINT.
1999-05-02 20:38:08 +00:00
Peter Wemm
741640aac6 These two drivers have not been converted for newbus eisa yet. 1999-05-02 20:35:44 +00:00
Dmitrij Tejblum
604359cf9b s/static foo_devsw_installed = 0;/static int foo_devsw_installed;/.
(Edited automatically)
1999-04-28 10:54:24 +00:00
Luoqi Chen
5206bca10a Enable vmspace sharing on SMP. Major changes are,
- %fs register is added to trapframe and saved/restored upon kernel entry/exit.
- Per-cpu pages are no longer mapped at the same virtual address.
- Each cpu now has a separate gdt selector table. A new segment selector
  is added to point to per-cpu pages, per-cpu global variables are now
  accessed through this new selector (%fs). The selectors in gdt table are
  rearranged for cache line optimization.
- fask_vfork is now on as default for both UP and SMP.
- Some aio code cleanup.

Reviewed by:	Alan Cox	<alc@cs.rice.edu>
		John Dyson	<dyson@iquest.net>
		Julian Elischer	<julian@whistel.com>
		Bruce Evans	<bde@zeta.org.au>
		David Greenman	<dg@root.com>
1999-04-28 01:04:33 +00:00
Poul-Henning Kamp
f711d546d2 Suser() simplification:
1:
  s/suser/suser_xxx/

2:
  Add new function: suser(struct proc *), prototyped in <sys/proc.h>.

3:
  s/suser_xxx(\([a-zA-Z0-9_]*\)->p_ucred, \&\1->p_acflag)/suser(\1)/

The remaining suser_xxx() calls will be scrutinized and dealt with
later.

There may be some unneeded #include <sys/cred.h>, but they are left
as an exercise for Bruce.

More changes to the suser() API will come along with the "jail" code.
1999-04-27 11:18:52 +00:00
Peter Wemm
3bfdd012d8 Only call kvtop on non-null id_maddr's... 1999-04-26 12:49:39 +00:00
Poul-Henning Kamp
0bb2226a4d Make the machdep.i8254_freq and machdep.tsc_freq sysctls modify the
timecounter as well

Asked for by:	bde, jhay
1999-04-25 09:00:00 +00:00
Bill Fumerola
98e32b1820 Add $Id: $ 1999-04-24 20:26:12 +00:00
Peter Wemm
96b3554e5c Use COMPAT_PCI_DRIVER() for registration if it exists. This shouldn't
hurt the driver portability to 3.x too much for where drivers are shared.
1999-04-24 20:17:05 +00:00
KATO Takenori
424af31b45 Changed the type of id_port from short into int to avoid wrong
conversion from short to unsigned long which is an argument of
bus_alloc_resource.  Since the value -1 is used to indicate no port
reousece, id_port need to be signed (suggested by Doug Rabson and
Peter Wemm.)
1999-04-24 18:24:43 +00:00
Peter Wemm
7e381ee0b4 Back out parts of rev 1.4; making isa.c preserve the hints across a
release made it unneeded.
1999-04-24 07:04:51 +00:00
Peter Wemm
8e51a153aa Revert part of 1.9; we don't need to reset the port after release now that
the isa bus doesn't clear the hints at that point.
1999-04-24 06:48:27 +00:00
Peter Wemm
d70a04d62d Don't clear the hints on release, just the resource containers. 1999-04-24 06:47:24 +00:00
KATO Takenori
2b2c7e7c09 - PC98 doesn't support 16bits bus I/F of adv deriver.
- PC98 has the bs driver.

Submitted by:	Takahashi Yoshihiro <nyan@dd.catv.ne.jp>
1999-04-24 04:21:42 +00:00
Justin T. Gibbs
74ed7047aa staticize. 1999-04-23 23:29:23 +00:00
Peter Wemm
525a3d26e7 Make the register_intr() glue actually have a chance of working... 1999-04-23 21:01:19 +00:00
Peter Wemm
9d0e5f96b0 Return the port size from the probe.
"ppc0 at port 0x378 irq 7 drq 3 on isa0" becomes
"ppc0 at port 0x378-0x37f irq 7 drq 3 on isa0"
1999-04-22 13:10:43 +00:00
Peter Wemm
8528f91719 oops, SMP was missing includes for a typedef. 1999-04-21 07:41:40 +00:00
Peter Wemm
54a8c69347 Stage 1 of a cleanup of the i386 interrupt registration mechanism.
Interrupts under the new scheme are managed by the i386 nexus with the
awareness of the resource manager.  There is further room for optimizing
the interfaces still.  All the users of register_intr()/intr_create()
should be gone, with the exception of pcic and i386/isa/clock.c.
1999-04-21 07:26:30 +00:00
Hellmuth Michaelis
00f8b3fd87 Make pcvt compile and run again after find_display() is gone as part of
the new-bus changes. Also fix several compiler warnings.
1999-04-20 08:45:27 +00:00
Peter Wemm
7ceeede80c Always reset the isa hints after releasing the resources after probe,
because the act of doing the release kills the hints(!).  A quirk of
the wrapper caused it to reset all the settings, except perhaps for the
memory address. I've tested this with a real SMC 8013EPC - which uses
shared memory addresses - it seems to work OK.
1999-04-19 20:31:53 +00:00
Peter Wemm
63cfedcc93 The missing prototype for isa_wrap_old_drivers() was bugging me.. 1999-04-19 20:16:22 +00:00
Luoqi Chen
8e9aec89b1 Fix a potential hang situation.
PR:		i386/2108
1999-04-19 18:44:16 +00:00
Peter Wemm
ee35d927c2 Don't do (1 << irq) to get an interrupt mask when irq = -1.
Submitted by:	Luoqi Chen <luoqi@watermarkgroup.com>
1999-04-19 18:03:51 +00:00
Peter Wemm
5f5a2519b4 Fix a braino from last commit. 1999-04-19 14:01:42 +00:00
Doug Rabson
343f195b0c Fix some confusion between physical and virtual addresses when recording
the driver's choice of memory window.
1999-04-19 08:42:39 +00:00
Warner Losh
da2d2676bb Set ifq_maxlen to eliminate "zp0 XXX: driver didn't set ifq_maxlen"
message on boot.

I know this driver is depricated, but I need to use it for a little
while.
1999-04-19 06:56:24 +00:00
Peter Wemm
0f6bc47029 Make the bt isa driver work..
- fix cut/paste problem. :-)
- don't forget to call isa_dmacascade()
- reset the port after we release resources.

That last one is a trap to watch out for..  The isa bus driver uses the
same port/irq/mem/etc variables for the initial probe hints as it does
for allocation/deallocation tracking.  Releasing a resource clears the
variable and then you loose the hint during attach.. (ouch!)
1999-04-18 19:08:28 +00:00
Peter Wemm
a49a3d4433 Implement an EISA new-bus framework. The old driver probe mechanism
had a quirk that made a shim rather hard to implement properly and it was
just easier to convert the drivers in one go.  The changes to the
buslogic driver go beyond just this - the whole driver was new-bus'ed
including pci and isa.  I have only tested the EISA part of this so far.

Submitted by:	 Doug Rabson <dfr@nlsystems.com>
1999-04-18 15:50:35 +00:00
Peter Wemm
a7375c7225 Remove i386-specific psm.c - it's now in sys/isa/psm.c 1999-04-18 15:13:03 +00:00
Peter Wemm
c6f819b927 These two have been replaced with isa/sio* in the generic isa area. 1999-04-18 14:38:42 +00:00
Paul Richards
3a129cf3d9 Set ifq_maxlen to IFQ_MAXLEN 1999-04-18 01:49:16 +00:00
Paul Richards
0fde788552 Set ifq_maxlen to number of transmit descriptors. 1999-04-18 01:37:19 +00:00