Commit Graph

1108 Commits

Author SHA1 Message Date
mrg 9ad87ec76e remove some RCS id's we don't need. 1996-05-15 02:13:39 +00:00
mrg 16b514adc6 KNF some debug statements. 1996-05-14 13:57:29 +00:00
thorpej ebafcd57c2 Remove some comments in eeprom_uio() now that they're no longer relevant.
Add some whitespace to eeprom_take().
1996-05-13 21:39:53 +00:00
thorpej 1a79065f9f Enable DMA by default on the 4/100 "sw" controller; the DMA bugs appear
to have been fixed.
1996-05-13 01:53:45 +00:00
mycroft 540f9550c0 Make `make depend' work for libraries. 1996-05-11 16:11:30 +00:00
thorpej ac9df157aa 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 01:28:28 +00:00
thorpej ae87feee24 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 01:27:26 +00:00
thorpej 0e0d4f1ec2 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 01:24:48 +00:00
pk 0ba8565c86 mountroot: return error code to caller, not -1. 1996-05-04 19:36:01 +00:00
pk 4ac7468812 Various simplifications and corrections from Chuck Cranor (makes `oclock'
calibration work.. thanks!).
1996-05-02 18:17:33 +00:00
pk 504582ba83 Simpler and more accurate delay() function from Chuck Cranor. 1996-05-02 18:15:08 +00:00
thorpej 3fff2a8f83 Fix apparent paste-o ... spurious "}" 1996-04-30 00:56:45 +00:00
pk fa75ea39e1 Move delay() to locore, so we control code generation and can avoid
touching memory locations whose caching disposition can perturb timings.
1996-04-29 21:08:37 +00:00
pk e147a74bbb Chip needs much more time to think things over (up to 2 seconds to complete
a `recalibrate' command if no flop present).
1996-04-29 12:07:32 +00:00
thorpej dc5ff52131 dk_establish() returns void. 1996-04-28 20:25:59 +00:00
pk 646acc51d0 Map the pixels explicitly on the VME32 bus. 1996-04-23 19:34:05 +00:00
pk ee8f3dc1b8 Turn delay() into a calibrated loop. It's more accurate and compiles into
a `leaf' routine, avoiding unexpected large delays by overflowing the
register windows.
1996-04-23 19:25:25 +00:00
abrown 6b768c677a Now that we have lehwinit() for the Sun4m, make sure that we wait 20ms
after changing the cable type, as specified in the chip documentation.
Also, sanity-check that sc_dma is valid in case a Sun4m ever exists without
a ledma.
1996-04-22 03:57:29 +00:00
christos 90bc31d478 remove include of <sys/cpu.h> 1996-04-22 02:50:20 +00:00
christos a897ec996a Remove dependency on <sys/cpu.h> 1996-04-22 02:42:00 +00:00
christos bebf990150 Oops the name of the UTP/AUI bit changed under me... 1996-04-22 02:39:49 +00:00
christos 5253b892e9 Add a hardware dependent initialization function lehwinit()
to support selecting UTP media on sun4m
1996-04-22 02:37:10 +00:00
abrown 709298a10a - Changed Sun4m DMA chip support to detect and use maximum available SBus
burst size when transferring data.
- Changed ledma attach code to pay attention to the PROM's notion of what
  cable type is being used. Note that this patch does not fix the problem
  recently discussed on port-sparc; in most cases the PROM doesn't know
  what cable type is being used. The default is now TP rather than AUI,
  though. A complete fix is forthcoming.
1996-04-22 02:34:53 +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
abrown a0b7376b16 Add prototype and fix return type of blink() so "options BLINK" works
with -Wall -Werror
1996-04-13 17:40:03 +00:00
thorpej b3897170bd Haven't used "options RCONSOLE" for a long time. Update to the new
"options RASTERCONSOLE".  Noticed by cgd.
1996-04-11 21:54:13 +00:00
thorpej e17cddf913 If the power device is configured, don't forget to compile the driver.
Also, add some whitespace for readability.
1996-04-11 21:05:42 +00:00
thorpej 41a08fd254 Include fdc.h, not fd.h, due to change in files.sparc. 1996-04-11 19:20:03 +00:00
pk c0919485d4 Move some of the SCSI target juggling to autoconf's fake_bootpath() routine.
Fix incorrect interpretation of bootpath's val[2] as a SCSI unit.
1996-04-10 20:48:35 +00:00
pk e4394459a1 `bootdv' is gone. Instead, set the device pointer in the `struct bootpath'
that is passed in the attach arguments.
1996-04-10 20:46:05 +00:00
pk c28fcc3539 Use extra value in `struct bootpath' to describe the PROM's bootpath better.
Use the bootpath[] array in setroot() to determine partition info in case
of boot devices of type DV_DISK. Also, precook more SCSI device info in
fake_bootpath() to simplify dk_establish().
1996-04-10 20:40:14 +00:00
pk 5f2d466997 Make room for another `value' in struct bootpath. Drop the global `bootdv'
in favour of storing the device pointer in the bootpath[] element corresponding
to the boot device. This also allows the opportunity to get to "intermediate"
devices (e.g. busses) should the need for this ever arise.
1996-04-10 20:33:38 +00:00
pk 4c26e95dde Initialize relevant elements of the `romaux' structure in romprop(). 1996-04-09 15:24:00 +00:00
pk 1a1a8ba8c9 Undo unintended change in previous commit: _mcount is static. 1996-04-08 20:55:36 +00:00
thorpej 940ccbc5df Fix typo that caused sun4 machines to be misidentified as sun4c-class.
Fixes reported problem of binstall not stripping the a.out header from
the boot block on sun4 machines.
1996-04-07 20:00:12 +00:00
thorpej 77366064b8 Fix oversight in sun4m changes: the CPU attach code moved, so the CPU
was never getting attached on a sun4 machine.  Fix this so that the
cache and FPU get enabled on sun4 machines.  (Believe me, a 4/260 is
slot enough, *with* the cache...)
1996-04-07 06:02:20 +00:00
thorpej 56fed0c102 Fix slight oversight in previous change. 1996-04-07 05:50:59 +00:00
thorpej d68e57ee64 Make this compile again on a SUN4-only kernel. (Avoid "unused foo"
warnings from gcc -Wall.  While the optimizer is smart enough to
eliminate dead code, it looks like the rest of gcc doesn't Get It.)
1996-04-07 04:48:46 +00:00
chuck e50fc72424 make netbsd/sparc boot on sun4 once again. the sun4m changes introduced
config lines for obio0 devices without addresses (thus cf->cf_loc[0] took
the default value of -1).   we now ignore these entries on a sun4 since
they could never be valid (eliminates a 'panic:alignment' fault at bootup).
1996-04-05 21:50:05 +00:00
chuck a7c600676f make netbsd/sparc boot on sun4 once again. the sun4m changes introduced
config lines for obio0 devices without addresses (thus cf->cf_loc[0] took
the default value of -1).   this caused autoconf.c to map memreg0 to
obio physical address -1 (invalid).   as soon as we took a memory fault
the code in memfault_sun4 [locore] would get a Watchdog timeout when trying to
read memreg0 (a.k.a. par_err_reg).
1996-04-05 21:44:25 +00:00
pk 8eeab3102b Probe clock registers on sun4s to make sure we attach the correct device
(sun4m has clocks at obio too).
1996-04-04 23:55:47 +00:00
pk 8e427a346f Check for frame pointers we can handle (i.e. in kernel space). This prevents
data faults when tracing proc0's context.
1996-04-04 23:25:35 +00:00
abrown 1372d856d7 cpu.c: correctly identify Sun4m associative caches
kgdb_stub.c: make it compile again with Sun4m-only kernel
1996-04-04 23:06:32 +00:00
abrown 1068aa5751 Add back support for cached DVMA on SuperSPARC (sun4m) machines that was lost
during merge
1996-04-04 23:05:22 +00:00
pk b0fd2dabcb Include fd.c if (fdc | fd), so we're not obliged to define a device
at fdc.
1996-04-04 22:57:55 +00:00
cgd 83f9bdc359 update for the fact that config_found() and config_rootfound() now
return pointers.  (Check vs. NULL, rather than just boolean tests.)
1996-04-04 06:25:00 +00:00
cgd 7bc2baeb01 update for the fact that 'alldevs' is now a TAILQ. 1996-04-04 00:27:24 +00:00
pk 7311f0da23 Late-breaking patch from Aaron. 1996-04-01 21:09:39 +00:00
christos 10ffa5da40 Fix warnings when SUN4M is not defined. 1996-04-01 19:16:41 +00:00
christos 3dbbc8d3e9 Fix another printf format argument. 1996-04-01 17:37:08 +00:00
christos 4bdb6550cb Added missing prototypes and include files, fixed parentheses so that it
compiles cleanly.
1996-04-01 17:36:20 +00:00
christos 362a6875bf Remove last dependency to dev_conf.h and the file itself. 1996-04-01 17:34:34 +00:00
christos f34addbb3b - remove dependency to dev_conf.h
- remove unneeded casts for %b
1996-04-01 17:33:10 +00:00
christos 34f644d1b9 Remove casts of printf args for %b format. 1996-04-01 17:31:38 +00:00
christos dc6ff48df6 Eliminated dependencies on dev_conf.h 1996-04-01 17:29:44 +00:00
pk 25b6ab86fe Update device list. 1996-04-01 00:20:31 +00:00
pk 3cf5ed1f30 Various cleanup; mostly trailing spaces/tabs. 1996-03-31 23:44:53 +00:00
pk 8347d3f584 The sun4m name for this device is "auxio". 1996-03-31 23:43:21 +00:00
pk 301e978cf8 Various sun4m-related changes straight from Aaron. 1996-03-31 23:38:29 +00:00
pk e0344005b4 Changes to match 4m-aware locore.s. Note changed `trapbase' and
`sparc_interrupt_{44c.4m}' labels.
1996-03-31 23:35:20 +00:00
pk e743dda2a9 Update for 4m locore.s. Remove some items, since locore.s now #includes
param.h
1996-03-31 23:28:03 +00:00
pk cf4009e56c Include support for sun4m timers and counters: hardware register layout
has changed. There is a counter for each CPU (currently, just one supported).
1996-03-31 23:24:59 +00:00
pk 8de1fd22bc Add sun4m support. Many, many changes..
Note on multi-architecture kernels: most architecture dependent traps are
forked off directly by having a separate trap table for each (sun4,sun4c,sun4m)
This reduces the number of tests on `cputyp' significantly, and it's easier
on the mind. There are still some entry points that need to test `cputyp',
most notably microtime().. yuck.
1996-03-31 23:19:22 +00:00
pk 6d76616bf0 The sun4m IOMMU "device". 1996-03-31 23:09:32 +00:00
pk 7b55c61c27 Include support for sun4m timers and counters: hardware register layout
has changed. There is a counter for each CPU (currently, just one supported).
1996-03-31 23:07:59 +00:00
pk df2a68f25b Add sun4m VA definitions (for clock and interrupt).
Make these generic for all architectures (i.e. avoid `#if defined(SUN4*)'s).
1996-03-31 23:03:31 +00:00
pk ff109a19a3 Accomodate sun4m CPUs and caches (Aaron). Cache handling needs to be
revised.
1996-03-31 23:00:40 +00:00
pk df08150880 Updates for sun4m. 1996-03-31 22:57:09 +00:00
pk 35802bf06b Accomodate sun4m device layout (v3 PROM) and special 4m startup goo.
Heavily cleaned from most `#if defined(SUN4*)' stuff in favour of
CPU_ISSUN4* macros.
1996-03-31 22:55:33 +00:00
pk 678fbb4806 sun4m device definitions and bus structure. 1996-03-31 22:52:38 +00:00
pk b2d12c182b Aaron's sun4m-related trap handling (memory faults).
Note that fork() no longer return in syscall() in the child.

Add a couple of `#ifdef DEBUG's.
1996-03-31 22:51:58 +00:00
pk d15de4b09b Initialize DMA addresses properlier in cpu_startup().
dumpsys(): do not try to dump first physical page, this fucks up pmap_extract().
1996-03-31 22:48:24 +00:00
pk 3c89c0901d Aaron's SRMMU/sun4m pmap implementation.
Note: multi-architecture kernels use function pointers for several PMAP
entry points.

Cut down the `#if defined(SUN4*)' mess severely by using CPU_ISSUN4*
macros (see machine/param.h) wherever possible.
1996-03-31 22:42:59 +00:00
pk 2f3ec93250 Various cleanup; mostly trailing spaces/tabs. 1996-03-31 22:38:29 +00:00
pk 66539854e8 Diddling of the `power' bit in machine control register (Aaron). 1996-03-31 22:34:40 +00:00
pk 954302ae70 Handle sun4m `ledma' and `espdma'.
DMA setup requires services of the IOMMU.
1996-03-31 22:32:45 +00:00
pk 7e45b3449f Re-arrange a bit to stear clear of gcc `-Wall' bites. 1996-03-31 22:30:50 +00:00
pk 25aa56ae29 Handle sun4m `obio' devices.
Cleanup `#if defined(SUN4*)' mess.
1996-03-31 22:28:38 +00:00
pk 96f175d477 Add sbus_translate() to deal with slot address translations, including
new v3 PROM style "range" properties. This routine is also called from obio.c
(which can be viewed upon as just a another Sbus slot).
1996-03-31 22:27:15 +00:00
pk 345295ff08 Deal with sun4m le/ledma. Work around spurious interrupt problem (aaron). 1996-03-31 22:22:52 +00:00
pk bb0897eec6 Various cleanup; mostly trailing spaces/tabs. 1996-03-31 22:21:21 +00:00
pk 1c8b452515 Add a non-interrupt-priority-lowering version of SPL(). Used by splpmap()
at the moment.
1996-03-31 22:20:14 +00:00
pk 76404b0bbe Add sun4m CPU/MMU identifications. 1996-03-31 22:18:16 +00:00
pk 5703b83d00 Move autoconf subroutine prototypes to autoconf.h
Deal with sun4m `software interrupts'.
1996-03-31 22:17:14 +00:00
pk 8d9fbd0949 Add some v3 PROM glue.
Move autoconf subroutine prototypes here (from cpu.h).
1996-03-31 22:12:34 +00:00
pk 0ab4a52862 Add SRMMU/sun4m support. Size and layout of `struct pmap' has changed. 1996-03-31 22:09:13 +00:00
pk 922201e06a Add SRMMU/sun4m definitions.
Cleanup (i.e. mostly delete) `#if defined (SUN4*)' in here.
1996-03-31 22:06:55 +00:00
christos b646bc023a New md conf.h per Jason's plan. 1996-03-30 21:17:55 +00:00
christos 393ad3332b Don't need this anymore; it's data are moved to <machine/conf.h> and conf.c 1996-03-30 21:15:03 +00:00
christos 2d29d17da3 Deprecate use of *_conf.h and use only <machine/conf.h> and <sys/conf.h> 1996-03-30 21:13:53 +00:00
christos c3a3efa9e6 Fix db_printf formats. 1996-03-30 21:13:02 +00:00
christos 32fe9b6a79 iUse <machine/conf.h> instead of sparc_conf.h 1996-03-30 21:12:16 +00:00
christos e4397b82d7 Use machine/conf.h, instead of sparc_conf.h 1996-03-30 21:11:33 +00:00
christos a1777d0168 Remove u_int casts from the printf %b formats. 1996-03-30 21:10:37 +00:00
christos 564084ce99 - add the GETHRTIME and GETHRVTIME traps. Do the best we can for them.
- getcontext() fills the stack_t portion of the context with an 8k size
  stack, 0 flags, and below our current stack pointer. I am not sure where
  to set the pointer. Thanks pk [2-2] for noticing that.

Now netscape and java work...
1996-03-26 19:09:31 +00:00
christos 70e15a2ba9 Make fpu_regs a union of doubles and ints to get the alignment of the
machine dependent portion of the context correct. Thanks pk [1 of 2]!
1996-03-26 19:04:48 +00:00
pk c299fd2d61 Bitfields are unsigned. 1996-03-26 01:28:50 +00:00
pk a8564828ee Back to normal printf()s, now that gcc understands `%b'. 1996-03-26 00:35:25 +00:00
mrg 8d14f53bd0 install stand tools. 1996-03-25 22:48:09 +00:00
pk 3d5031d609 PROM does not like %p's.. 1996-03-25 20:46:56 +00:00
pk 2dd9317452 Remove reference to sense code "internals". 1996-03-23 21:09:04 +00:00
christos 3c3a955cf2 Avoid unused label warning. 1996-03-18 21:48:19 +00:00
christos 4d4d2d999a Remove 'volatile' from the romhalt and romboot routines, and local prototype
declarations.
1996-03-17 21:40:11 +00:00
cgd 94907fa254 adjust to deal with expression support for optional file specs 1996-03-17 13:21:09 +00:00
pk 59ff996be6 Avoid "unused variable" warning. 1996-03-17 03:19:34 +00:00
thorpej 3cd14f7597 New device attachment scheme:
- split softc size and match/attach out from cfdriver into
	  a new struct cfattach.

	- new "attach" directive for files.*.  May specify the name of
	  the cfattach structure, so that devices may be easily attached
	  to parents with different autoconfiguration semantics.
1996-03-17 02:00:30 +00:00
mrg 4fe3a900f3 comment: LEAPYEAR is not entirely correct 1996-03-17 00:56:24 +00:00
christos 5b2bf5a548 add rom routines declarations 1996-03-16 23:51:44 +00:00
christos 64356e6df3 fix printf format strings 1996-03-16 23:31:45 +00:00
christos dafa7f2c60 fix format strings. move rom routine decls in bsd_openprom.h 1996-03-16 23:31:42 +00:00
christos ed2239daea Fix format strings in panic() 1996-03-16 23:31:40 +00:00
christos 0c4805af23 Fix typo in fsrtoname() use && as intended instead of & 1996-03-16 23:31:36 +00:00
christos 4b636d71eb cast argument to probeget() 1996-03-16 23:28:37 +00:00
christos 2cb7b87853 fix formats in printf() and panic() 1996-03-16 23:28:35 +00:00
christos 5c32202b7e fix format in printf() 1996-03-16 23:28:33 +00:00
christos fe4bb997c9 fix format in panic() 1996-03-16 23:28:30 +00:00
christos 09ff5d56a7 fix format in printf() 1996-03-16 23:28:28 +00:00
christos aab8906300 fix format in log() 1996-03-16 23:28:27 +00:00
christos f2b8b6e73e include <sys/systm.h> 1996-03-16 23:28:25 +00:00
christos 02bcb06a88 This could have never worked (fb in attach was never initialized); include <sys/systm.h> 1996-03-16 23:28:23 +00:00
jtc 2ce5f1478b Add _BSD_WINT_T_ definition so we can handle wint_t type added in NA1. 1996-03-16 01:31:45 +00:00
christos 6d492269e0 Add -Wall -Wstrict-prototypes -Wmissing-prototypes
to the kernel build. The sparc is clean now!
1996-03-15 00:02:28 +00:00
christos 9af46afa21 Fix prototypes for the latest kpc changes. 1996-03-15 00:01:21 +00:00
christos 9673aca601 Fix prototypes that were added with the latest kpc changes. 1996-03-15 00:00:39 +00:00
christos 9c75606e8c Add prototypes and fix bugs:
- softclock was called with extra argument.
    - missing %x formats in printf's
    - kgdb_copy called with only two arguments.

Fix conf.c so that it used the _conf.h files from other places instead of
rolling its own.
1996-03-14 21:08:50 +00:00
christos 9a07d9dec9 Add missing prototypes and fix the fp struct for svr4. 1996-03-14 19:49:04 +00:00
christos 03b701e393 Bring prototypes into scope and fix compiler warnings. 1996-03-14 19:44:30 +00:00
christos ab59f984ab Add and bring prototypes into scope. 1996-03-14 19:41:49 +00:00
pk 485ccae478 Insert child_return() for the benefit of child return path from cpu_fork(). 1996-03-14 00:55:59 +00:00
pk 0b1cba4b0b Implement cpu_set_kpc() and use its machinery to by-pass a child out
of the kernel from cpu_fork().
1996-03-14 00:54:34 +00:00
pk d48d8e1512 Install machinery for cpu_set_kpc(). 1996-03-14 00:54:06 +00:00
pk 808df5543f Remove cpu_set_init_frame(). 1996-03-14 00:49:20 +00:00
pk 894fde6bdd Remove __FORK_BRAINDAMAGE. 1996-03-14 00:48:30 +00:00
pk dc3c7fb2ba Actually enter executables where promised... 1996-03-14 00:11:29 +00:00
pk 90fb0cc9da Don't come down so hard on targets that ignore SDTR msgs. 1996-03-05 09:29:58 +00:00
chuck 9bb0e5dba5 Fix two bugs reported by Don Koch <aardvark@poirot.krl.com> (PR#2169)
[these bugs apply to the xy as well as the xd driver]
 [1] check return value from malloc() for NULL before trying to bzero it.
 [2] use "=" rather than "|=" when writing to CSR (otherwise you may
        ACK something you don't mean to!).
1996-03-04 20:13:39 +00:00
chuck 9fee13d104 Fix two bugs reported by Don Koch <aardvark@poirot.krl.com> (PR#2169).
[1] check return value from malloc() for NULL before trying to bzero it.
 [2] use "=" rather than "|=" when writing to CSR (otherwise you may
	ACK something you don't mean to!).
1996-03-04 20:11:32 +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
pk 855b6def84 Add ns_cksum. 1996-03-02 23:55:17 +00:00
thorpej 9f2837ac9b "oops", forgot to check this in...add entries for the cgfour and cgeight. 1996-03-01 08:11:00 +00:00
thorpej f579d1a485 Fix an operator precedence botch. *sigh* This just hasn't been my week. 1996-03-01 07:44:43 +00:00
pk abd3cf4df2 Don't reset `xs->retries'. 1996-02-29 23:33:48 +00:00
pk bf59310f69 Fix typo, and bring back VA hole handling. 1996-02-29 22:15:13 +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 93dff23036 Back out the "don't use DMA if SCSI_POLL is set" saftey-net. The
MI 5380 code did something I didn't really expect, which caused DMA
to disable itself if only DMA was enabled.  *grumble*
1996-02-29 03:28:38 +00:00
gwr 2de7b2e5cb update PMAP_PREFER 1996-02-28 22:44:33 +00:00
pk 8bea3309c3 Fix typo 1996-02-28 22:09:27 +00:00
thorpej 50c8d6cdb0 Oops...missed to places where I could have used CPU type macros. 1996-02-28 20:53:02 +00:00
thorpej edf9d66f32 First-cut support for P4 framebuffers. Currently supports P4 variants
of bwtwo, cgfour, cgsix, and cgeight.  Includes support for attaching
the overlay plane of the cgfour and cgeight as a bwtwo instance (a'la
SunOS).

P4 register descriptions, cgfour driver, and cgeight driver partially
derived from OpenBSD.

This code may still need polishing.
1996-02-27 22:09:14 +00:00
pk fe5a56ec9d Be sure to malloc() in page-sized units. 1996-02-27 13:17:01 +00:00