Commit Graph

1485 Commits

Author SHA1 Message Date
pk 13ad3421cd DMA draining macros have moved to dma.c 1996-11-27 21:49:53 +00:00
pk c7f438cd11 Handle the `ESC gate array' variant of the DMA engine, including an
essential bug work-around. Graciously supplied by David Miller.

Also re-arrange the macros that do the dma drain song-and-dance for
better clarity.
1996-11-27 21:48:19 +00:00
pk c0a9fe4e7a Cancel any queued timer events before re-scheduling a timeout, so esp_abort()
can be called from other places besides the timeout handler.
1996-11-27 21:34:59 +00:00
pk 4526babc82 Pay attention to DMA errors as reported by DMAINTR() returning -1. If this
happens reset everything.

Re-schedule a timeout when first attempting to abort an operation.
1996-11-27 21:24:20 +00:00
pk c1274b3cff Stabilize timeout values in fdcresult() and out_fdc() by adding delay()s.
Noted by Jason Thorpe over in the i386 driver.
1996-11-27 21:14:33 +00:00
pk 3cb63476b7 One control block per target is insufficient if you have a full complement
of targets attached and access those simultaneously (like in a ccd(4) array).
We (now) allocate (somewhat arbitrarily) three per target.
Noticed by Marshall Midden.
1996-11-22 22:36:57 +00:00
pk 1ab7502adf Initialize cache aliasing bits for MicrosparcIIs. 1996-11-18 11:23:32 +00:00
pk ab9677d1d6 Move *PAGER options and `machine sparc' to std.sparc. 1996-11-18 00:10:19 +00:00
pk 89b8591c60 Add explicit casts to `%l*' formatted arguments. 1996-11-16 23:14:58 +00:00
pk b61f7eb526 Remove `unused variable' warning. 1996-11-16 23:00:24 +00:00
pk ba50a4fa6e Remove "trap#29" debugging code. These traps have disappeared since a bug
was fixed in the pamp code ("stale PTEs", pmap.c rev. 1.62).
1996-11-16 20:45:13 +00:00
jtc 16b48272c4 Define _BSD_CLOCKID_T_ and _BSD_TIMER_T_ 1996-11-15 22:38:45 +00:00
thorpej 35c9c776fe Use bitmask_snprintf(). 1996-11-13 06:13:39 +00:00
thorpej 4ad70417a0 Centralize the declaration of the "en" driver (Efficient Networks, Inc.
155Mb/sec ATM interface).
1996-11-12 23:58:01 +00:00
pk 037130a502 Allow larger text (64MB) and data (256MB) segments.
On sun4/sun4c with a virtual address hole (starting at 512MB), this seems
like a reasonable compromise: about 196MB left for shared libs and sysv-style
shared memory segments.
On the sun4m the limits can easily be made larger: consider turning
MAXTSIZ and MAXDSIZ into tunable variables..
1996-11-12 21:08:51 +00:00
cgd 000ff895c3 sync with alpha version 1996-11-12 21:06:21 +00:00
pk 8896ec778e Declare `cgtwo' and `rd' character devices. 1996-11-11 23:57:12 +00:00
pk 615fe88f6f Add missing entries: cgtwo, uk, ss 1996-11-11 23:54:56 +00:00
pk a65399dce0 Need to include <machine/param.h> 1996-11-11 23:53:45 +00:00
pk d9a980c066 Adapt pmap_dumpsize() and pmap_dumpmmu() to new-style kernel crash
dumps according to the layout in <sys/kcore.h> and <machine/kcore.h>.
1996-11-09 23:08:56 +00:00
pk 155ab54456 New-style crash dump format requires a slighty different interpretation of
the variable `dumpsize' (used by savecore(8)) and that the CPU specific data
gets dumped first.
Also, squash a typo that prevented the crash dump to be shifted towards the
end of the swap partition. In fact, the entire dumpconf() routine has been
redone, mostly by pasting large chunks from the alpha port.
1996-11-09 23:02:17 +00:00
pk 0217df3897 Define new-style kernel crash dump format. 1996-11-09 22:52:22 +00:00
cgd 8a3333b2a9 Fix an inconsistency that came in with Lite: setrq() was renamed to
setrunqueue(), but remrq() was never renamed.  Rename remrq() to
remrunqueue().
1996-11-06 20:19:19 +00:00
pk aa965ce3bf Declare device `audio' at sbus. 1996-11-03 11:18:15 +00:00
pk 92d21510ef Drop in a sun4m version of AUDIO_SET_SWINTR; thanks to Nick Sayer for
the reminder.
1996-11-01 23:32:15 +00:00
pk 33558b9e5f Take care of the sun4m way of raising soft interrupts. 1996-11-01 23:30:09 +00:00
pk 19b8bfdf3d Declare device `audio' at sbus where it resides on Microsparc machines,
from Nick Sayer's PR#2908.
1996-11-01 23:15:51 +00:00
pk 59b640b2fc Call kvm_uncache() from dvma_malloc() where it belongs and make sure
it's called when SUN4M is nor defined.
Merge in changes from Jason to make dvma_mapin() work on (sun4c) machines
with a write-back cache.
1996-10-28 23:02:54 +00:00
abrown cafb62af25 Fix timer initialization so that we don't gain one extra microsecond per
second on Sun4m machines. Although this was in the noise of the unstable
Sun clock crystals before, the discrepancy amounted to about 100 ppm, and
thus made NTP perform poorly. NTP now works happily on my SS20...
1996-10-28 00:20:31 +00:00
pk fd8ac8b221 If no specific kernel architecture is requested, define the CPU_* and
NBPG et.al. as in the generic case. This would be the expected thing to do
when compiling LKMs and such.
1996-10-22 19:11:19 +00:00
pk 52acac0518 Regroup the definitions of NBPG, PGOFSET and PGSHIFT into the section that
enumerates the possible SUN? combinations.
1996-10-20 20:26:52 +00:00
pk 62c32ff2dc Drop a duplicate `#include ppp.h'; noted by Chris Demetriou. 1996-10-20 19:32:42 +00:00
pk 4dd0b24bf9 Make sure to refer to `sc_ovtype' only when SUN4 is defined, as noted
by `r.evans@ic.ac.uk'.
Also, explicitly testwhether we're dealing with a pfour.
1996-10-20 19:18:00 +00:00
pk b246894d9b Document `-a karch' option.
Fix a formatting nit.
1996-10-20 16:17:04 +00:00
pk 5ced353a7a Add `-a <arch>' switch to force the target architecture. Retain `-h' for
compatibility.
1996-10-20 16:00:14 +00:00
thorpej 150c33e60b Use ${INSTALL}. 1996-10-18 05:55:26 +00:00
thorpej c9592404ce Clarify the comment about enabling interrupts above level 11, suggested
by Andrew Gillham.
1996-10-18 01:36:16 +00:00
christos 8d9699acda backout previous kprintf change 1996-10-13 02:59:55 +00:00
christos 7d1960f502 backout previous kprintf change 1996-10-13 02:59:38 +00:00
christos 0039d4aa0c backout previous kprintf change 1996-10-13 02:59:25 +00:00
christos 19d8368f2f printf -> kprintf, sprintf -> ksprintf 1996-10-11 00:44:42 +00:00
christos de08983084 add in_addr_t and in_port_t 1996-10-11 00:43:00 +00:00
cgd 472889f8e4 moved to aout_machdep.h (via repository copy) 1996-10-08 12:57:37 +00:00
mrg a632bcbe9c update for kern/sa lib Makefile.inc changes. 1996-10-05 23:46:43 +00:00
mrg 7b71cdec46 minor copyright update. 1996-10-05 23:41:53 +00:00
thorpej 5c34a4ce35 Use FBTYPE_RESERVED3 for our `unknown' fbtype ... RESERVED1 seems to
have disappeared.
1996-10-04 20:35:53 +00:00
thorpej 3db7555465 Returning ENODEV is not correct in a poll entry point. Instead, since
read/write returns an error, use seltrue().
1996-10-04 20:34:33 +00:00
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
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
pk 70eee90be3 remove a printf 1996-02-27 09:10:24 +00:00
pk 9216cf3276 Drain rev 1 chips in dma_reset(). 1996-02-27 00:36:11 +00:00
pk 2c646f8da5 `bwtworeg' is just about the same as the generic `fbcontrol'. 1996-02-27 00:32:34 +00:00
pk 6b5eb65b21 bt_reg => fbcontrol. 1996-02-27 00:14:17 +00:00
pk 8628f94179 Use `video enable' bit in framebuffer control. 1996-02-27 00:11:14 +00:00
pk 2fe54615fb Define a couple more framebuffer control bits. 1996-02-27 00:09:23 +00:00
pk 517988b940 Interims:
Comment out `STATINT' checking; this is apparently unreliable on some
ESP revisions.
Deal with target initiated synch re-negotiation.
1996-02-26 14:48:30 +00:00
mycroft 2ce52ae489 Define build programs with `?=', so they can be overridden with `makeoptions'. 1996-02-26 02:53:20 +00:00
pk a3ab0e81da Use CPU-type macros. 1996-02-25 22:03:20 +00:00
pk 3d182fe265 Use CPU-type macros 1996-02-25 21:53:49 +00:00
pk ba0eb7ea59 Use CPU-type macros. 1996-02-25 21:45:53 +00:00
thorpej 1a5d5e25c6 Add an "sw_options" patchable global so that folks can still live life
on the edge (of sw DMA uncertainty) with pre-built kernels.
1996-02-23 16:29:34 +00:00
thorpej ef3500b579 Attempt to work around a hardware bug that screws up DMA on the 4/100.
Apparently, some early 4/100 DMA controllers do illegal memory access on
large ( >= NBPG ) transfers at the end of the transfer.  This appears
as SI_CSR_DMA_BUS_ERR in the csr.  To work around this, we simply
transfer the (up to 3) missing bytes from the bpr.  We were doing this
anyway, so the work-around is to ignore the bus error.

