Commit Graph

679 Commits

Author SHA1 Message Date
thorpej 180c16eff6 Oops, forgot this required change in previous commit. 1996-06-26 18:11:24 +00:00
thorpej fc699e8440 Major revamp of the boot code.
- Good bye SYS_PBOOT and SYS_NBOOT, hello SYS_UBOOT (unified boot)
	  Currently supports booting from SCSI and HP-IB disk and network
	  from a single boot block.  Infrastructure for booting from
	  HP-IB tape is there, but it doesn't quite work yet.

	- Add a slightly modified version of Gordon Ross's "rawfs",
	  which provides a filesystem-like interface to tape devices.
	  Still needs debugging (see above).

	- Rename sys_inst.c to inst.c, so that the LIF directory entry
	  turns out right (used to look like SYS_SYS_I if loaded from
	  tape).

	- Add a "netio_ask" hint to netio.c, so that a special instnetio.o
	  doesn't have to be compiled for SYS_INST.  Defaults to using
	  bootparams, but if set, will prompt user for information
	  usually obtained from bootparams.

	- General cleanup.
1996-06-26 17:44:21 +00:00
thorpej 5253727570 From Ignatios Souvatzis <is@NetBSD.ORG>:
- handle fpfault properly on the 68040
	- properly distinguish between a bus error and an MMU fault
	  on systems with 68030 or 68851 MMUs
