Commit Graph

1338 Commits

Author SHA1 Message Date
abrown
748b2c4bbe Add cgfourteen framebuffer to generic configs 1996-10-03 00:05:41 +00:00
mrg
14d1592766 update for exec changes. 1996-10-02 07:11:45 +00:00
abrown
7557090650 Add cgfourteen_poll() entry point to sync with recent changes in frame
buffer cdev code.
1996-10-01 00:06:45 +00:00
abrown
c04e2bf00c Add cgfourteen to conf.h.
Add new framebuffer types for recent-model graphics devices to fbio.h.
1996-09-30 23:45:10 +00:00
abrown
1547bff1c4 Add cgfourteen frame buffer at device major number 99. This is what Solaris
uses; I don't have access to a SunOS system with a cg14 to tell what
it uses.
1996-09-30 22:49:12 +00:00
abrown
e46ca2d67c Add cgfourteen driver as device "cgfourteen" 1996-09-30 22:43:38 +00:00
abrown
19b3f7f50b Initial commit of cg14 framebuffer driver for Sun4m SPARCs.
- This driver supports the on-board mbus-based cgfourteen (sometimes referred
  to as "SX") video hardware present on SS20-class machines.
- It does *not* support any of the SX acceleration features.
- It does support the 8-bit mode of the hardware, and looks to X like
  a cgthree.
- It does support the cg6-style hardware cursor, even when running X in
  cgthree emulation.
- It does support DPMS power-down of compatible displays on later-revision
  cg14's.
- There is code to support the true color (32-bit) mode of the cg14 as
  cg8 emulation, but it is disabled by default because it is most likely
  broken. #define CG14_CG8 to turn it on.

The driver is not yet installed in the conf files, but I will do so
shortly...
1996-09-30 22:41:01 +00:00
mycroft
4cd799d5a9 Remove unused variable. 1996-09-28 03:37:36 +00:00
mycroft
aaad0e1149 Sync with Alpha version. 1996-09-28 03:21:04 +00:00
thorpej
8d5c3b9cd1 Sync with the alpha version, fixing several SCSI protocol bugs.
NOTE: THESE FILES ARE NOW IDENTICAL TO THEIR ALPHA COUNTERPARTS.
The C preprocessor does the Right Thing when these files are built
on a SPARC.  This makes it significantly easier to diff the two
versions (until a real MI 53c9x driver is done, hint hint).
1996-09-28 01:49:06 +00:00
abrown
28068e33c0 Oops. Last change will slow down a GENERIC kernel. Add a CPU type test
for cleanliness.
KNF a return statement.
1996-09-27 18:30:15 +00:00
abrown
d7ef005a81 Fix long-standing bug with Lance ethernet and Sun4m's, where each packet
would generate two interrupts, one real and one spurious. The solution
is to force a drain of the SBus->MBus write buffers after writing to the
lance to clear the interrupt. Thanks to Chris Torek for pointing out a much
easier way to do this than I had planned...
1996-09-27 15:11:43 +00:00
cgd
0e097578a2 add and use a machine-dependent header, which currently defines some
macros to use to remove #ifdefs from the machine ID case check.
Eventually, these headers will contain other information, e.g.
machine-dependent relocation information, etc.
1996-09-26 21:50:55 +00:00
christos
869fd46175 Implement T_FIXALIGN by adding code to fix unaligned accesses and a bit
in md_flags. This should bring the solaris mac emulator software a step
closer to working.
1996-09-26 18:58:33 +00:00
christos
e33f712af6 Initialize md_flags. 1996-09-26 18:55:51 +00:00
christos
9db40d9ba8 Add md_flags so that we can have a fix-misalign-accesses flag. 1996-09-26 18:51:17 +00:00
thorpej
ab49e34013 Don't attach an rcons to a cgfour/cgeight overlay plane; it doesn't work
properly.  Problem reported by Charles Hannum.

