Commit Graph

116 Commits

Author SHA1 Message Date
bouyer 85393c3223 Redo previous in a better way:
allocate a static buffer, which is added at the end of short packets
to pad the buffer to ETHER_MIN_LEN - ETHER_CRC_LEN.
While I'm there fix 2 bugs:
in qeinit(), unload the right dmamap if bus_dmamap_load fails
in qestart, don't dmamap_load the mbuf if its len is 0.
Tested on simh-vax.
2003-01-17 15:45:59 +00:00
bouyer fddee95ba4 Ragge said this chip should autopad, so just remove the check. 2003-01-15 22:12:31 +00:00
bouyer 65856947c5 Zero out the extra space stolen from mbuf to pad packet to ETHER_MIN_LEN
XXX should it be ETHER_MIN_LEN - ETHER_CRC_LEN ?
XXX2 we assume there are enouth space in the mbuf for the padding bytes.
     But other places in the code assumes this already.
2003-01-15 22:10:25 +00:00
wiz 7e681f7063 interrupt with two rs. 2003-01-06 13:04:54 +00:00
thorpej 72a7af27b0 Use aprint_normal() in cfprint routines. 2003-01-01 00:10:15 +00:00
christos 514f7047e4 si_ -> sel_ 2002-11-26 18:49:40 +00:00
jdolecek e0cc03a09b 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
2002-10-23 09:10:23 +00:00
thorpej b75a007d9f Add trailing ; to CFATTACH_DECL. 2002-10-02 16:51:16 +00:00
thorpej 71adb76f75 Use CFATTACH_DECL(). 2002-09-30 21:57:46 +00:00
wiz b1c7ac0e6d "definitions" has lots of 'i's, but that's not reason to leave one out. 2002-09-29 23:23:56 +00:00
thorpej f818766afe Declare all cfattach structures const. 2002-09-27 20:31:45 +00:00
provos 0f09ed48a5 remove trailing \n in panic(). approved perry. 2002-09-27 15:35:29 +00:00
thorpej 6c88de3b53 Introduce a new routine, config_match(), which invokes the
cfattach->ca_match function in behalf of the caller.  Use it
rather than invoking cfattach->ca_match directly.
2002-09-27 03:17:40 +00:00
thorpej d1ad2ac4f2 Rather than referencing the cfdriver directly in the cfdata entries,
instead use a string naming the driver.  The cfdriver is then looked
up in a list which is built at run-time.
2002-09-27 02:24:06 +00:00
ad 989a076f27 Update for dzattach() change. 2002-09-26 05:54:07 +00:00
thorpej 71404bb533 Don't include <sys/map.h>. 2002-09-25 22:21:01 +00:00
gehenna 77a6b82b27 Merge the gehenna-devsw branch into the trunk.
This merge changes the device switch tables from static array to
dynamically generated by config(8).

- All device switches is defined as a constant structure in device drivers.

- The new grammer ``device-major'' is introduced to ``files''.

	device-major <prefix> char <num> [block <num>] [<rules>]

- All device major numbers must be listed up in port dependent majors.<arch>
  by using this grammer.

- Added the new naming convention.
  The name of the device switch must be <prefix>_[bc]devsw for auto-generation
  of device switch tables.

- The backward compatibility of loading block/character device
  switch by LKM framework is broken. This is necessary to convert
  from block/character device major to device name in runtime and vice versa.

- The restriction to assign device major by LKM is completely removed.
  We don't need to reserve LKM entries for dynamic loading of device switch.

- In compile time, device major numbers list is packed into the kernel and
  the LKM framework will refer it to assign device major number dynamically.
2002-09-06 13:18:43 +00:00
ragge 217df25ecc Include DMF32/DMZ32 files. The actual device drivers will be checked in when
the licensing of the 4.4BSD encumbered files are solved.
2002-08-26 08:08:06 +00:00
hannken bfc31ebc74 Convert to new device buffer queue interface.
Approved by: Anders Magnusson <ragge@netbsd.org>
2002-07-22 21:48:36 +00:00
ragge e665b4e35e Must check B_PHYS, not b_proc, if it is DMA to userspace, otherwise the
machine will crash. This fixes a panic when a Unibus adapter runs out
of map registers (happens frequently), reported by Johnny Billquist.
2002-06-14 11:57:21 +00:00
ragge e6d4f11739 Detection bug: If a packet is received while in the match() routine the stack
would be overwritten, so allocate memory for a full packet via malloc()
instead. Use correct buffer maxlen (must be 2 complemet). Bug reported
and helped to find by Roar Thronæs.
2002-06-08 12:28:37 +00:00
lukem 06de426449 SIMPLEQ rototill:
- implement SIMPLEQ_REMOVE(head, elm, type, field).  whilst it's O(n),
  this mirrors the functionality of SLIST_REMOVE() (the other
  singly-linked list type) and FreeBSD's STAILQ_REMOVE()
