Commit Graph

1098 Commits

Author SHA1 Message Date
mrg 6ce8e31376 change zsinfo to a zs_softc, and impliment intr counts. mostly from OpenBSD. 1996-05-28 14:06:28 +00:00
mrg 08bd090b26 count audio interupts (from OpenBSD). 1996-05-28 13:36:09 +00:00
pk 9913321bff CMP_PTE_USER_READ4M: check against PPROT_RWX_RWX; this is the canonical
stack protection (saves many excursions into trap.c on window underflows
as was the sole intention of the macro..).
1996-05-27 20:46:39 +00:00
pk d94f5b92f9 prototype mmu_pagein4m() #if DEBUG is on. 1996-05-27 20:29:03 +00:00
pk 75eb006fa2 No longer need to call mmu_pagein() through a pointer. 1996-05-27 01:13:02 +00:00
pk 522c1d367a mmu_pagein() is only useful on sun4/sun4c. For now, keep a `mmu_pagein4m()'
within `#ifdef DEBUG' for monitoring.

Push user windows to stack in pmap_extract() if we need to switch contexts.
1996-05-27 01:12:34 +00:00
pk 4fa564e10d Fix case where sequence state wasn't updated properly, resulting in
`disk_unbusy' panic.
1996-05-27 00:10:40 +00:00
pk 43b3743977 Implement CMP_PTE_USER_WRITE4M more accurately.
CMP_PTE_USER_READ4M needs some more work..
1996-05-26 22:33:31 +00:00
pk 2382529ecd Some more #defines. 1996-05-26 22:30:20 +00:00
pk f699a85094 sync with reality. 1996-05-24 23:18:23 +00:00
pk 3c13903472 Enable just enough interrupts to get "L1-A" through. Patch from Jason to
avoid spurious floppy interrupts on Jason's machine...
1996-05-23 22:35:11 +00:00
pk bc77c57c13 espattach() requires DMA to be configured. For now, panic if it is not. 1996-05-21 19:09:43 +00:00
pk 68691c178c Allow all esp dma channels to be called `dma'. 1996-05-21 19:07:30 +00:00
pk dc7e7814d9 Remove the `espdma' special case; all `esp' related dma channels are now
called `dma' on all architectures.  Note: `ledma' remains in place.

Also delete a couple of unneeded `needs-flag's in files.sparc.
1996-05-21 19:06:26 +00:00
pk 71943d50df Protect body of iommuattach() to be more resilient against configuration
file oddities.
1996-05-21 07:25:07 +00:00
pk 6da494dde9 Put a `return' back that went missing in rev 1.56 1996-05-20 10:49:20 +00:00
thorpej 722d0da592 RCS Id police. 1996-05-20 00:56:39 +00:00
pk 1bd6f1f147 We don't generally want to profile `genassym' (easy part of PR#2434). 1996-05-19 20:58:51 +00:00
mrg 0e4623e2f7 set the console struct winsize to the values given in the prom (sun4c/sun4m)
or the eeprom (sun4) when opening the console.  (note:  sun4 code untested
but jason claims it will `Just Work').
1996-05-19 13:00:43 +00:00
mrg fae3ba5c32 disable prom sync in romboot() and romhalt(), rather than before calling them. 1996-05-19 04:12:53 +00:00
pk d292da40b2 Remove obsolete HWTOSW/SWTOHW macros.
VA2PA: flush TLB before proceeding with L2 probe (per the manual) [4m].
More KNF.
1996-05-19 00:32:15 +00:00
pk 98a9570a8e Make sure DELAY(0) returns within an hour.. 1996-05-19 00:25:16 +00:00
mrg 9ce523cca7 disable the prom `sync' command before calling romboot() or
romhalt() (idea from OpenBSD).
1996-05-18 12:36:49 +00:00
mrg 4cba75e24a put promdev definition into <machine/bsd_openprom.h>.
also, minor KNF.
1996-05-18 12:35:18 +00:00
mrg b6988904e0 put promdev definition into <machine/bsd_openprom.h>. 1996-05-18 12:27:40 +00:00
mrg d7bc39fad1 don't set tmp twice. 1996-05-18 12:22:49 +00:00
mrg 68b2ff1bdb use __P 1996-05-18 12:19:14 +00:00
pk da5c96baa1 Correct an oversight and a silly past-o in last change. 1996-05-17 22:54:40 +00:00
pk 05379d078e Add `_kernel_text' symbol for kvm_mkdb(8). 1996-05-17 20:07:53 +00:00
abrown d9277a9036 Add Sun4m power0 power status/control register to GENERIC configuration 1996-05-17 18:02:56 +00:00
pk 2d2098c11b Check for `configuration parent' differently: compare against "sbus"
rather than "ledma".
1996-05-16 22:57:32 +00:00
pk b9f70e90d8 Add `flags' to the esp entries: disable disconnect & synch negotiation
by default until further notice.
1996-05-16 22:47:47 +00:00
pk e509f9aaeb Change attributes of `dma', `espdma' and `ledma' (the attributes on the latter
two didn't seem to make much sense anyway..) to allow `esp' devices to be
attached to one of `sbus', `dma' and `espdma'.

Remove the wildcarded `espdma?' and `ledma?' attachments of `esp' and `le'
respectively, in favour of `dma?' and `lebuffer?' (but the latter is not
yet implemented), which seems to better match reality: additional SBus
SCSI/Lance boards call themselves `dma' and `lebuffer'.
1996-05-16 22:38:04 +00:00
pk 3f1283a92f Re-arrange code that looks for the esp driver to allow for the fact that
any "dma" device (i.e. not just "espdma") can have an OBP child. This is
the case with (at least some) SBus SCSI boards.
1996-05-16 21:45:35 +00:00
pk 50e92fd71d Use configuration file flags to disable reselection and/or sync negotiation,
on a per target basis (until the driver can sort things out on its own).

Test against "sbus" in stead of "espdma" to find out where in the
configuration tree we are: an esp can be the child of a "dma" on SBus
add-on boards.
1996-05-16 20:31:28 +00:00
pk 0b59ea6fbd Replace a couple of (*foo_p)()'s with direct calls. All instances occurred
within in functions that were already mmu-arch specific.

Some formatting nits.
1996-05-16 19:19:33 +00:00
abrown 4bbf23d04c Copyright police (s/Harvard University/Harvard College/). 1996-05-16 15:56:54 +00:00
abrown fe454d89f3 Implement a hack to give pmap a better chance of working on SS10's with
no external L2 cache.
XXX this is ugly and will go away when cpu_softc gets done for the 1.3 release

Also, copyright police (s/Harvard University/Harvard College/).
1996-05-16 14:30:54 +00:00
thorpej 81ba0732e0 Document the "flags" for the si and sw controllers. While I'm here,
do some re-arrangement (cleanup), and document which devices exist on
which machines, so that people can be better informed when they trim
down their kernels.  There are a LOT of comments in this file now!
1996-05-16 03:13:27 +00:00
thorpej 81b0485bfe These haven't been kept up to date. 1996-05-15 23:57:50 +00:00
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