Commit Graph

257 Commits

Author SHA1 Message Date
thorpej 0d6571ba4d Defer hooking up the DMA controller interrupt. Add a new funciton,
dmacomputeipl(), which is called by drivers which use DMA once they've
hooked up their interrupts.  This new function computes the appropriate
ipl to use for the DMA controller and (re-)establishes it's interrupt.
1996-12-09 03:09:51 +00:00
thorpej 43ba106ec2 Remove declaration for now-gone function. 1996-10-20 23:47:40 +00:00
thorpej 8acf9f0215 Set the device class on non-dull devices. This is a transitional thing. 1996-10-14 07:14:11 +00:00
thorpej 7d13691de1 Add some new config glue to the legacy hp300 device structures. This is
a transitional thing.
1996-10-14 07:11:50 +00:00
thorpej 01d74572dd Default the HIL keyboard to "US ASCII". This should fix a bug where
an unrecognized keyboard produced garbage on keypresses in the kernel,
but worked in the boot program (which has this default).  The bug is
that the keymap pointers are unitialized.
1996-10-14 07:09:41 +00:00
christos 30b3cc3d09 backout previous kprintf changes 1996-10-13 03:14:05 +00:00
christos 60dd5ceebe printf -> kprintf, sprintf -> ksprintf 1996-10-11 00:06:28 +00:00
mycroft 6ea58d5fae Serial console changes:
* Enable FIFO with trigger level 1.
* Set DTR and RTS so terminals are happy.
* Do not set IEN.
1996-10-06 01:42:45 +00:00
thorpej 39cbdb7e9f Fix kernel crash dumps. Still uses the old format for now. 1996-10-06 00:14:12 +00:00
thorpej 2793eb282e If console is on an ite, make sure the HIL is initialized enough for
the keyboard to work.  Fixes a bug where booting with `-d' worked
only on systems using a serial console.

While I'm here, eliminate some redundancy in the ite console intialization
code.
1996-10-05 05:22:04 +00:00
thorpej 5f728fb6de Garbage-collect some now-unused PANICBUTTON code. 1996-10-04 22:22:15 +00:00
thorpej 9476dabc1a Correct a somewhat confusing typo in a comment, pointed out by
Scott Reynolds.
1996-09-12 18:54:23 +00:00
thorpej be969d881e Update for poll(2) changes. 1996-09-12 01:22:58 +00:00
mycroft b3eac79b64 tty stop functions really should return void, not int, and certainly not both. 1996-09-02 06:43:16 +00:00
thorpej a323ce7b09 Add the "Python 28849" to the list of `supported' tape drives as a PYTHON
type.
1996-06-10 06:39:31 +00:00
thorpej bcab59cd3c Remove the old-style disk instrumentation support. Nothing uses it
anymore.
1996-06-06 16:17:41 +00:00
thorpej e9e80a6043 Add calls to tty_attach() and tty_detach() where appropriate. 1996-06-06 15:36:06 +00:00
thorpej f969979dea Back most (not all) of the previous delay-related changes now that
delay is calibrated properly.
1996-05-18 23:56:59 +00:00
thorpej 3ad552e74b Adjust for new DELAY() ... s/DELAY(1)/DELAY(5)/ and lengthen some
timeouts.
1996-05-17 15:15:29 +00:00
thorpej c3fc839395 Change "DELAY(1)" to "DELAY(5)". This is basically equivalent to how
the old implementation of DELAY() behaved with small values.
1996-05-17 15:12:30 +00:00
thorpej f708ced3a3 Adjust for the new values of cpuspeed. 1996-05-17 15:09:39 +00:00
thorpej be71c11843 Add 2 missing ";"s ... they weren't noticed before because of the
old implementation of DELAY().
1996-05-17 15:08:13 +00:00
thorpej 2de85463e2 Correct typos, PR #2382. 1996-05-09 21:11:47 +00:00
thorpej 7ebfa3c7fc Make the MI LANCE driver standalone, and use cfattach to resolve
naming conflicts between bus attachments on ports that can have
multiple instances of the LANCE.