1996-06-23 05:48:12 +00:00
cgd 352d972c94 locc() is unused. Remove it from the machine-independent kernel interface. 1996-06-10 15:33:33 +00:00
thorpej 156eaa5f84 Add "needs-count" to the `ac' driver so an ac.h file gets generated. 1996-06-10 06:48:44 +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
hpeyerl 3e834c5e86 Update to reflect reality (such as it is). 1996-05-26 23:45:42 +00:00
mrg 1af2be6068 document PORTAL 1996-05-20 18:15:11 +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 62f7f3ad57 Implement a real delay calibration routine, adapted from Chuck Cranor's
mvme68k delay calibration algorithm.
1996-05-18 23:30:09 +00:00
christos 52d3532adb - remove cpu_exec_aout_prep_oldzmagic and use exec_aout_prep_oldzmagic 1996-05-18 15:58:07 +00:00
thorpej a8c7148dd2 XXX set up alldevs and allevents so that vmstat -i will work. 1996-05-18 01:39:57 +00:00
thorpej 63f4ec3e41 Put the vector table back in the text segment; putting it in the data
segment breaks doboot() on my 319 (but worked on my 380...bleh!)
1996-05-18 00:52:53 +00:00
thorpej 03fc26050d Put the vector table _after_ the temp stack. 1996-05-17 16:32:28 +00:00
thorpej 503413590e Changes for the new delay() function. 1996-05-17 15:38:08 +00:00
thorpej 91cb72e7ea remove the now unused MHz constants, add a declaration for vectab[],
and document some globals.
1996-05-17 15:37:07 +00:00
thorpej a5d6cd3a32 Move the vector table to the data segment. 1996-05-17 15:33:52 +00:00
thorpej d845719070 Add a new function, hp300_calibrate_delay(), which sets the delay constant
based on a model's known CPU speed.  cpuspeed value is now in MHz
instead of (MHz / 8).
1996-05-17 15:32:26 +00:00
thorpej 33e1caaf99 Couple of changes:
- New delay() function, modeled after sun3/mvme68k delay,
	  calibrated with a model's known cpu speed.
	- Use the defined constants for machineid and ectype
	  when determining what kind of machine we have, rather
	  than their expanded equivalents, for clarity.
	- Move the vector table to the data segment so that it
	  can be patched at run-time.
1996-05-17 15:27:26 +00:00
thorpej bbc04e2011 Define the machineid and ectype constants. 1996-05-17 15:20:55 +00:00
thorpej b20981c51d Remove cpuspeed from here. 1996-05-17 15:19:02 +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 7d279a797f Add a "_kernel_text" symbol, for libkvm. From Gordon Ross. 1996-05-16 23:53:10 +00:00
thorpej 31526bc8e8 These haven't been kept up to date... 1996-05-15 23:50:30 +00:00
mycroft 540f9550c0 Make `make depend' work for libraries. 1996-05-11 16:11:30 +00:00
scottr 6bd0d2c7eb Prototyping-related changes I missed the last time, from Thorsten
Frueauf.  Closes PR 2378.
1996-05-09 21:26:08 +00:00
scottr a7b314774d doboot() takes no arguments (from Thorsten Frueauf) 1996-05-09 21:17:04 +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
thorpej 090191b3aa 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.
1996-05-07 00:56:51 +00:00
scottr d84817d322 Fix prototypes of cpu_set_kpc() and pagemove(); closes PR 2367. 1996-05-02 20:49:20 +00:00
thorpej 270d48fd22 Add "void" return type to consinit(). 1996-04-27 00:39:59 +00:00
thorpej 8591bb3346 Prototype doboot() and give it the __noreturn__ attribute, so that
machdep.c will compile.
1996-04-27 00:38:44 +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 14bffff70d Add a stub config_init() function, so kernel will link. Temporary, until
we use new config.
1996-04-07 18:21:08 +00:00
christos ab0e60a42f fdopen -> filedescopen 1996-03-14 21:20:59 +00:00
scottr 4d30db274f Back out previous change. 1996-03-13 23:42:45 +00:00
scottr eb473e57bd Add second argument to longjmp() call. 1996-03-13 19:04:04 +00:00
cgd 18ec26aa21 add _MACHINE and _MACHINE_ARCH, which are like MACHINE and MACHINE_ARCH,
execpt without quotes.  meant to be __CONCAT()ted for easy #includes
of machine-dependent headers for MI code (e.g. for the MI ISA/EISA/PCI/TC
bus code).
1996-03-04 05:04:10 +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 570949e0e4 Catch up with ITE data structure changes. 1996-03-03 04:23:33 +00:00
scottr 9e8b6a032a Don't try to make dependencies for SFILES if it isn't defined. 1996-03-01 17:03:17 +00:00
cgd 3d67685d36 Do not build vnode_if.[ch] for each kernel. Build them once, like the
various syscall sources/headers, and just compile them.  From PR 2142, OK'd
by mycroft.
1996-02-29 20:54:58 +00:00
thorpej ee8a2c002f Copyright assigned to The NetBSD Foundation. 1996-02-28 01:01:17 +00:00
scottr f08c9ffa5a make this compile again, since CONUNIT is no longer defined for us.
per Jason.
1996-02-27 22:11:44 +00:00
thorpej 0adab4d779 Avoid accidentally lowering a devices console priority. 1996-02-26 23:40:29 +00:00
thorpej cf93780656 Adjust for the new console code; CONSCODE is now a kernel option, not
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.
1996-02-26 21:51:25 +00:00
mycroft 2ce52ae489 Define build programs with `?=', so they can be overridden with `makeoptions'. 1996-02-26 02:53:20 +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
gwr 946696f064 Add m68k/db_memrw.c 1996-02-22 23:35:07 +00:00
thorpej 94ca9f6aa0 New interrupt handling code. Highlights:
- 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
1996-02-14 02:56:38 +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
thorpej c88b047836 Compile the new interrupt handling code. 1996-02-14 02:33:25 +00:00
scottr b62a5cfd54 When we panic, be a little smarter about whether we need to wait
for the user to hit a key before we reboot.
1996-02-09 18:57:20 +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
scottr 4058c67702 Specify return type for vunmapbuf() 1996-02-09 16:58:40 +00:00
mycroft 753fe3a25a Fix mkdep problems due to missing flags. 1996-02-09 02:21:13 +00:00
christos 2c8314f73c vm prototype changes 1996-02-05 02:06:38 +00:00
thorpej 996edfa606 Remove bogus "return (0);" in rdmatch() that wiggled its way in uninvited. 1996-02-03 03:00:29 +00:00
mycroft d6b2d2e00f config.old uses vers.o, not newvers. 1996-02-03 01:17:22 +00:00
mycroft 5bc076e17e Use `-traditional-cpp' when building .s and .S files. 1996-02-03 00:43:50 +00:00
mycroft aa15cd3f7f Don't need unistd.h. 1996-02-02 23:53:20 +00:00
mycroft 56a63148c6 config.old doesn't grok %SFILES. 1996-02-02 23:49:19 +00:00
mycroft dcd66e9f4d Clone these, and fix many bugs. 1996-02-02 20:08:17 +00:00
scottr c0f37b4d05 Use DISKUNIT()/DISKPART() from <sys/disklabel.h> instead of
our own home-grown versions.
1996-02-02 19:50:26 +00:00
mycroft 9db20bf150 Don't define _KERNEL here. 1996-02-02 19:42:08 +00:00
mycroft 9d9a70a5a2 Fix #includes. 1996-02-02 18:05:36 +00:00
mycroft fc9d84fb46 assym.s -> assym.h
(Some ports did this already.)
1996-02-02 02:34:09 +00:00
mycroft 88e512b693 LOCORE -> _LOCORE 1996-02-01 22:28:24 +00:00
thorpej 134b410457 Use the common sigreturn routine. 1996-01-31 02:26:05 +00:00
thorpej 90a0b784de Build memcpy.c 1996-01-30 19:47:32 +00:00
thorpej abe8231c4f Catch up with changes to libsa. 1996-01-30 19:09:09 +00:00
scottr f9418ec605 Eliminate unnecessary goto and labels, and other minor cleanup. 1996-01-23 00:28:09 +00:00
thorpej cd17a6b3af Remove all the old STACKCHECK stuff; it hasn't been used for a long time. 1996-01-16 22:24:28 +00:00
thorpej 1eff435896 Use ${BINOWN} and ${BINGRP} per Arne H. Juul <arnej@ikke.idt.unit.no>
in PR #705.  Also, clean up some stuff left over from HP-BSD.
1996-01-15 01:41:37 +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 f1d8ca699f Oops, compile hpux_machdep.c if COMPAT_HPUX. Forgetfulness pointed
out by Dave Carrel.
1996-01-08 03:27:36 +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 d9bce7422e Move the obviously machine-dependent HP-UX compat code to hpux_machdep.{c,h}.
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...
1996-01-06 12:44:06 +00:00
jtc 2fce159ff8 Changed name of sigaltstack's ss_base field to ss_sp to match XPG4.2 and
traditional usage.
1996-01-04 22:21:33 +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 e7cf87f5dc Add the last revision previous to the switch to the MI LANCE code of
hp300/dev/if_lereg.h to the standalone code; the standalone LANCE driver
for the hp300 needs it.
1996-01-01 18:10:54 +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 67c76ca15d Print unconfigured card id and select code regardless of -DDEBUG. 1995-12-30 18:25:25 +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 9ba67f2c93 Increase maxusers from 16 to 32. 1995-12-29 17:16:29 +00:00
thorpej 9038d094fa Enable COMPAT_HPUX by default. It's still not 100% yet, but it doesn't
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.
1995-12-29 17:12:48 +00:00
thorpej 17eb6e2bc1 Move the old-style disk instrumentation "structures" to a central location
(sys/kern/subr_disk.c) and note that they should/will be deperecated.
1995-12-28 19:16:31 +00:00
mycroft ce000f04ef Remove deprecated cpu_setstack(). 1995-12-21 05:01:32 +00:00
thorpej 1094eb5008 Oops ... missed this file in the last round of device changes. 1995-12-11 19:41:47 +00:00
thorpej 540dfebf15 Rather than using individual HP300 model names, map those model names to
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.
1995-12-11 17:09:09 +00:00