BUT!  I goofed when I implemented the "left-over byte" code for the sw!
It *should* be correct now.  Keep metrics (acceeible via DDB) on the number
of 1, 2, and 3 byte clean-ups, as well as the number of "clean" transfers,
just so we can get a clearer picture.

Thanks to Andrew Gillham <gillham@whirlpool.com> for noticing this!
1996-02-23 07:24:45 +00:00
mycroft 291267e40c Implement SDEV_AUTOSAVE. 1996-02-22 23:35:04 +00:00
pk 2f3ad94f8d An #ifndef _LOCORE to make this file safe to include in locore.s.
Introduce a couple of `CPU-type' helper macros to reduce the preprocessor
tangos in many a source file.
1996-02-22 21:59:08 +00:00
pk e259a02425 Correct some prototypes. 1996-02-22 15:04:07 +00:00
thorpej c86505a6a5 If we get a transfer with the SCSI_POLL flag set, don't use DVMA. We
only get these during autoconfiguration and during crash dumps.  During
autoconfiguration, the transfers are small enough that DVMA won't be used
anyway.  However, using DVMA during a crash dump can be dangerous,
depending on the nature of the panic, so we avoid it.
1996-02-22 07:25:05 +00:00
thorpej 2f132eb5e7 Bring in Gordon's fix from the sun3 port:
Correct the DMA transfer count when the target disconnects before
	the whole transfer is completed.  (Affects VME writes)
	Reselect now works on the VME si board!
1996-02-22 07:14:53 +00:00
thorpej a246f6c835 Fixup some RCS ids. 1996-02-22 06:50:49 +00:00
pk 66fedbbe19 Correct format in a printf(). 1996-02-21 10:21:14 +00:00
chuck adeed1d823 minor clean up: revise locations of disk_busy/disk_unbusy calls to match xd.c 1996-02-21 03:36:51 +00:00
pk b9de283ae6 Fix typo; pointed out by jtk. 1996-02-19 10:30:09 +00:00
pk 9b46365465 Adapt to changed kernel data structures (PR#2100). 1996-02-19 09:46:32 +00:00