XXX This is temporary until someone with the hardware has time to fix it!
1996-09-20 17:35:49 +00:00
mrg
c98a14ad90 update these for poll(2) changes. 1996-09-12 01:35:34 +00:00
mycroft
b3ffba62a6 Move strip(1) flags into a separate variable, so that $STRIP can
be passed to subordinate make(1)s.  Remove $TOUCH.  Add HOSTED_CC,
HOSTED_CPPFLAGS, and HOSTED_CFLAGS, and use them when depending genassym.
1996-09-09 21:06:55 +00:00
cgd
adeb6b4058 replace sequences of 8 spaces with tabs (only one instance). kill
unnecessary newlines after return statements but before function
close-braces.
1996-09-09 18:01:30 +00:00
mycroft
2bc736661a Implement poll(2). 1996-09-07 12:40:22 +00:00
thorpej
fa0e4a3082 Make the SPARC kernel compile again after recent tty cdevsw changes. 1996-09-05 09:32:47 +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
mycroft
30a617c634 Wrap the default definition of S' in .ifndef'. 1996-08-31 21:40:47 +00:00
pk
686dd328c0 Faster checksumming, contributed by Zubin Dittia. 1996-08-29 20:14:49 +00:00
cgd
71ad30d0e9 (1) set scsi_link channel to either the appropriate channel (if a
multi-channel driver), or to SCSI_CHANNEL_ONLY_ONE if a
    single-channel driver.
(2) use scsiprint() rather than a locally-defined autoconfig print
    function, and kill any locally-defined print function.
1996-08-28 18:59:15 +00:00
mrg
358f853f46 re-order to allow NBPG/PGSHIFT/PGOFSET to work always. 1996-08-28 03:01:27 +00:00
cgd
2a73ef60b7 change cfprint_t type definition to take a const char *, rather than
a char *, because that's what was really intended, and because
if the print function modifies the string, various things could become
unhappy (so the string should _not_ be modified).
1996-08-27 21:53:46 +00:00
mrg
b8e9f36083 add COMPAT_12. 1996-08-26 23:39:36 +00:00
thorpej
7e7c76ba78 Correct mistakes similar to those made in cgfour.c: Log message from
cgfour.c:

Fix a typo and an error in color plane offset calculation.  Submitted by
Konrad Schroder <perseant@hitl.washington.edu>, PR #2695.
1996-08-25 07:47:34 +00:00
thorpej
f124a6aaa9 Back out previous; this is a bigger problem than I expected. 1996-08-14 00:32:53 +00:00
thorpej
a05a1045f7 The htonl(), htons(), etc. functions return u_long and u_short. Add
casts to the big-endian versions of these calls so that the compiler
won't complain when they're passed as arguments to printf().
1996-08-14 00:07:35 +00:00
thorpej
28df9248ce Fix a typo and an error in color plane offset calculation. Submitted by
Konrad Schroder <perseant@hitl.washington.edu>, PR #2695.
1996-08-13 20:52:43 +00:00
chuck
cfdb99f44c repair XDC_HWAIT macro to handle the fact that waithead is now
unsigned.   should fix xdc watchdog timeouts noted in port-sparc
by nathanw@mit.edu.
1996-08-12 20:19:27 +00:00
mycroft
558d72128e Put into . Remove hooks for `config-dependent' and
`device-driver' flags.
1996-08-12 00:51:24 +00:00
mycroft
5c2e33fc0a Put back `waittime' variable. 1996-08-10 13:47:54 +00:00
mycroft
cf67f29afe * Add a HOSTED_C_C variable, which strips -p', -pg', and
`-nostdinc', and use it when building genassym.
* Use `-nostdinc' just to be sure we're self-contained.
1996-08-10 06:07:57 +00:00
mycroft
f94052ed3a * Define CWARNFLAGS and MKDEP in some moderately consistent fashion.
* Make S expand to an absolute path at compile time.
* Use `-S' rather than `-x' to remove debugging symbols.
* Garbage collect unused variables.
* Reverse a handful of port-specific changes that do not correspond to
the common build model and are not needed.
1996-08-10 05:29:24 +00:00
mrg
5abbf990f3 Change reboot(2) to take two arguments: bootopt like normal and also
a boot string for firmware that can do this, such as the SPARC and
the sun3 models.  It is currently silently ignored on all other
hardware now, however.  The MD function "boot()" has been changed to
also take a char *.
1996-08-09 10:30:23 +00:00
pk
7a26a7952d Fill in `pcb_psr' in the PCB before copying it to the new child PCB. 1996-08-02 13:44:48 +00:00
abrown
0c6696de2d Take advantage of new am7990 sc_nocarrier() function in order to do auto-
matic media detection on Sun4m machines which support multiple media
(UTP and AUI). New function lenocarrier() switches media type when called
if no link? flags are set.

Redefine link flags for Lance ethernet (le):
	<none>:	switch between media as needed to find carrier (autodetect)
		Preference to whatever the PROM is using (AUI if not booted
		from the network)
	link0:	use UTP port only
	link1:	use AUI port only

This allows Sun4m machines with dual media Lance ethernet adapters to
boot from the network on the UTP port.
1996-07-06 00:01:34 +00:00
chuck
e13b96dbf2 add native mode atm soft interrupt 1996-07-04 03:18:39 +00:00
pk
a6adfa8db7 Fix label sector confusion, per der mouse (PR#2598). 1996-07-03 22:02:09 +00:00
abrown
410fea854a Implement asm macros to allow 64-bit load/store to alternate address space.
Use new ldda() and stda() to make MultiCache initialization work on
SuperSparc-II machines (these machines require 64-bit access, even
to a 32-bit register).
1996-07-01 18:01:26 +00:00
pk
d71930e6c9 Put native NetBSD disk label in a piece of wasteland within a SunOS label.
read_disk_label() uses the native label if present.
write_disk_label() constructs a SunOS label around the native one.
1996-06-29 22:38:11 +00:00
pk
80c64cc71d Put native NetBSD disk label in a piece of wasteland within a SunOS label. 1996-06-29 22:33:16 +00:00
pk
e2ec1dab69 Avoid compiler warning on SUN4-only kernels. 1996-06-29 20:10:50 +00:00
pk
4ce982125b Need to add another `if defined(SUN4M)'; noticed by David Gilbert. 1996-06-29 20:09:40 +00:00
chuck
7544016a9d sbus specific stuff for eni155s sbus atm card.
XXX: only works on sun4c, needs something better than vtophys() for
	machines with IOMMUs(?).
