Commit Graph

257 Commits

Author SHA1 Message Date
thorpej
73b24faec6 Do a bit of spring cleaning. 1997-05-05 21:02:39 +00:00
thorpej
82cab4fef4 Prototype dio_intr_establish() and dio_intr_disestablish(). 1997-05-05 21:01:33 +00:00
thorpej
5bada123f8 - Initialize the DMA controller in dioattach().
- Implement dio_intr_establish() and dio_intr_disestablish().
1997-05-05 21:00:32 +00:00
thorpej
0a8e2a9ce8 Use dio_intr_establish(). 1997-05-05 20:58:18 +00:00
mycroft
fc324bb0b9 Eliminate unused variable when !USELEDS. 1997-05-03 07:09:57 +00:00
thorpej
772891accd Use information provided by <machine/hp300spu.h> to determine if we
might have a physical address cache.
1997-04-27 21:02:34 +00:00
thorpej
650df29d4d These files depend on things in <machine/hp300spu.h> 1997-04-27 20:58:55 +00:00
scottr
ea528012b3 dcmreadbuf() should not return immediately if the tty hasn't been opened;
this fixes a kgdb goof.  Found by inspection.
1997-04-15 22:45:14 +00:00
thorpej
4767ae8d9d Regsiter description for APCI UART found on HP 9000/400-series
systems with a Frodo Utility Chip.  This is essientially an 8250 with
3 bytes of padding between each register.  From mike smith
<miff@spam.frisbee.net.au>.
1997-04-14 20:36:11 +00:00
thorpej
a78807e04c Update for interrupt function and header name changes. 1997-04-14 02:33:16 +00:00
thorpej
6f791ab8b2 Remove unnecssary #include. 1997-04-14 02:31:33 +00:00
thorpej
064d13e0ad Remove unnecessary softc member. 1997-04-14 02:30:45 +00:00
thorpej
f0f9811df2 Use the %x printf format where appropriate 1997-04-09 20:01:04 +00:00
mycroft
1929ddf09c Fix some #ifdef lossage if HP340, HP360, or HP375 is defined, but HP370 is not. 1997-04-06 21:40:35 +00:00
scottr
be3e57de4a Changes to make a dcm-based console work properly:
- While servicing an rx, tx, or modem status interrupt:  if we have a
   NULL struct tty * or if the tty isn't open, just return.
 - Skip the self test if we are the console; it manages to do funny
   things to autoconfig messages.  (XXX - this should be fixed)
1997-04-04 18:16:07 +00:00
thorpej
2c0d2cb557 #ifdef DIOVERBOSE a variable needed only in such code. 1997-04-04 09:53:43 +00:00
scottr
aa88a240fe Fix printf() and other warnings when compiled with DEBUG defined. 1997-04-02 22:37:21 +00:00
scottr
5be5fe416e Relocate some prototypes needed for COMPAT_HPUX to hilvar.h 1997-04-01 19:29:09 +00:00
scottr
66c9485803 Add prototypes, and make this compile with -Wall. 1997-04-01 03:10:57 +00:00
scottr
43b1b8c08a Relocate some prototypes needed by other MD code. 1997-04-01 03:07:19 +00:00
scottr
c008fc0aa0 Add prototypes, and make this compile with -Wall. Remove register
modifier from all declarations.
1997-03-31 07:32:14 +00:00
scottr
ea23ab53c3 Add missing argument to diagnostic printf() 1997-03-31 07:30:41 +00:00
scottr
52cb2d2955 Add prototypes, and make this compile with -Wall. Remove register
modifier from all declarations.

Also, handle sc_flags better so that we don't lose track of the
DCM_ISCONSOLE bit.
1997-03-31 07:29:49 +00:00
thorpej
3878faec9c Fix a bogus argument to dmafree(), from Scott Reynolds. 1997-03-31 01:05:19 +00:00
mycroft
e44dc60fc6 Fix editing error in new config changes. 1997-03-22 00:17:59 +00:00
thorpej
12c0a8c5c8 Correct keyboard map references in the default case. From
Klaus Klein <kleink@layla.inka.de>, PR #3361.
1997-03-20 08:07:01 +00:00
thorpej
1d987a161b #include <net/if_media.h> 1997-03-17 03:17:34 +00:00
is
07b064e02e New ARP system, supports IPv4 over any hardware link.
Some of the stuff (e.g., rarpd, bootpd, dhcpd etc., libsa) still will
only support Ethernet. Tcpdump itself should be ok, but libpcap needs
lot of work.

