Commit Graph

100 Commits

Author SHA1 Message Date
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
thorpej
376be9fdf3 splimp -> spluba. 2001-04-12 20:08:09 +00:00
thorpej
63edf2e11d Protect the call to uba_done() with spluba(). 2001-04-12 20:07:40 +00:00
thorpej
ae66f2ea53 splimp -> splbio. 2001-04-12 20:05:12 +00:00
thorpej
3d6b1bec1e splimp -> splnet 2001-04-12 20:04:24 +00:00
enami
2ceebb6c0e Remove unnecessary test of tp->t_linesw against NULL; they are results
of confusion while correcting compilation error after t_line is
replaced with t_linesw.
2001-03-31 00:35:21 +00:00
ragge
511a94bf6e Do not send looped-back setup packets into the IP stack.
Handle xmit interrupts due to invalid transmit list (``cannot happen'')
Shoot the one that wrote the software for those cards.
2001-02-25 13:51:11 +00:00
fvdl
d040bd5908 Return error in the case of using ODIOCGDINFO or ODIOCGDEFLABEL when
the number of partitions is > OLDMAXPARTITIONS. This is better
than silently truncating the label (don't want to silently throw
away partitions when using an old disklabel binary on a label with
> 8 partitions). From Enami Tsugutomo.
2001-01-08 02:03:45 +00:00
fvdl
e2d1c1f926 Adapt all disk devices in MI directories to handle ODIOC* calls
for ports that have bumped MAXPARTITIONS (and thus define
__HAVE_OLD_DISKLABEL).
2001-01-07 18:09:01 +00:00
ragge
9bbf84e4ca Changes for dzkbd/dzms. This is not yet finished, but at least the
kernel is useable.
2000-12-30 22:11:46 +00:00
thorpej
a64a0f8137 ALTQ'ify. 2000-12-14 07:15:45 +00:00
thorpej
b84f740be0 Move bpfattach()/bpfdetach() calls into ether_ifattach()/ether_ifdetach(). 2000-11-15 01:02:11 +00:00
eeh
507aaec04c Adapt to the new line discipline scheme. 2000-11-02 00:01:44 +00:00
thorpej
7ca3fb9ef0 Move the check for "promisc + unicast + not for us" into ether_input(),
and change Ethernet drivers to always pass all received frames to
ether_input() (with a few exceptions, which are documented in the
code).
2000-10-01 23:32:39 +00:00
mrg
b5e0d5686e remove include of <vm/vm.h> 2000-06-28 17:09:41 +00:00
mrg
2f159a1bac remove/move more mach vm header files:
<vm/pglist.h> -> <uvm/uvm_pglist.h>
	<vm/vm_inherit.h> -> <uvm/uvm_inherit.h>
	<vm/vm_kern.h> -> into <uvm/uvm_extern.h>
	<vm/vm_object.h> -> nothing
	<vm/vm_pager.h> -> into <uvm/uvm_pager.h>

also includes a bunch of <vm/vm_page.h> include removals (due to redudancy
with <vm/vm.h>), and a scattering of other similar headers.
2000-06-26 14:20:25 +00:00
ragge
cc483219bc Must be able to compile without "mtc". 2000-06-10 19:44:55 +00:00