1996-06-22 02:02:48 +00:00
pk
43cca6772f rd_root.c' => md_root.c' 1996-06-20 20:17:57 +00:00
pk
ba3ce100e0 memory disk driver hooks to pass on the root filesystem bits.
Note: this file is called `md_root.c' in anticipation of the forthcoming
`rd' => `md' rename.
1996-06-20 20:15:40 +00:00
pk
b0b2a995cd When booting from a floppy drive and RAMDSK_HOOKS is defined, arrange for
a callback from memory disk driver to load the actual root image.
1996-06-20 20:12:31 +00:00
pk
d802ca2b2a Declare a memory disk at block device #5. 1996-06-20 20:07:45 +00:00
pk
417fc9581d ramdisk stuff 1996-06-20 20:06:16 +00:00
pk
5b9021505a ramdisk stuff. 1996-06-20 20:05:46 +00:00
pk
a0222c1293 Turn on disconnect/reselect by default on targets 4-7 on the premise that
tape devices normally are set to one of these targets. Tape devices should
be allowed to disconnect for the SCSI bus to operate acceptably.
1996-06-20 19:50:41 +00:00
pk
dba83379bd Remove a "notyet" in last commit. 1996-06-19 13:30:49 +00:00
pk
c7fc34ac08 add tcx device at major number 109 1996-06-19 13:28:14 +00:00
pk
3da87417d2 tcx declaration 1996-06-19 13:25:01 +00:00
pk
5f5407c39e add tcx 1996-06-19 13:23:25 +00:00
pk
c6d4bf55e3 Add tcx definition. 1996-06-19 13:21:09 +00:00
pk
f62f900f6c First go at a TCX framebuffer driver. This version does enough to
load and store colour lookup tables
	blank the screen / put monitor in power-saving mode
	make X11 run on it in `cgthree' emulation.
1996-06-19 13:17:35 +00:00
pk
5d5e7cf75e bootpath detection: some (newer?) v2 prom versions use actual device address,
e.g. `/fd@1,72000000'.
1996-06-16 23:28:18 +00:00
pk
e2655dd7cc Allow DIAGNOSTIC kernels a FLUSHWIN trap in order to record stack traces
(currently used by the nullfs filesystem code, noted by der mouse).
1996-06-13 22:26:21 +00:00
pk
fbc5fd1fca Bound the buffer cache to 1/2 of kernel virtual memory, so machines with
lots of core don't run out of core (takes care of PR#2506).
1996-06-12 23:48:51 +00:00
pk
5ce90889f0 Remove unneeded header file. 1996-06-12 23:40:29 +00:00
pk
2266b8dd57 Use the setting of the ESPCFG2_FE bit rather than revision number to decide
on the ESP chip's maximum transfer count.
1996-06-12 19:12:19 +00:00
pk
d16dcebba7 Add signature for the Fujitsu MB86904 processor. 1996-06-12 18:39:15 +00:00
pk
f87e51fb6b Turn on RB_ASKNAME if a `swap generic' kernel was not able to determine
the boot device. Also, call boot device hooks for all types of kernel
configurations.

Print "mainbus" name on sun4m machines.
1996-06-12 15:24:05 +00:00
pk
4dd7cb4f5c Use ic_*' cacheinfo fields, and in the split-I&D case, derive c_linesize[l2]'
from from the corresponding `ic_*' and `dc_*' values. This is not perfect,
but it makes SS4s and SS5s run until we have proper per-cpu cache handling.
1996-06-12 14:57:03 +00:00
pk
52d6871979 Use ic_*' cacheinfo fields, and in the split-I&D case, derive c_linesize[l2]'
from from the corresponding `ic_*' and `dc_*' values. This is not perfect,
but it makes SS4s and SS5s run until we have proper per-cpu cache handling.