- remove the unnecessary elm arg from SIMPLEQ_REMOVE_HEAD().
  this mirrors the functionality of SLIST_REMOVE_HEAD() (the other
  singly-linked list type) and FreeBSD's STAILQ_REMOVE_HEAD()
- remove notes about SIMPLEQ not supporting arbitrary element removal
- use SIMPLEQ_FOREACH() instead of home-grown for loops
- use SIMPLEQ_EMPTY() appropriately
- use SIMPLEQ_*() instead of accessing sqh_first,sqh_last,sqe_next directly
- reorder manual page; be consistent about how the types are listed
- other minor cleanups
2002-06-01 23:50:52 +00:00
wiz f7d76b1062 bcmp -> memcmp. 2002-05-22 16:03:14 +00:00
ragge f3082cc970 Call rlreset() per controller, not per disk.
Be more informative about the state of the disk (locked, unloaded etc...)
Send NULL as proc pointer to bus_dma_load if B_PHYS is not set.
Break out softc's from rl.c to rlvar.h for inclusion elsewhere.
2002-03-23 18:12:09 +00:00
atatat 31144d9976 Convert ioctl code to use EPASSTHROUGH instead of -1 or ENOTTY for
indicating an unhandled "command".  ERESTART is -1, which can lead to
confusion.  ERESTART has been moved to -3 and EPASSTHROUGH has been
placed at -4.  No ioctl code should now return -1 anywhere.  The
ioctl() system call is now properly restartable.
2002-03-17 19:40:26 +00:00
itojun ac36f7cb2c bring in latest ALTQ from kjc. ALTQify some of the drivers. 2002-03-05 04:12:57 +00:00
ad f89bb3064e Move the dz driver to dev/dec, since it can be shared with pmax. 2002-02-25 14:58:06 +00:00
msaitoh 72f2d1c3a3 #endif ... -> #endif /* ... */ 2001-12-06 10:28:40 +00:00
lukem 2565646230 don't need <sys/types.h> when including <sys/param.h> 2001-11-15 09:47:59 +00:00
lukem a3746e00b7 add RCSIDs 2001-11-13 07:11:12 +00:00
ragge adc0050e52 Trying to get these files out of Attic. 2001-08-16 14:56:30 +00:00
ragge 988a8d9aa1 Trying to get files out of Attic. 2001-08-16 14:55:32 +00:00
wiz 3f9984fc90 `existent', not `existant' 2001-06-19 13:42:07 +00:00
lukem d9db68b3fe be more specific about which interlan controller the qbus/if_il supports 2001-06-13 06:40:19 +00:00
wiz 40ac848024 Fix various misspellings of compatible/compatibility. 2001-06-11 01:50:48 +00:00
ragge 01c6253206 Only use b_proc if B_PHYS is set. 2001-06-10 18:41:27 +00:00
ragge 41faed1386 Use cdev_decl() instead of local prototyping. 2001-05-26 21:24:38 +00:00
ragge 59b29023fd Update the TS11 driver to useable state.
Thanks to Michael Kukat for providing a machine to test this driver.
2001-05-13 15:32:40 +00:00
ragge f66126b9f0 Moved from sys/arch/vax/uba/. 2001-05-13 15:30:10 +00:00
ragge 637bffc245 Add bus type to softc. 2001-05-13 15:23:37 +00:00
ragge 816247df06 Add il, dmc, ts and if_uba. 2001-05-06 17:37:52 +00:00
ragge 09a79adad2 Driver for the DMC-11/DMR-11 DDCMP interface, (untested) from 4.4BSD. 2001-05-06 17:36:04 +00:00
ragge 7026635893 Driver for the Interlan NI1010 Ethernet Controller, from 4.4BSD. 2001-05-06 15:30:46 +00:00
ragge 93011fb5f6 Use if_uba + ether_ioctl routines. Removed ~150 lines of duplicated code. 2001-05-06 15:27:48 +00:00
ragge 9b9db3a6bd Back from the dead, but now changed to use the bus_dma interface.
Still to do:
	- ubaresets
	- BDP handling
2001-05-06 15:21:44 +00:00
scw 2963ff5c58 Add `l_poll' to `struct linesw' and provide an xxxpoll() entry point
in each tty driver to indirect through it.

This allows tty line-disciplines to handle poll(2) system calls.
2001-05-02 10:32:08 +00:00
ragge c3736bf111 Use ubmemalloc() for data structures. Remove unused vars. KNF. 2001-04-29 12:32:18 +00:00
ragge a7d2fe8275 Use uballoc()/ubmemalloc() for data structure allocation. 2001-04-26 20:05:46 +00:00
ragge 6bfb730eba Use ubmemalloc() to get mapped uba memory.
Only copy mbufs if there are more than two in a mbuf chain (on transmit).
This squeezed another 5% out of the DEUNA. (now closing up to 100 K/s :-)
2001-04-26 19:36:07 +00:00
ragge 014984b747 Add functions to allocate mapped-in qbus memory. 2001-04-26 19:16:07 +00:00