Commit Graph

1976 Commits

Author SHA1 Message Date
Peter Wemm
c5191a983c Pre 4.0 tidy up.
Collect together the components of several drivers and export eisa from
the i386-only area (It's not, it's on some alphas too).  The code hasn't
been updated to work on the Alpha yet, but that can come later.

Repository copies were done a while ago.
Moving these now keeps them in consistant place across the 4.x series
as the newbusification progresses.

Submitted by:   mdodd
2000-01-14 07:14:17 +00:00
Bill Paul
0177987224 Add device driver support for USB ethernet adapters based on the CATC
USB-EL1202A chipset. Between this and the other two drivers, we should
have support for pretty much every USB ethernet adapter on the market.
The only other USB chip that I know of is the SMC USB97C196, and right
now I don't know of any adapters that use it (including the ones made
by SMC :/ ).

Note that the CATC chip supports a nifty feature: read and write combining.
This allows multiple ethernet packets to be transfered in a single USB
bulk in/out transaction. However I'm again having trouble with large
bulk in transfers like I did with the ADMtek chip, which leads me to
believe that our USB stack needs some work before we can really make
use of this feature. When/if things improve, I intend to revisit the
aue and cue drivers. For now, I've lost enough sanity points.
2000-01-14 03:14:49 +00:00
Nicolas Souchu
0f210c922b Port of ppbus standalone framework to the newbus system.
Note1: the correct interrupt level is invoked correctly for each driver.
       For this purpose, drivers request the bus before being able to
       call BUS_SETUP_INTR and BUS_TEARDOWN_INTR call is forced by the ppbus
       core when drivers release it. Thus, when BUS_SETUP_INTR is called
       at ppbus driver level, ppbus checks that the caller owns the
       bus and stores the interrupt handler cookie (in order to unregister
       it later).

       Printing is impossible while plip link is up is still TRUE.
       vpo (ZIP driver) and lpt are make in such a way that
       using the ZIP and printing concurrently is permitted is also TRUE.

Note2: specific chipset detection is not done by default. PPC_PROBE_CHIPSET
       is now needed to force chipset detection. If set, the flags 0x40
       still avoid detection at boot.

Port of the pcf(4) driver to the newbus system (was previously directly
connected to the rootbus and attached by a bogus pcf_isa_probe function).
2000-01-14 00:18:06 +00:00
Peter Wemm
87263c3c61 Add missing 'DEVICE_SYSCTLS' to opt_bus.h. This is the (experimental?)
code that exports the bus heirarchy to hw.devices.*
2000-01-13 13:29:51 +00:00
Matthew N. Dodd
1f3e0d3de8 Remove the 'at isa? ...' bits for ex0.
Remove the confusing text about pccard and unit numbers for ep0.
2000-01-13 07:01:13 +00:00
Yoshihiro Takahashi
dad8dd78d6 Merge from sys/conf/files.i386 revision 1.296. 2000-01-12 13:43:23 +00:00
Peter Wemm
d0e12656b8 Add $FreeBSD$
Make the alpha linker script more like the i386 version - delete the
/usr/local and egcs directories
2000-01-11 15:35:16 +00:00
Peter Wemm
07997cf9cd Aiee! I committed the wrong conf/files. Replace the changes for newppbus
with the intended changes.
Drop db_aout.c from files, let db_kld.c do the work.

Noticed by:	bde
2000-01-11 14:54:09 +00:00
Peter Wemm
63aad530bc Fix a typo in the db_kld.c file - it's kld support not raw a.out support.
Always use db_kld.c for symbol table support as the base kernel maintains
this information.
2000-01-11 13:25:12 +00:00
Bill Paul
a0067d7b89 Attempt to fix a problem with receiving packets on USB ethernet interfaces.
Packets are received inside USB bulk transfer callbacks, which run at
splusb() (actually splbio()). The packet input queues are meant to be
manipulated at splimp(). However the locking apparently breaks down under
certain circumstances and the input queues can get trampled.

There's a similar problem with if_ppp, which is driven by hardware/tty
interrupts from the serial driver, but which must also manipulate the
packet input queues at splimp(). The fix there is to use a netisr, and
that's the fix I used here. (I can hear you groaning back there. Hush up.)