For the detailed change history, look at the commit log entries for
the is-newarp branch.
1997-03-15 18:09:08 +00:00
thorpej
dc1020fe40 Print the interrupt level in scsiattach(). 1997-03-10 08:37:31 +00:00
thorpej
2a0c6f4a0a Use splkbd(). 1997-02-02 09:40:31 +00:00
thorpej
47e3ffe813 Definition of splhil() is in param.h now. 1997-02-02 09:39:21 +00:00
carrel
05c0e704dc Make "options HP340" actually work without having "option HP360". 1997-01-31 23:01:21 +00:00
carrel
32f2102a58 Patch from thorpej to mark non-console grf's and ite's alive. 1997-01-31 21:16:50 +00:00
thorpej
d26d94a7a5 Regen to clear up RCS id snafu. 1997-01-30 09:20:42 +00:00
thorpej
cb63bb9de5 Garbage-collect all old-style autoconfiguration support; it is no
longer supported.  The hp300 port uses new config now.
1997-01-30 09:18:33 +00:00
thorpej
9bb27910a9 Convert to new-style autoconfiguration; old-style config is no longer
supported.
1997-01-30 09:14:10 +00:00
thorpej
f19d55d659 - Garbage-collect the old-style configuration glue.
- Make sure we don't get interrupts in dcmselftest().
1997-01-30 09:11:24 +00:00
thorpej
f5bb637c10 - Convert these drivers to new-style autoconfiguration. Old-style
config is no longer supported.
- Use a much more obvious SCSI job queueing scheme.
1997-01-30 09:08:55 +00:00
thorpej
365324ec10 - Convert these drivers to new-style autoconfiguration. Old-style
configuration is no longer supported.
- Use a much more obvious HP-IB job queueing scheme.
1997-01-30 09:06:51 +00:00
thorpej
d49c71cb8a - Use indicies, rather than pointer arithmetic, to track DMA chain
segments.
- Use a much more obvious DMA job queueing scheme.
- Fixup some debugging code.
1997-01-30 09:04:33 +00:00
hpeyerl
56542666eb fix an *old* booboo where the dma queue wasn't being set in unexpected
case.  Found, fixed, and dictated by jason. (thorpe)
1997-01-26 18:04:10 +00:00
thorpej
112e338d6b Fix botch in PA calculation for DIO-II devices. Bug noticed and fix
provided by Klaus Klein <kleink@layla.inka.de>, PR #3097.
1997-01-12 21:27:26 +00:00
scottr
cc061d0a98 Normally, iteon() returns an int. If NITE == 0, define iteon() to be 0.
Closes PR 3091.
1997-01-10 00:07:27 +00:00
scottr
b917ce3294 Bracket kernel structs with #ifdef _KERNEL so that bootblocks will once
again build.
1997-01-09 01:07:59 +00:00
thorpej
c56e780e4f Bring some sanity into my frazzled existence:
- Always ensure that RAW_PART ("c") can be opened.
- Disallow unused or non-existent partitions from being opened.
- Don't do bounds checking or partition translation on RAW_PART.
This is consistent with other disk drivers in the NetBSD source tree,
and fixes a condition where the user could not fix a corrupted disklabel
due to a bogus offset for partition "c".
1997-01-07 09:29:30 +00:00
thorpej
7373a43fcf Generate initial copies of these files. 1996-12-17 09:01:24 +00:00
thorpej
838edf78fd Snapshot of new config for NetBSD/hp300. This isn't quite finished yet.
We're about 75% there.  SCSI and HP-IB are not yet supported in a new
config kernel; some autoconfiguration hackery has to be done there, yet.
These changes are enough to network boot a diskless kernel.

New config glue is enabled with the "NEWCONFIG" kernel option.  If that
option is not present, an old config kernel will be built.  Any kernel
configured with config(8) will automatically pick up the NEWCONFIG
option from std.hp300.
1996-12-17 08:40:56 +00:00
thorpej
5dc95f5908 Garbage-collect DMAINTLVL; it's not needed any more. 1996-12-09 06:18:13 +00:00
thorpej
01667974d0 isrlink() now returns a cookie. We're not interested in the cookie, so
cast to (void).

Call dmacomputeipl() after we've hooked up our interrupt handler.
1996-12-09 03:16:26 +00:00
thorpej
648a1b19ae isrlink() now returns a cookie. We're not interested in the cookie, so
cast to (void).
1996-12-09 03:14:06 +00:00
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