Changed struct ifnet to have a pointer to the softc of the underlying
device and a printable "external name" (name + unit number), thus eliminating
if_name and if_unit.  Updated interface to (*if_watchdog)() and (*if_start)()
to take a struct ifnet *, rather than a unit number.
1996-05-07 00:57:58 +00:00
christos 78403e6c0c Add a hardware dependent initialization function lehwinit() 1996-04-22 02:25:54 +00:00
cgd d7d306aeb7 change LANCE copy & zero functions' names to start with amd7990_, and
remove their 'integrate' (usually defined to be 'static') keywords.
when lance drivers are split up by attachment, more than one file will
reference the copy/zero functions (i.e. not just the file that pulls in
am7990.c... and eventually inclusion of am7990.c should go away entirely).
1996-04-18 00:25:11 +00:00
thorpej b2c3f54207 Fix logic errors in new console probe code that caused framebuffers
outside of "internal i/o" space to not even have a chance at console-hood.
Fix tested by Thorsten Frueauf <frueauf@ira.uka.de>, and offered with
my sincerest apologies that the bug ever existed in the first place.
1996-03-03 16:48:52 +00:00
thorpej 0adab4d779 Avoid accidentally lowering a devices console priority. 1996-02-26 23:40:29 +00:00
thorpej fa7bee29a5 Completely rework how the console is probed. Console probing no longer
requires pre-autoconfigured devices.  Fix up some prototypes.  Part of the
long journey towards new config.  (GETTING THERE!)
1996-02-24 00:54:53 +00:00
thorpej d6f4511690 All interrupt routines (except the HIL; don't ask) now take a pointer
to a softc, rather than a unit number.  Add a "dq_softc" member
to struct devqueue; this is a temporary measure until the
dma/controller/device callback spaghetti is untangled.

YAY!  No more need for dcafastservice!

HIL: squish instances of "(void) splhil()" and "(void) spl0();".
1996-02-14 02:43:54 +00:00
scottr 41378a47c0 Info from Mike Hibler <mike@cs.utah.edu> indicates that the probable
intent for the value of the C_REL constant was 0xc0.  Testing has turned
up no adverse effect on tape or disk devices, and in fact this change
apparently makes my 9145 tape work as expected. (!)  Closes PRs 1874 and
1971.
1996-02-09 18:00:35 +00:00
thorpej 996edfa606 Remove bogus "return (0);" in rdmatch() that wiggled its way in uninvited. 1996-02-03 03:00:29 +00:00
scottr f9418ec605 Eliminate unnecessary goto and labels, and other minor cleanup. 1996-01-23 00:28:09 +00:00
thorpej 524cf97f54 Kludge around a case where a flaky HP-IB disk might be slow to respond
to the identification request in rdmatch().  Similar in spirit to a
patch from Jason Downs (written eons ago), but limited to the broken
device we're trying to reach.  My patch tested (and fixed :-) by
Herb Peyerl.
1996-01-10 20:54:29 +00:00
thorpej 2e1c1680c5 Fix declaration of hilqfree(), from Daniel Hagerty <hag@wizardz.com>,
PR #1918.
1996-01-10 20:31:12 +00:00
thorpej 5b39541e48 New generic disk framework. Highlights:
- New metrics handling.  Metrics are now kept in the new
	  `struct disk'.  Busy time is now stored as a timeval, and
	  transfer count in bytes.

	- Storage for disklabels is now dynamically allocated, so that
	  the size of the disk structure is not machine-dependent.

	- Several new functions for attaching and detaching disks, and
	  handling metrics calculation.

Old-style instrumentation is still supported in drivers that did it before.
However, old-style instrumentation is being deprecated, and will go away
once the userland utilities are updated for the new framework.

For usage and architectural details, see the forthcoming disk(9) manual
page.
1996-01-07 22:01:38 +00:00
thorpej 90964d13db Implement a suggestion from Charles; use a wrapper function before
leintr() to deal with das blinkenlights.  Also squishes the need
for LEINTR_UNIT.
1996-01-02 21:56:21 +00:00
thorpej 3319ad7b61 XXX TEMPORARY STOP-GAP MEASURE! A 12-bit command modifier was being
squished into an 8-bit position in a command stream!  Which one is wrong?
Changed the constant from 0x140 to 0x40, which is what ended up happening
anyhow.  This exists in the old Utah sources, too!  How long has this
bug existed?!
1995-12-31 04:11:42 +00:00
thorpej 34c2680a5b Re-work the serial console support a bit; it doesn't depend on statically
allocated softc's now.
1995-12-31 00:27:16 +00:00
thorpej f26be3a3d6 Fix something the switch to the MI LANCE code broke: use LE_TINT_HOOK
and LE_RINT_HOOK to blink the "LAN transmit" and "LAN receive" LEDs on
the front panels of 400-series machines iff the CPP symbol USELEDS is
defined in the kernel config file.
1995-12-30 21:03:02 +00:00
thorpej 11c7d655d8 Correct some comments about 8-port DCM boards. (Thanks, Mike, for
pointing out the True Nature of The Force...)
1995-12-29 17:21:29 +00:00
thorpej 1094eb5008 Oops ... missed this file in the last round of device changes. 1995-12-11 19:41:47 +00:00
mycroft 7877aa6eb5 Use the MI LANCE code. 1995-12-10 00:49:33 +00:00
thorpej 862bb3adc1 Pass the correct number of arguments to readdisklabel(). 1995-12-09 07:31:03 +00:00
thorpej 87206673fb Keymap for the Swedish HIL keyboard, from Tomas Tengling <ltt@cd.chalmers.se>. 1995-12-06 22:13:23 +00:00
thorpej 52ec09e420 Use a "match/attach" rather than "init" scheme for probing devices.
This is a step towards getting the drivers ready for new config.
1995-12-02 18:21:49 +00:00
thorpej deb00c27b3 Use a "match/attach" rather than "init" scheme for probing devices.
This is a step towards getting the drivers ready for new config.

Clean up namespace, remove several instances of global arrays.  Instead,
use a softc to carry state around.  Where possible, pass a pointer to
the softc rather than a unit number.

Pointers to hardware and software constructs are now stored per port
in each instance of the softc (one softc per board) rather than indexed
by minor number.
1995-12-02 18:18:50 +00:00
thorpej 41cf6f071f Use a "match/attach" rather than "init" scheme for probing devices.
This is a step towards getting the drivers ready for new config.

Clean up namespace, remove several instances of global arrays.  Instead,
use a softc to carry state around.  Where possible, pass a pointer to the
softc rather than a unit number.
1995-12-02 18:15:50 +00:00
thorpej de5ce5f48c Change "hilloop" to "hilsoftc" and make slightly more new config-friendly.
Remove all uses of curproc.
1995-12-02 02:48:47 +00:00
thorpej b618522128 Make the DMA controller driver a little more new config-friendly. Still
more work to do, but this is a step in the right direction.
1995-12-02 02:46:45 +00:00
thorpej 63b0022b86 Update a #include for the "new" location of HP-UX emulation code. 1995-11-28 08:12:37 +00:00
thorpej 8122bc0e33 Prevent the ITE_ACTIVE bit from being cleared in iteoff() if the ITE_ISCONS
bit is set.  Works around the fact that the last process to have the
console open exits, the bit is cleared, and "syncing disks...", etc. is
not seen if the system is rebooted with reboot(8).  Fixes PR #1455.
1995-11-19 23:14:22 +00:00
thorpej 31430a5279 Cosmetically change one #include directive. 1995-11-19 22:32:38 +00:00
thorpej 905cb9dda1 Re-arrange things such that we can print out disk geometry regardless of
COMPAT_NOLABEL.

XXX One day when the world doesn't assume DEV_BSIZE bytes/sector, we'll be
able to actually use the stuff sensed from the drive, rather than a table.
1995-11-19 19:07:18 +00:00
thorpej d0e01feb5c Do an indirect driver a little more like an indirect driver would like to
be done.  Set up a structure filled with function pointers in the
controller-specific probe routines, and jump through them, instead of
if()'ing our way though each operation.

Be a little more discriptive; print out the controller type found
during the probe in a way that's somewhat meaningful.
1995-11-19 17:57:15 +00:00
thorpej 43358aae60 Deal with vendor, product, and revision strings properly. 1995-10-16 08:51:49 +00:00
thorpej 5dcaa0b51c Be a tad bit more informative when the drive is attached. Print geometry
info when appropriate, because, darn it, it's useful.
1995-10-15 10:03:18 +00:00
thorpej ab16c2efa6 Remove unneeded RCS ids. 1995-10-09 08:07:37 +00:00
thorpej 2d5f7a7b07 Pass correct number of arguments to hpibgo(). 1995-10-09 07:57:43 +00:00
thorpej e43d278d31 Several changes:
* Reset the card on "fresh open" as a sanity measure.
	* Use the "secret bit" to enable interrupts.
	* Make some parts look/behave like their cousins in dev/isa/com.c
	* Set the FIFO threshold based on line speed.
	* Be a little more informative when port is attached.
	* Implement TIOC{G,S}FLAGS; ttyflags now works.
First two items prevent deadlock on some systems (notably the 380,
425, and 433) which some people have been reporting.  Use of the
"secret bit" seems to be safe on systems which don't need it.  Changes
tested on a 319, 340, 345, and 380.
1995-10-04 17:46:08 +00:00
thorpej 442aff9376 Say what I really meant in a printf()... 1995-10-04 08:39:14 +00:00
thorpej f060c456de Couple of changes:
* Implement TIOC{G,S}FLAGS; ttyflags works now.
	* Reset the card on a "fresh open" as a sanity measure.
	* Make dcmopen() and dcmclose() a little more like the
	  corresponding routines in the new dca.c
1995-10-04 06:39:06 +00:00
thorpej f12fd2307e Driver for HP 7974a, 7978a/b, 7979a, 7980a, and 7980xc 9-track HP-IB tapes.
Original version contributed to Utah by Mt. Xinu.  Ported to 4.4BSD by
Mark Davies and Andrew Vignaux.
1995-10-02 00:28:20 +00:00
thorpej 6143739a03 Acknowledge the Archive Viper 60 tape. Fixes pr-863. 1995-08-04 08:17:43 +00:00
thorpej fc1f217977 Update for conf.h changes. 1995-08-04 08:12:57 +00:00
thorpej 62572d6658 Kill bogus if_addrlist check. 1995-08-04 08:08:41 +00:00
mycroft 3126edd708 Arrest the KNF policeman. 1995-06-02 17:51:21 +00:00
hpeyerl caef1dfaa2 KNF police. 1995-05-24 13:12:12 +00:00
christos de42a28a1b - added sunos_machdep.c for sun3, atari, amiga and mac68k.
- changed machdep.c and trap.c to use struct emul.
- remove ep_setup references.
- added struct emul to all emulations.
1995-04-22 20:24:40 +00:00
mycroft 44e9c73f2c Update for global changes. 1995-04-19 22:16:30 +00:00
mycroft f1e8ea1dcc Kluge the *tty() routines until this port is converted to config.new. 1995-04-19 19:15:47 +00:00
mycroft e25c1817cf kernel_pmap --> pmap_kernel() 1995-04-10 13:08:28 +00:00
mycroft 374185caff Most of the console functions return void. 1995-04-10 01:01:40 +00:00
mycroft 5ca64d4b70 hilmap --> hilmmap 1995-04-10 00:58:36 +00:00
mycroft 0323181eb1 Switch grfmap and grfmmap. 1995-04-10 00:58:10 +00:00
jtc 71ab4ed9dc KERNEL -> _KERNEL 1995-03-28 18:13:48 +00:00
mycroft b39bd2f2d3 Move common code for finishing a buffer into a separate function. 1995-02-23 22:23:40 +00:00
mycroft 96d96ccc04 Do not allow opening a device which is not `alive'. 1995-01-18 10:02:43 +00:00
mycroft 923bbe6e3b Various diffs from Mike Hibler; necessary for mt driver. 1995-01-07 10:30:10 +00:00
mycroft 2012971fa4 Fix typo in previous. 1994-12-16 04:00:21 +00:00
mycroft b0e55a5994 Add dummy itestart(), and use ttrstrt() rather than a local version of the same. 1994-12-13 14:20:33 +00:00
cgd 132b41434c new RCS ID format. 1994-10-26 07:22:45 +00:00
mycroft 53c4d8a7e6 Fix byte order problem in multicast filter calculation. 1994-09-29 21:24:12 +00:00
mycroft 775fc8b821 Add LED frobnication code, from 4.4-Lite. 1994-09-18 00:43:19 +00:00
mycroft a18c0c0d83 Look for errors in the right place in a transmit descriptor, and count
collisions.
1994-07-25 22:54:58 +00:00
mycroft e307d33fdc Clean up deleted files. 1994-07-24 02:10:46 +00:00
cgd 930318d5aa get device.h from the right place 1994-07-16 06:24:46 +00:00
mycroft e88e13f3bb Fix a bogon relating to >16-bit addresses that I introduced. Fix up BPF
support for received packets.
1994-07-15 21:20:48 +00:00
mycroft db0e00db86 Clean up a bit. 1994-07-10 17:53:12 +00:00
mycroft 60b6c8c0fe This #endif got truncated... 1994-07-07 01:31:00 +00:00
mycroft f810838a9c Speed this up a bit, do multiple transmit buffers, etc. 1994-07-06 01:36:23 +00:00
mycroft 81c61dc857 Clean up deleted files. 1994-06-24 14:09:07 +00:00
mycroft 87dcadd3d9 Clean up deleted files. 1994-06-06 14:42:14 +00:00
mycroft 0dfc96374d Bug fixes from Mike Hibler. 1994-05-27 17:18:50 +00:00
deraadt 2f0d61f95f match char->u_char change in tty subsystem 1994-05-25 20:22:54 +00:00
mycroft 072c027a70 Somehow this got truncated by 8 bytes... 1994-05-25 13:13:32 +00:00
mycroft 2cc3c47f28 Clean up deleted files. 1994-05-25 11:57:56 +00:00
mycroft b13c6f81a6 Merge with 4.4-Lite. 1994-05-25 11:47:14 +00:00
mycroft 031e9700a7 MIN --> min 1994-05-24 11:26:02 +00:00
mycroft 374ffaf7a4 Merge with 4.4-Lite. 1994-05-23 06:01:20 +00:00
mycroft 247d9ba6f1 Clean up deleted files. 1994-05-23 05:59:34 +00:00
mycroft c1e1831b84 Merge with 4.4-Lite. 1994-05-23 05:58:16 +00:00
cgd 21280fa872 pass pointer to vm_map, not vm_map 1994-05-17 10:27:49 +00:00
mycroft 41719a1259 Update to match other code. 1994-05-13 08:36:17 +00:00
mycroft bbc1b37ee0 Get rid of private *read() and *write() functions. 1994-05-11 10:16:11 +00:00
mycroft 89a5de9e12 Most of the changes needed to make this continue to run. 1994-05-05 10:10:21 +00:00
mycroft 495d3519fa HPUXCOMPAT -> COMPAT_HPUX 1994-05-04 04:02:54 +00:00
mycroft e3e3d72f66 Update to match proc.h. 1994-05-04 03:47:10 +00:00
hpeyerl a2bafbde7f Make hil input work. From <deraadt@fsa.ca> 1994-04-10 22:12:32 +00:00
hpeyerl b97e243bba Delete MAP_FILE here too. 1994-04-08 06:32:26 +00:00
hpeyerl c19b5f314c SCSI disklabel support complete with Duct Tape (tm). 1994-02-22 07:17:22 +00:00
mycroft 04bedf2b62 Fix a couple of bogons I just created. 1994-02-16 21:07:22 +00:00
mycroft c540418d24 Use IFF_ALLMULTI correctly. 1994-02-16 20:15:18 +00:00
mycroft a06d1b4301 Fix some weirdness in the multicast initialization. 1994-02-14 23:03:54 +00:00
mycroft d2c5a70266 Rearrange some #includes. 1994-02-10 14:55:29 +00:00
mycroft 20f96b580e Add arg to ioctl functions. Clean up #includes. 1994-02-10 13:59:25 +00:00
mycroft 70a4b20dfa Use b_actb, not b_actl. 1994-02-06 07:24:58 +00:00
mycroft e0cbda5321 Add a prototype, to eliminate silly warnings. 1994-02-06 01:32:31 +00:00
mycroft 3738793f03 Remove outdated console handling code. 1994-02-06 01:08:36 +00:00
mycroft f1827085d7 Strict prototyping and a couple of other nits. 1994-02-06 00:46:02 +00:00
mycroft ea15b558a8 Use common version of cons.c. 1994-02-06 00:44:26 +00:00
mycroft 442a100145 Increase # of transmit buffers. 1994-02-05 15:08:47 +00:00
mycroft cd2e9eb071 Remember to set txcnt before it bites me. 1994-02-05 15:04:18 +00:00
mycroft 0ee7464aba Allow multiple transmit buffers to be outstanding. Original code by Hibler;
some cleanup by me.
1994-02-05 06:58:08 +00:00
mycroft ebb4a096a1 Add multicast support. Lots of other cleanup, mostly from the SPARC port. 1994-02-05 05:06:54 +00:00
mycroft 1ef3aa2cc7 Fix Theo's typos. 1994-01-30 18:42:47 +00:00
mycroft 106118de0d Remove bogus declaration. 1994-01-30 18:30:45 +00:00
mycroft 9daf893372 Someone should fix his damned tabs after pasting code. 1994-01-25 13:10:21 +00:00
brezak 5aba563da8 Rudimentary disklabel support. 1994-01-25 03:19:15 +00:00
deraadt 87568b1c96 delete RMP code
ether_input() takes ether_type in net byte order now
1994-01-24 00:25:21 +00:00
mycroft efdb9fa688 *strategy functions return void. 1994-01-11 17:19:37 +00:00
mycroft 24aa7f14b4 Turn panic button into a debugger trap if DDB. 1994-01-09 21:36:55 +00:00
mycroft fc1d105e0a Dummy iteattach() for new config. 1993-12-06 13:27:49 +00:00
mycroft 12bd3cc33c Fix a couple of compiler warnings. 1993-12-06 13:14:16 +00:00
cgd 76dbc1192b new specfs.h and fifo.h locations 1993-11-12 05:54:12 +00:00
mycroft 15567ab7a7 Add missing arg to vm_mmap() call in grfmmap(). 1993-09-06 02:24:08 +00:00
mycroft e4f1378e00 For some reason I don't understand, a change disappeared from the CVS tree. 1993-09-02 19:04:41 +00:00
deraadt 9aed375ba3 tty XXstart() routines return void 1993-08-29 13:46:31 +00:00
mycroft 42f5032320 Just comment out undefined hilq_to_b (for now). 1993-08-08 03:44:10 +00:00
mycroft fbde833e5f Avoid `e-' in numeric constants. 1993-08-08 03:42:35 +00:00
mycroft e57b84a1a2 Slight restructuring to avoid relying on the tty structure associated with
an ITE until we're sure it's allocated.
1993-08-08 03:35:26 +00:00
mycroft d3268a7616 Modified to use disklabels. Needs more work, but this at least boots. 1993-08-07 20:48:38 +00:00
cgd 18a419e9bb some more ring buffer -> clist changes 1993-08-07 04:42:15 +00:00
mycroft 4862b84c92 Add RCS identifiers (this time on the correct side of the branch), and
incorporate recent changes in netbsd-0-9 branch.
1993-08-01 19:22:24 +00:00
mycroft 3be4221095 Change tty code to use clist interface, but with ring buffer implementation.
Also, fix a couple of bugs in tty.c and pccons.c, and some gross kluginess
in the hp300 stuff.
1993-07-12 11:36:53 +00:00
deraadt 7afa674eb4 the "struct tty *cn_tty" field in cons.c wasn't being used by anything 1993-07-07 11:12:26 +00:00
cgd bd0c8f83d5 changes for ring buffers vs. clists. 1993-07-07 07:07:20 +00:00
cgd f98105c8ce use ringb rather than clist 1993-07-04 02:26:54 +00:00
mycroft 941652ff62 This has got to be a bug. 1993-07-01 18:04:16 +00:00
cgd f1b8c74730 make getc() and ungetc() be rb{un,}getc(), so getc() and ungetc()
don't conflict w/ansi prototypes...
1993-06-06 23:04:42 +00:00