a dca-specific constant. For now, hardwire standalone DCA console
at select code 9 (which is what the old constant expanded to). Really
should make the way the bootblock console is probed look just like how
the kernel console is probed.
- Interrupt service routines now take a pointer to
the device's softc, rather than a unit number.
- Interrupt handling code in locore.s condensed. Only
remaining "special" handlers are lev0 (spurious),
lev1 (HIL; don't ask), lev6 (clock), and lev7 (NMI).
Only remaining hard-coded device driver reference in
locore is HIL. (clock doesn't count...)
- "dcafastservice" eliminated. DCA driver has new mechanism
to guarantee prompt interrupt service at any ipl (not
just level 5).
- Interrupt code pulled out of autoconf.c and machdep.c and
placed in new file, isr.c
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();".
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.
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.
- 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.
A fair bit of this, the m68k core dump and exec goo, can probably be
made into a generic m68k hpux module, eventually.
More to be placed in hpux_machdep.c - keep your eyes peeled...
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?!
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.
seem to really hurt anything, either. Makes it easier for folks using
binary snapshots only to try it out.
GENERIC: now that the PT map allocation is fixed, increase the default
maxusers to 32.
properties such as "M68040" and "M68K_MMU_MOTOROLA", used to conditionally
compile code. This is more in-line with now the other m68k ports do it,
and makes it much easier to find "common ground" among them.
In locore.s, use the MMU-type constants defined my <machine/cpu.h> rather
than "expanded" values.
Because HP300-model names are mapped to CPU/MMU combinations in
<machine/cpu.h>, no change to kernel configuration will be necessary.
allocated, as noticed by Chuck Cranor. In addition to re-arranging
the assignment as suggested by Niklas Hallqvist, check to see if maxproc
is higher than the number of available user PTs. If it is, lower maxproc
to that value, the rationale being that it's much more desirable to have
fork() return EAGAIN than to have your system wedge.
XXX note that root can still raise maxproc with sysctl(2) later. It's
probably worth having further discussion about this issue, but until
everyone has time to think about it, this seems like an acceptable solution
for the time being.
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.
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.
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.
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.
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.
* 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.
* 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