The usb_ethersubr module maintains a single queue of its own. When a
packet is received in the USB callback routine, it's placed on this
queue with usb_ether_input(). This routine also schedules a soft net
interrupt with schednetisr(). The ISR routine then runs later, at
splnet, outside of the USB callback/interrupt context, and passes the
packet to ether_input(), hopefully in a safe manner.

The reason this is implemented as a separate module is that there are
a limited number of NETISRs that we can use, and snarfing one up for
each driver that needs it is wasteful (there will be three once I get
the CATC driver done). It also reduces code duplication to a certain
small extent. Unfortunately, it also needs to be linked in with the
usb.ko module in order for the USB ethernet drivers to share it.

Also removed some uneeded includes from if_aue.c and if_kue.c

Fix suggested by: peter
Not rejected as a hairbrained idea by: n_hibma
2000-01-10 23:12:54 +00:00
Poul-Henning Kamp
86807e1622 Remove controller miibus, there already were a device miibus. 2000-01-10 12:06:32 +00:00
Warner Losh
90bba6bf72 Move xe driver from dev/pccard to dev/xe. Convert driver to newbus.
Driver is not functional yet, but does compile.  Tests with xe cards
indicates that it doesn't panic the machine when they are present, but
fail to probe.  Interface help in the pcic/pccard layers are needed to
complete this driver.
2000-01-10 08:05:53 +00:00
David E. O'Brien
5e93c21150 * Add `sym' SCSI driver options.
* bring in NIC comments from GENERIC
* slightly reorder a few things in an feable attempt at making the
  organization of LINT more logical.
2000-01-09 23:33:38 +00:00
Peter Wemm
b7db0275e2 Point to the right kernel ld script.
Remove stray PC98 make variable.
2000-01-09 17:59:49 +00:00
Peter Wemm
d2b1bc7312 Put on my asbestos suit and move $mach/conf/*.$mach to conf/*.$mach as
hinted at in the previous config(8) commits.  I've spoken about this with
a few people and after the initial suprise wore off they thought it wasn't
a bad idea.  The upshot of it is that all the files*, Makefile*, options*
files are all right next to each other in the hope that people making
changes to one set will remember the others.

Note, config(8) looks to sys/conf first, and falls back to sys/$mach/conf
still, so this doesn't stop people working in subdirs for new platforms.
But once it's in the tree it can be moved next to the other files so that
the non-i386 platforms are (hopefully) treated a little better than as if
they were "second class" ports.

This does not change any user editable files.  the config program is
still run in the same directory as before, the per-platform files
(GENERIC, LINT etc) are still in the same place.
2000-01-09 15:29:10 +00:00
KATO Takenori
832f9b3eb4 Synced with sys/i386/conf/Makefile.i386 (MACHINE -> MACHINE_ARCH).
Pointed out by:	peter
2000-01-09 14:56:07 +00:00
Bruce Evans
b7d1b97726 Removed defunct options EXTRA_SIO and KEY_DEBUG. 2000-01-09 14:47:38 +00:00
KATO Takenori
070e9ce61b Changed MACHINE -> MACHINE_ARCH to make the i386-kernel be able to
compiled on PC98.
2000-01-09 14:43:47 +00:00
KATO Takenori
218b3dbece Synced with sys/i386/conf/files.i386 rev 1.295. 2000-01-09 14:25:50 +00:00
KATO Takenori
a7dcfbda20 Synced with sys/i386/conf/Makefile.i386 rev 1.176. 2000-01-09 14:24:00 +00:00
Bruce Evans
4100386cb1 Put COMPAT_SVR4 in opt_dontuse.h for the same reasons as IBCS2 and
COMPAT_LINUX are there.  It shouldn't be and isn't used after config
time, except to complicate the svr4 module makefile.

Moved options for emulators to a separate section.
2000-01-09 10:58:39 +00:00
Bruce Evans
68b683dc58 Compile *_genassym.c with ordinary ${CFLAGS}. The (small) needs for
-U_KERNEL became negative when all all the genassym.c's were converted
to be cross-built.  Related cleanups: PARAM went away, but was still
used here; KERNEL was renamed to _KERNEL, but was still KERNEL here;
the deprecated macros $@ and $< were still used here.

Use "genassym ... > ${.TARGET}", not "genassym -o $@ ...", so that
genassym(1) doesn't need to support -o.

Removed half-baked hard-coded dependencies of *_genassym.o on headers.
These objects should be added to the list of objects in the depend
rule to get full dependencies.  This doesn't happen automatically
because they are not linked into the kernel.  Half baked dependencies
don't really help.
2000-01-09 08:24:27 +00:00
Cameron Grant
1440baa73c enable the neomagic driver 2000-01-09 08:17:47 +00:00
Bruce Evans
cfb95261b1 Quick fix for LINT breakage. KERNFORMAT went away, so don't use it
for trlld.o.
2000-01-09 07:50:42 +00:00
Peter Wemm
58fa7951a2 Bump configversion. The controller/device changes are upwards but not
downwards compatable.  If you try and config a s/controller/device/ kernel
with an old config(8), the results will be less than satisfactory.
2000-01-09 07:10:27 +00:00
Bruce Evans
a0b845fe92 Add "-I@/../include" and/or "-I${DESTDIR}/usr/include" to CFLAGS,
essentially as in kernel makefiles, so that module sources can include
<stddef.h> and other standard headers.  Only add the second path when
the first path can't be found, instead of when DESTDIR is defined.
Adding it used to be just an obfuscation.

Use "${.OBJDIR}" instyead of "." in -I paths.  Using "${.OBJDIR}" just
gave more verbose command lines and depend files.
2000-01-08 18:48:57 +00:00
Peter Wemm
a052e7173c config(8) doesn't know anything about scsi devices like it used to, remove
the misleading comments to that effect.
Prune bogus 'at foo?' (smbus, iicbus, ppbus) appendages on things that
they are meaningless for.  It was just eye candy and wasn't used by
anything in the tree.  The interconnects were defined by the drivers
themselves and auto discovery.
(The new ppbus code may change this if it uses the resource_get_*() calls
 to find it's configured children if self discovery isn't possible)
2000-01-08 17:51:33 +00:00
Peter Wemm
f31f62f872 Further sync Alpha and i386 Makefiles. Remove KERNFORMAT = elf stuff as
it's always true on these platforms (and is likely to be on others as
well since loader is the one that is configured for whatever the boot
requirements are)
2000-01-08 17:31:35 +00:00
Peter Wemm
0909397395 genassym is ELF-only, therefore the kernel is now ELF-only as well. 2000-01-08 17:12:15 +00:00
Marcel Moolenaar
6257c6285a Sync with i386
\begin{quote}
Compile genassym.c with ordinary ${CFLAGS}.  The (small) needs for
${GEN_CFLAGS} and -U_KERNEL became negative when all all the
genassym.c's were converted to be cross-built.

Makefile.*:
- Cleanups associated with the old genassym.
- Fixed deprecated spelling of ${.IMPSRC} as "$<".
\end{quote}

Submitted by: bde
2000-01-08 16:43:46 +00:00
Peter Wemm
70c43495f8 s/controller/device/ as per config(8) 2000-01-08 16:03:57 +00:00
Bruce Evans
c453bba744 Compile genassym.c with ordinary ${CFLAGS}. The (small) needs for
${GEN_CFLAGS} and -U_KERNEL became negative when all all the
genassym.c's were converted to be cross-built.

Makefile.*:
- Cleanups associated with the old genassym.
- Fixed deprecated spelling of ${.IMPSRC} as "$<".
2000-01-08 15:52:22 +00:00
Bill Paul
d04bb221f3 Add the vendor and device IDs for a whole bunch of additional USB
ethernet adapters that are supported by the aue and kue drivers.
There are actually a couple more out there from Accton, Asante and
EXP Computer, however I was not able to find any Windows device
drivers for these on their servers, and hence could not harvest
their vendor/device ID info. If somebody has one of these things
and can look in the .inf file that comes with the Windows driver,
I'd appreciate knowing what it says for 'VID' and 'PID.'

Additional adapters include: the D-Link DSB-650 and DSB-650TX, the
SMC 2102USB, 2104USB and 2202USB, the ATen UC10T, and the Netgear EA101.
These are all mentioned in the man pages, relnotes and LINT.

Also correct the date in the kue(4) man page. I wrote this thing
on Jan, 4 2000, not 1999.
2000-01-07 22:18:49 +00:00
Marcel Moolenaar
9c0182bbdc Use genassym(1). 2000-01-07 14:58:47 +00:00
Mark Newton
6e2972b825 Changes as suggested by bde
Submitted by:	bde
2000-01-07 14:41:12 +00:00
Marcel Moolenaar
3abe5082ad Use genassym(1). The definitions of NKPDE and NKPT have been removed
because they are already defined in pmap.h, resulting in duplicate
definitions.

Reviewed by: bde
2000-01-07 11:50:46 +00:00
Peter Wemm
31f723c7bc Bring the Alpha and x86 Makefiles closer together. 2000-01-07 05:12:12 +00:00
Warner Losh
46121c1271 FDC_YE has been removed as a valid option.
Noticed by: bde
2000-01-06 16:45:56 +00:00
Peter Wemm
d5127a856d Missed s/KERNEL/_KERNEL/ here.. *blush*.
Submitted by:	bde
2000-01-06 13:14:51 +00:00
Warner Losh
b2290df23b Add power_if.[cho] generation for new pccard system.
Also added commented out xe driver pending change.  Should be benign.
2000-01-06 07:18:05 +00:00
Mark Newton
0e741a5b5b Add documentation for SVR4 options in LINT. 2000-01-05 21:41:16 +00:00
Bill Paul
dfd1e98eac Add device driver support for USB ethernet adapters based on the
Kawasaki LSI KL5KUSB101B chip, including the LinkSys USB10T, the
Entrega NET-USB-E45, the Peracom USB Ethernet Adapter, the 3Com
3c19250 and the ADS Technologies USB-10BT. This device is 10mbs
half-duplex only, so there's miibus or ifmedia support. This device
also requires firmware to be loaded into it, however KLSI allows
redistribution of the firmware images (I specifically asked about
this; they said it was ok).

Special thanks to Annelise Anderson for getting me in touch with
KLSI (eventually) and thanks to KLSI for providing the necessary
programming info.

Highlights:
- Add driver files to /sys/dev/usb
- update usbdevs and regenerate attendate files
- update usb_quirks.c
- Update HARDWARE.TXT and RELNOTES.TXT for i386 and alpha
- Update LINT, GENERIC and others for i386, alpha and pc98
- Add man page
- Add module
- Update sysinstall and userconfig.c
2000-01-05 04:27:24 +00:00
Matthew Dillon
eb6088c84d Update some of the network driver documentation in the LINT file, which
is where most people look to match drivers up with cards.

Reviewed by:	wpaul
2000-01-04 23:09:42 +00:00
Matt Jacob
b6ca8f5a13 add wx0 driver 2000-01-04 11:17:35 +00:00
Matt Jacob
677202cac3 add wx (Intel Wiseman Gig Ethernet) driver 2000-01-04 11:01:36 +00:00
Matt Jacob
9b8ea2242c Add in ISP_TARGET_MODE description. 2000-01-04 00:04:27 +00:00
Matt Jacob
80d80cdbda Add in isp_target.c to be compiled for isp- it'd be nice if we could
do conditional file inclusing based on options.
2000-01-04 00:01:19 +00:00
Mark Newton
ad20e57ae2 Add options for COMPAT_SVR4 and DEBUG_SVR4 for completeness. 2000-01-03 20:37:15 +00:00
KATO Takenori
a7c6b6f184 Synced with sys/i386/conf/Makefile.i386 rev 1.170. 2000-01-03 05:34:48 +00:00
Peter Wemm
c447342094 Change #ifdef KERNEL to #ifdef _KERNEL in the public headers. "KERNEL"
is an application space macro and the applications are supposed to be free
to use it as they please (but cannot).  This is consistant with the other
BSD's who made this change quite some time ago.  More commits to come.
1999-12-29 05:07:58 +00:00