Use the `cache-physical?' property to determine the value of `vactype'
on sun4m's. If absent, set vactype to VAC_WRITETHROUGH (XXX) else VAC_NONE.

Print simpler sun4m CPU identifier on attach.
1996-06-12 14:56:09 +00:00
pk
6281105c8f Introduce separate ic_* fields for instruction caches. 1996-06-12 14:47:45 +00:00
pk
6a4a26da0c Correct test for dmachild' which failed on esp at obio*' configs (PR#2541). 1996-06-12 12:46:21 +00:00
pk
94cd1644ee Avoid the "features enable" bit on ESP100A's; apperently this is a source
of trouble on many machines (from Krister Walfridsson; PR#2537).
1996-06-11 22:26:16 +00:00
pk
49aec33417 pmap_changeprot: truncate VA argument to page-boundary. Needed in case we
call cache_page_flush().
1996-06-11 21:54:44 +00:00
thorpej
a01d6597b6 Squish a couple of rogue $Id's.. 1996-06-07 21:48:33 +00:00
christos
207d85a1cc Handle T_RESET, otherwise DIAGNOSTIC kernels panic. 1996-06-05 19:30:43 +00:00
pk
3dfb6ab8c0 Code the residual computation a bit differently. 1996-06-03 23:48:41 +00:00
pk
460d3403be Initialize video parameters if the board is not yet running. Useful if
the cg3 is not the console.
1996-05-31 09:59:22 +00:00
pk
a8deff302c Clamp synch-transfer parameters at our maximum values on device-initiated
synch negotiation.
1996-05-30 22:19:10 +00:00
pk
c393eae7c5 event_var.h changed location. 1996-05-30 01:40:07 +00:00
pk
9a9cf8c3f5 Put back a `#if defined(SUN4M)' for now. 1996-05-30 00:57:35 +00:00
pk
e86275a0b6 Some slight optimizations. 1996-05-30 00:02:09 +00:00
pk
b3666a87b4 Swiatch to `sys/dev/sun/event*'. 1996-05-29 21:57:51 +00:00
pk
3d1e64415a Switch to `sys/dev/sun/event.c'. 1996-05-29 21:56:38 +00:00
pk
f9f5f23ee3 We really need a ring buffer for every unit.
Eliminate extraneous ttyalloc() calls.
1996-05-29 21:45:28 +00:00
pk
4899447ffc Add missing splx(), per Jason. 1996-05-29 21:08:28 +00:00
pk
57e61589e7 Fix two cases of handling stale page table information:
1. when reading the referenced/modified bits the TLB entry must be flushed
   before reading the in-core version.
2. when wrapping up an entire segment in pmap_page_protect(), flush the PTPs
   from the TLB to prevent a table-walking operation to pick up stale - or
   possibly bogus - PTEs.

(hopefully I'll get a few of my hairs back now..)
1996-05-29 20:58:38 +00:00
mrg
5583238255 impliment ttylist stats based on disk stats. 1996-05-29 02:02:42 +00:00
mrg
65d186d8e8 find a couple minor nits from previous change. 1996-05-29 01:58:09 +00:00
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
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