Commit Graph

1352 Commits

Author SHA1 Message Date
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
thorpej a9012450ec Fix bug in bwtwounblank() ... didn't have code to enable video on sun4/200
obio framebuffer.  Noticed when my 4/260 dropped into DDB and the screen
didn't unblank.  Pull all of the video enable/disable into functions so
this mishap doesn't happen again.
1996-02-19 00:15:46 +00:00
pk a5ea7547d2 Correct timetochip() prototype.
Cleanup microtime() a bit.
1996-02-18 15:38:41 +00:00
pk 1a62c0b31b delay() takes an unsigned int; get the code to match. 1996-02-17 09:47:48 +00:00
pk 1caa80a432 Bring prototypes into scope.
Fix a few bogus `return's.
1996-02-17 00:03:17 +00:00
pk f1518de67c delay() prototype. 1996-02-16 22:13:34 +00:00
pk cdb37b19d3 Account for the fact that `clockreg' might not be page-aligned.
Misc prototype goo.
1996-02-16 22:12:13 +00:00
pk da1402dcb7 Eliminate <setjmp.h>. 1996-02-14 01:03:17 +00:00
pk fe9d17199a If `cold' simply halt the machine in boot(). Note, this still leaves a window
where vfs_shutdown() and sync() can be called prematurely.
1996-02-13 23:59:02 +00:00
pk 54bd5c6954 Fix ANSI prototype goof (from Openbsd).
Add explicit return type to most functions.
V3 PROM console support.
1996-02-13 22:49:48 +00:00
pk 773f74b60d Change some caddr_t's to void *'s. 1996-02-13 22:43:33 +00:00
pk 58cd67c20d Make sure we assign a value to variables we use.
Don't express size of NVRAM in terms of machine page size.
1996-02-13 22:38:25 +00:00
christos 8a8e1a4d94 caddt_t -> caddr_t 1996-02-13 17:13:22 +00:00
christos cbb1d18e70 - Fix setcxsegmap prototype.
- Cast ?TO? macros to NULL to avoid compiler warnings
1996-02-13 17:04:58 +00:00
christos 967dc9fa87 make pmap_page_index return int instead of u_long 1996-02-12 21:15:37 +00:00
pk 3237aa23d2 Avoid compiler warning. 1996-02-12 21:05:18 +00:00
pk d5ddbf99ab Separate DMA and SCSI routines more. 1996-02-12 15:59:51 +00:00
thorpej 8a6ad45eed In fdcretry(), if we're not using implied seeks, set the state to DOSEEK
rather than SEEKCOMPLETE before retrying the operation.  If implied seeks
are being used, the state is set to DOIO (no change).  This is why I
couldn't reproduce the disk_unbusy() panic on my SS2; it uses implied
seeks.  Patch from John F. Woods <jfw@jfwhome.funhouse.com>
1996-02-10 18:37:36 +00:00
christos c6edd77b23 A few prototype fixes 1996-02-09 23:14:14 +00:00
mycroft 753fe3a25a Fix mkdep problems due to missing flags. 1996-02-09 02:21:13 +00:00
chuck 2accbfeefb - moved disk_busy() call from xdstrategy() to xdc_startbuf()
[prevents disk_unbusy panic when disk is loaded (if no
	free IOPBs, xdstrategy() would queue the buffer for pickup
	by xdcintr() but xdcintr() would never call disk_busy().
	xdc_startbuf() is a better place since all bufs are routed
	through here]   problem detected by girish@dworkin.wustl.edu,
	diagnosed and corrected by me.
- move disk_unbusy() call in xdc_remove_iorq() before the call to
	XDC_FREE() [don't want to access a data structure that was just put
	on a free list]
1996-02-08 04:40:33 +00:00
thorpej fa30609066 Protect clearing the Intersil chip's interrupt with splhigh(). If this
gets interrupted (by the higher priority zs hardware, for example),
the clock can come to a dead stop!
1996-02-06 22:59:03 +00:00
pk d0abefaa36 beq -> be; some assemblers don't know about this alias. 1996-02-06 12:11:15 +00:00
pk 52c068d6e6 Be sure to reset the chip when relection fails to prevent corrupting data. 1996-02-06 02:03:46 +00:00
christos 684b37e33e vm prototype changes. 1996-02-05 01:59:12 +00:00
pk 5fd7df3063 Move splbio to level 5. 1996-02-03 16:10:58 +00:00
mycroft 67eb39bcda Make this compile with `traditional' cpp. 1996-02-03 04:36:01 +00:00
mycroft 5bc076e17e Use `-traditional-cpp' when building .s and .S files. 1996-02-03 00:43:50 +00:00
mycroft dcd66e9f4d Clone these, and fix many bugs. 1996-02-02 20:08:17 +00:00
mycroft 2dfbe4f961 Don't define _LOCORE here. 1996-02-02 20:05:08 +00:00
mycroft 9d9a70a5a2 Fix #includes. 1996-02-02 18:05:36 +00:00
mycroft fc9d84fb46 assym.s -> assym.h
(Some ports did this already.)
1996-02-02 02:34:09 +00:00
mycroft 88e512b693 LOCORE -> _LOCORE 1996-02-01 22:28:24 +00:00
thorpej b97cbfb606 Implement DIOCLOCK. It's a no-op in this driver. 1996-01-30 18:31:05 +00:00
gwr 427556aeab Move struct definitions to MD code. 1996-01-24 19:52:57 +00:00
thorpej 353f4388fb Use a shutdownhook to make sure the drive motor is turned off
at halt/reboot time, as suggested by Perry Metzger.
1996-01-16 19:35:06 +00:00
thorpej 8a5504241e Three distinct changes:
- Better disklabel handling.  While a disklabel isn't used
	  in the driver, some versions of the OpenPROM insist on
	  one being present in order to boot from floppy.  These
	  changes provide a default label (in a way similar to how
	  the SCSI disk driver provides a default) so that a user
	  can more easily place the label on the disk.

	- Fix semi-bug in bootpath handling.  It appears as if the
	  bootpath can appear in a couple of formats: "/fd@0,0", which
	  is what bootpath_fake() creates on v0 proms and may be
	  passed by some v2 proms, and "/fd0" which is what the
	  v2 prom on my SS2 passes.  We now handle both formats.

	- Use a mountroot hook to eject the floppy and wait for
	  the user to insert a filesystem floppy if we're the boot/root
	  device.
1996-01-15 00:14:42 +00:00
thorpej 3f8e0d27a6 Add a "mountroot hook" mechanism so that devices can take care of
special needs before being used in (*mountroot)().
1996-01-15 00:06:49 +00:00
chuck ef895a47d4 - call mapiodev() with sizeof(struct xyc) rather than ra_len (which is
zero since xycmatch no longer sets it).   [if you call mapiodev()
	with a zero size it will reuse the KVA it returns, swiping the device
	out from under you!]
 - make xyc->iopbase point in the kernels DVMA space rather than at the
	normal malloc'd KVA.   this isn't compatable with sun4m [doesn't
	have a kernel DVMA space] and will need to be changed later (XXX).
 - move disk_attach() to before reading the disk label as per Jason.
	otherwise we are reading into an unallocated buffer (oops!)
1996-01-13 03:42:40 +00:00
chuck ca80988399 - call mapiodev() with sizeof(struct xdc) rather than ra_len (which is
zero since xdcmatch no longer sets it).   [if you call mapiodev()
	with a zero size it will reuse the KVA it returns, swiping the device
	out from under you!]
 - make xdc->iopbase point in the kernels DVMA space rather than at the
	normal malloc'd KVA.   this isn't compatable with sun4m [doesn't
	have a kernel DVMA space] and will need to be changed later (XXX).
 - move disk_attach() to before reading the disk label as per Jason.
	otherwise we are reading into an unallocated buffer (oops!)
1996-01-13 03:35:53 +00:00
chuck 695a034ccd change mapdev to panic if size == 0 to be safe. 1996-01-13 03:11:18 +00:00
chuck dfbaa33f05 we handle all our mappings, so don't have obio.c do any for us
(i.e. don't set ra->ra_len in the match function).
1996-01-12 23:08:57 +00:00
chuck 3ef3001bec nuke uneeded variable in match function. 1996-01-12 23:06:23 +00:00
chuck 93cc1b33e1 we no longer need to add in the offset to the mapped VA to get the correct
device address (bus_tmp, bus_map, and mapiodev now do this for us).

also, we handle all our mappings, so don't have obio.c do any for us
(i.e. don't set ra->ra_len in xycmatch).
1996-01-12 22:45:04 +00:00
chuck d14b5cb80e we no longer need to add in the offset to the mapped VA to get the correct
device address (bus_tmp, bus_map, and mapiodev now do this for us).

also, we handle all our mappings, so don't have obio.c do any for us
(i.e. don't set ra->ra_len in xdcmatch).
1996-01-12 22:43:55 +00:00
chuck b5ddd8431d dmamatch never added in the offset for the dma registers to the VA,
and thus probed the wrong address on the 4/300 (but it worked because
it was probing the esp0 registers!).

now that bus_tmp() adds the offset in for us [as of obio 1.19] i
discoved that a byte access to the dma registers is not allowed.
so, i've change probeget to use a word access.
1996-01-12 22:03:39 +00:00
chuck afb262e8da improved handling of mapping of devices who's registers do not reside on
page boundaries:
 - change bus_tmp() to include the offset from the start of page in the
        returned KVA [rather than forcing each driver to add it back in
        individually]
 - changed bus_map() to include the offset from the start of page in the
        the returned value if a mapping is found in the PROM's KVA area
 - clarified a few comments
1996-01-12 21:44:16 +00:00
chuck c488310462 change mapdev() so that it includes the offset from the start of the
page in the virtual address it returns.
1996-01-12 21:22:46 +00:00
thorpej 43b4486bb3 Balance calls to disk_busy() and disk_unbusy() properly to avoid
dk_busy < 0 panics.  Count seeks.
1996-01-12 00:19:29 +00:00
pk f278cec042 Move bus_map() prototype here. 1996-01-11 21:55:57 +00:00
pk 9580abeba7 Should pass suitable arguments bus_map(); as noted by Chuck. 1996-01-11 21:54:03 +00:00
pk 7430f70694 Return `no error' after ejecting; per Jason. 1996-01-11 21:18:40 +00:00
pk 5035080586 Correct page frame calculation after mapdev() interface change. 1996-01-11 11:19:01 +00:00
pk 94bb8db5ad Add shutdownhooks(). 1996-01-10 23:00:33 +00:00
thorpej 926f925088 Re-arrange slightly the si_options special case for the `sw'. 1996-01-09 02:36:58 +00:00
thorpej 3cb556defb Disable DMA by default on the 4/100 `sw' controller. I've had a couple
of reports of data corruption, and would rather be slow and safe until
the DMA bug is fixed.
1996-01-09 02:06:50 +00:00
thorpej 5b39541e48 New generic disk framework. Highlights:
- New metrics handling.  Metrics are now kept in the new
	  `struct disk'.  Busy time is now stored as a timeval, and
	  transfer count in bytes.

	- Storage for disklabels is now dynamically allocated, so that
	  the size of the disk structure is not machine-dependent.

	- Several new functions for attaching and detaching disks, and
	  handling metrics calculation.

Old-style instrumentation is still supported in drivers that did it before.
However, old-style instrumentation is being deprecated, and will go away
once the userland utilities are updated for the new framework.

For usage and architectural details, see the forthcoming disk(9) manual
page.
1996-01-07 22:01:38 +00:00
christos 742cee29e5 Fix setcontext call and sendsig 1996-01-07 19:47:27 +00:00
pk dd9e5c93c7 Use {U,L} suffices per Charles' recommendation. 1996-01-05 18:10:57 +00:00
jtc 2fce159ff8 Changed name of sigaltstack's ss_base field to ss_sp to match XPG4.2 and
traditional usage.
1996-01-04 22:21:33 +00:00
thorpej d35bd4bb23 Fix a typo that would bite if the interrupt level were wildcarded in the
kernel config file.
1996-01-04 00:20:19 +00:00
thorpej 0e8ffc850f "si" and "sw" actually interrupt at level 3 (which I quickly discovered
when porting the driver).
1996-01-01 22:46:08 +00:00
thorpej 33582e90e0 "si" and "sw" now have the ncr5380sbc attribute. 1996-01-01 22:44:05 +00:00
thorpej 6d6c652f18 New driver for the Sun SCSI-3 VME and 4/100-series SCSI "Weird" controllers,
utilizing David Jones' new MI NCR 5380 code.  Ported from the sun3 ncr_si.c
and "sw" DMA code written by me.

This driver contains user-configurable "options", which can be set via the
"flags" directive in the kernel configuration file.  By default, only
DMA is enabled.  DMA completion interrupts and reselection may be enabled
by setting the appropriate bits with "flags".  See si.c for details.

Note that DMA completion interrupts and reselection don't yet work on the
4/100 controller.  I don't know why, and it's unlikely that I'll have
the opportunity to find out any time soon.  DMA does work, and results
in a considerable performance increase.

DMA, DMA completion interrupts, and reslection all work on my 4/260 (VME)
system with modern SCSI-II disks.
1996-01-01 22:40:56 +00:00
mycroft 3a89082ff4 Make this work for GCC < 2.6. 1995-12-29 18:53:01 +00:00
thorpej 17eb6e2bc1 Move the old-style disk instrumentation "structures" to a central location
(sys/kern/subr_disk.c) and note that they should/will be deperecated.
1995-12-28 19:16:31 +00:00
mycroft cd8fe86bcb Make the type of __builtin_va_list a long. 1995-12-26 01:16:24 +00:00
mycroft 0c00214737 Use __builtin_va_alist. 1995-12-26 00:19:09 +00:00
mycroft fa887628d8 Stylistic changes. 1995-12-25 23:15:31 +00:00
mycroft 72e24c3168 Update for GCC 2.7, and fix bugs. 1995-12-25 22:24:54 +00:00
mycroft 3da4b2a160 The IST_* and IPL_* constants are not bus-specific; don't treat them as such.
Change splimp -> splnet in Ethernet, ARCnet, and FDDI drivers.
1995-12-24 02:29:35 +00:00
pk 644c68a706 Towards machine independency, per cgd: macros to access hardware registers. 1995-12-18 23:58:31 +00:00
pk b7feb4a35e Enable interrupts; some ROM versions apparently turn them off. 1995-12-13 23:35:18 +00:00
pk 524718f597 Adapt to changed mapiodev() interface. 1995-12-11 12:45:16 +00:00
pk d2ae46d04e Agree with prototype. 1995-12-11 12:44:39 +00:00
pk 0d1981416d Adapt to changed mapiodev() interface. 1995-12-11 12:43:14 +00:00
pk f840d96cfe Adapt to changed mapiodev() interface.
Use new DVMA routines.
1995-12-11 12:40:20 +00:00
pk 8f162e4e25 mapdev() now takes a `struct rom_reg' argument to get access to `iospace'. 1995-12-11 12:34:36 +00:00
pk 2b7034a493 The return of dvma_malloc/dvma_free in a different shape. 1995-12-11 12:32:56 +00:00
pk 528ea56588 Change mapdev() and mapiodev() to take a `struct rom_reg', enabling the use
of IO spaces to construct device mappings.
1995-12-11 12:31:02 +00:00
pk 51c8280df1 Prototype dvma helper functions `dvma_malloc()/dvma_free()' 1995-12-11 12:25:17 +00:00
pk 5c50eeb245 Prevent possible race condition in ctx_alloc().
Remove some bogus casts.
1995-12-11 01:27:28 +00:00
pk 7987c7fce9 Use `def_width' and `def_height' as default values when getting rom properties. 1995-12-10 22:55:32 +00:00
mycroft 494a9b9eb9 Use the MI LANCE code. 1995-12-10 10:15:06 +00:00
mycroft 46366f34e7 Include vm.h, rather than guessing which files we need. 1995-12-10 06:50:58 +00:00
mycroft 292120bf63 Define __FORK_BRAINDAMAGE. 1995-12-09 04:41:41 +00:00
pk 5c482e804d Don't forget to flush the cache in vunmapbuf(). 1995-12-07 22:18:54 +00:00
pk 480398f38e dvma_malloc => malloc/dvma_mapin. (not the most elegant solution, but it'll
have to do for now).
1995-12-06 22:40:22 +00:00
pk f6a3272e25 DVMA space is described by the variables `dvma_start' and `dvma_end'.
Prototype dvma_map*() routines.
1995-12-06 22:35:54 +00:00
pk 7299c7a6c0 Have v[un]mapbuf() allocate from plain kernel map instead of dvma space.
Remove dvma_malloc/dvma_free; drivers should allocate kernel memory and
use dvma_mapin/dvma_mapout to double map it in DVMA space.

Make the resource map `dvmamap' responsible for all DVMA allocation.
The VM map `physmap' only serves the role of placeholder in the VM system.
1995-12-06 22:33:49 +00:00
pk 210b4d80ec Make pmap_prefer() also return a preferred virtual address when there's no
associated physical page.
1995-12-05 23:01:39 +00:00
pk 8a1606d530 Don't return `XS_DRIVER_STUFFUP' too easily; this can hose buffer cache
writes. Say XS_TIMEOUT in stead so the scsi code will retry.
1995-12-01 01:00:55 +00:00
pk a2a4da4874 Merge changes from sun3 port; per Gordon. 1995-11-29 23:43:42 +00:00
pk ee08e9085b Extend the size of the "soft" FIFOs which reportedly reduces the number
of FIFO overflows on high baud rates.
However, doing so on all 4 ports would cost a whopping 64KB (at 4096 entries
per FIFO) of kernel memory. So, the FIFOs are now allocated at attach time
allowing the size for the keyboard and mouse ports to be reduced (to 128)
which should be adequate for the 1200 baud they use.
1995-11-29 23:41:31 +00:00
pk 12bfe2e68e Must change `u_long' to `u_int32_t' as Jason pointed out. 1995-11-29 22:03:53 +00:00
pk 6e53c6a5fd In probe[gs]et() there's no need to check against KERNBASE, as pointed
out by David Jones and Chris Torek.
1995-11-29 01:52:41 +00:00
pk e9a919b88f Code from Jason to better configure /dev/fb. 1995-11-29 01:45:36 +00:00
pk ce474272f1 Prevent synch negotiation on ESP100 chips 1995-11-28 22:49:31 +00:00
pk 9bf3251e46 Lots of major and minor bug fixes and changes.
- properly do MSG_IN handshaking, so we can actually receive multi-byte msgs.
- do synch negotiation (now that the above works).
- handle disconnects.
There are a few trial-and-error bits at points where the docs I have are
particularly ambiguous about the state of chip and/or SCSI bus.

Things to do:
- more cleanup
- deal with MSG_OUT phase better
- keep some "config reg 3" bits per target (ie. FASTCLK and FASTSCSI).
1995-11-28 20:49:12 +00:00
pk def161af38 Careful with signed chars (caddr_t *!).
Merge in 1.1 changes.
1995-11-28 20:26:59 +00:00
pk 0c031adc76 Not all v2 proms understand the `mac-address' word (from Theo). 1995-11-14 15:04:01 +00:00
pk c7d1d39b3e dk_device => device in controller structure (noted by Jason Thorpe). 1995-11-11 21:12:50 +00:00
pk c2cd05605d UFS => FFS conversion. 1995-11-08 09:09:20 +00:00
pk 54ec9fb697 Correct test for sun4 machines (thanks Chuck).
Since uname currently does not allow to discriminate different sparc
models, we use `sysctl.hw.cpumodel' to do this somewhat heuristicly:
if the returned strings starts with "SUN4-" a sun4 architecture is
assumed. This information is used to determine whether or not to strip
the a.out header off the 1st-stage bootblocks.
1995-11-07 11:45:24 +00:00
pk 996526aa02 Make error recovery actually work, i.e. don't hang on SCSI bus resets
and re-synchronize before re-scheduling pending operations.
Things seem to be a fair bit stabler now.
1995-11-03 16:47:43 +00:00
pk bbdb422873 Stop DMA before resetting 1995-11-03 16:34:12 +00:00
pk c0a156c9fd Map pixels in VME32 space 1995-10-28 23:15:16 +00:00
pk e4fcc8ab5a Move DMA chip draining to dmaintr() and drain when a (possibly partial)
transfer ends in stead of doing it before starting a new transfer.
Use a different CSR bit to wait for "chip not busy" (may be necessary to
make this conditional on chip revision).
1995-10-24 16:26:54 +00:00
pk a3f2bf19e4 Various:
- make esp_poll() approximate the given timeout value.
	- introduce esp_abort(), and use it for timed out commands; make		  targets and driver less confused.
	- make {free,ready,nexus}-list management somewhat more coherent.
	- make sure we only proceed down the state machine in espintr()
	  if there really is an interrupt pending.
1995-10-24 16:03:57 +00:00
pk dc3c0d7db7 Define VIDEO enable bit (per Jason Thorpe; PR#1672). 1995-10-23 23:36:28 +00:00
pk 7a9ddaff33 On-board bwtwo diddles a system enable register bit for video, per Jason
Thorpe (PR#1672).
1995-10-23 23:35:03 +00:00
pk 5e55f88874 Remove `-fno-builtin'. 1995-10-22 17:36:33 +00:00
pk bbfd54d128 Merge from netbsd-1-1 branch: kgdb_debug_panic decl; PR1633 1995-10-18 21:54:34 +00:00
pk ce2afd8d64 Sync filesystem before running installboot. 1995-10-11 13:32:57 +00:00
pk 64a90cd0b0 Check input channel in gettick(); for `L1-A' processing. 1995-10-10 20:11:33 +00:00
pk ebe37d8041 We don't need `rem.o'. 1995-10-10 20:07:54 +00:00
pk 4dcb5917b8 Brr.. libkern.o is way too big for our bootxx.. 1995-10-09 23:25:54 +00:00
pk be2f4294bf Add `fd' to list of possible boot devices. 1995-10-09 22:34:03 +00:00
pk c4dc969b09 Point `bootdv' at the disk device instead of the controller (from Jason Thorpe). 1995-10-09 22:33:07 +00:00
pk 53eb8f8175 RASTERCONS now works on sun4's too. 1995-10-09 15:39:34 +00:00
pk 1ad1d128e3 Fill in `ascent' values correctly. 1995-10-08 19:31:44 +00:00
pk ecf1cf893d Add forgotten `eeprom' configuration. 1995-10-08 11:45:39 +00:00
pk 21a594651a eeprom_match: account for differing physical addresses (per Jason Thorpe). 1995-10-08 11:44:59 +00:00
pk 87a0c55d23 Patch from Jason to factor out a common framebuffer size determination
routine from the individual drivers.
1995-10-08 01:39:13 +00:00
mycroft c078d7a9f4 Remove __builtin_saveregs(). 1995-10-07 22:27:31 +00:00
mycroft 6287d3d7b2 Remove bzero(). 1995-10-07 22:24:50 +00:00
mycroft 245f292fed Prefix names of system call implementation functions with `sys_'. 1995-10-07 06:25:19 +00:00
pk 48849279bf Script to assist installing second-stage boot programs. 1995-10-05 21:03:12 +00:00
pk aea329df61 rcons: rc_maxcol and rc_maxrow were swapped. 1995-10-05 13:16:57 +00:00
pk c8f10b184c Do not set `ra_len' in bwtwomatch(); we only need the pixels for CONSOLE,
but if so, we need the lot.
1995-10-05 00:33:23 +00:00
pk de0c6a97bd RCONSOLE => RASTERCONSOLE. 1995-10-05 00:26:07 +00:00
pk c1e313b122 include `files.rcons'. 1995-10-05 00:21:35 +00:00
pk b79dc038d5 Machine dependent RASTERCONSOLE font definition to be passed to rcons_init(). 1995-10-05 00:02:54 +00:00
pk 859b799130 RCONSOLE => RASTERCONSOLE 1995-10-04 23:44:33 +00:00
pk d19cacbb03 RCONSOLE => RASTERCONSOLE. 1995-10-04 23:35:13 +00:00
pk dad96c6619 Add a few constants used for mapping bit and pieces in the kernel driver. 1995-10-04 00:21:27 +00:00
pk 32c023995c Bring reset logic into interrupt state machine. 1995-10-03 17:32:12 +00:00
pk fcc53878ca Make fbrcons_init() resistant against SUN4s. 1995-10-02 21:48:21 +00:00
pk cfbe993b9b Update to use <machine/cgtworeg.h> 1995-10-02 21:44:51 +00:00
pk 38d1101ad3 Silly me.. there's already a <machine/cgtworeg.h> 1995-10-02 21:44:22 +00:00
pk fb58a99a8f Fix some bogus calls to {read/write}disklabel(). 1995-10-02 21:04:45 +00:00
pk 82434458cc Get some of the bugs out. Thanks to David Gilbert for testing. 1995-10-02 09:07:03 +00:00
pk 13dcbfbb29 Make this work with OBJ dirs. 1995-09-30 21:43:35 +00:00
pk 160b38697c Refer to installboot(8) 1995-09-30 21:33:30 +00:00
pk a029979ad3 Manual page for installboot(8). 1995-09-30 21:32:14 +00:00
pk 691b9f2bfa Avoid reading the filesystem superblock in bootxx; all info now prepared
by installboot (per Gordon Ross).
1995-09-27 09:03:13 +00:00
chuck b3ecc4c310 make sure devopen() sets pd->devtype properly when BOOTXX is defined
(should be DT_BLOCK).  otherwise the bootxx boot block will fail if
you are on a system with a v2 openprom [because it will not do the
v2_seek in obp_strategy()].    fixes the problem recently noted on
the port-sparc list by matthew green <mrg@eterna.com.au>.   i tested
fix on a ss2 with a v2 prom.
1995-09-26 20:07:53 +00:00
pk f33cf7c909 Correct cgtwo address. 1995-09-25 22:33:37 +00:00
chuck b47de9fb69 new "xy" disk device driver from me.
the "xy" driver runs Xylogics 450/451 SMD disk controllers.
1995-09-25 20:35:14 +00:00
chuck 25563b1f82 add config info for "xy" xylogics 450/451 driver 1995-09-25 20:27:30 +00:00
chuck 8d19642cd6 add "xy" xylogics 450/451 config stuff 1995-09-25 20:20:27 +00:00
chuck 1779adf6be minor cleanups:
- don't let pcyl go unassigned if we have a non-sunos disklabel.
		if nothing else, guess pcyl = ncyl + acyl.
	- don't use bogus disklabel data if disk label is invalid
		(xdgetdisklabel() now returns if label was ok or not).
	- move xddriver decl. before start of actual code (cleanup).
1995-09-25 20:12:44 +00:00
chuck 2aff99a206 bug fix: xddummystrat() was clearing all but B_BUSY when it should
have been clearing just B_BUSY (s/B_BUSY/~B_BUSY/).    this
	fixes hard hang when reading disklabel when booting system.
minor clean up: added a few prototypes and only fool with bootpath
	if booting the system (in xdattach).
1995-09-25 16:02:09 +00:00
pk 825bd034de Move pseudo swap block device to major 4 to make way for `xy'. 1995-09-24 20:45:27 +00:00
chuck 4408ec71bf init bad144 table before we actually try and read anything from the
disk, rather than init'ing after reading block 0 [in case we get an
error reading block zero].
1995-09-24 00:27:59 +00:00
thorpej b903d705da Compile the kernel with -Werror and -fno-builtin. 1995-09-19 23:26:58 +00:00
thorpej 7d7396c414 Make system calls conform to a standard prototype and bring those
prototypes into scope.
1995-09-19 22:53:47 +00:00
pk c030fa6ef2 Install in /usr/mdec 1995-09-18 23:33:42 +00:00
pk aa41c30406 Don't strip bootxx on installation. 1995-09-18 23:32:41 +00:00
pk 4025edc861 Make this compile again by calling readdisklabel() with a dummy strategy routine.
XXX - need some reorganization to this from xdopen().
1995-09-18 23:26:39 +00:00
pk 371dd67d56 sync filesystems just prior to writing the bootblocks to the raw device. 1995-09-18 22:36:19 +00:00
pk 974115eb54 Adapt to libsa changes & some other minor nits. 1995-09-18 21:31:44 +00:00
chuck 05f929580f read superblock into &sblock rather than LOADADDR. we can't read
into LOADADDR because it can't be mapped into DVMA space.   this fixes
a dvma panic on a sun4 boot from an xd disk.
1995-09-18 20:24:53 +00:00
chuck 24ba08adca Fixed RELOC's to be hex numbers (as expected) rather than decimal.
(e.g. s/340000/0x340000/).   Fixes DVMA panic on my sun-4/280 when
booted diskless.
1995-09-18 19:52:15 +00:00
pk f447526366 vmes => vmes0 1995-09-17 21:11:13 +00:00
pk 11f1ea06af These files have moved to sys/dev/rcons. 1995-09-17 21:08:25 +00:00
pk 2c523b5941 Remove rcons lines.
Add cgtwo.
1995-09-17 21:03:36 +00:00
pk 30150218f5 Add cgtwo0. 1995-09-17 21:02:56 +00:00
pk c5bc107461 cgtwo framebuffer, cloned from cgthree.c and sun3's cg2.c.
Note: untested, shall be considered a framework to get things started..
1995-09-17 20:53:43 +00:00
pk c92d076f5b Change interface to th `fb' pseudo device to not need the major device
number (a la sun3).
Put in new glue for rcons.
1995-09-17 20:43:39 +00:00
pk b89096d14f Remove all rcons related stuff from `fbdevice'; this is now defined in
dev/rcons/rcons.h.
1995-09-17 20:41:30 +00:00
pk a32163f292 Correct some prototypes. 1995-09-17 00:50:54 +00:00
pk f97c30e5fe Network booting; "oldmon" support; combine all functionality in single images.
Many thanks to Gordon Ross and Chuck Cranor for figuring out and testing
the old monitor (sun4) stuff.
1995-09-16 23:20:22 +00:00
pk db43cabe32 Re-instate configuration print routines, following Chris' suggestion.
Only prints something if there's no scsi bus to attach.
1995-09-14 20:38:53 +00:00
chuck 851669ceab cleaned up bootpath code:
- v2 openprom disk boot generates "/sbus/esp/sd@3,0" which we translated
	into "/sbus@0,0/esp@0,0/sd@3,0"... this caused esp.c to reject
	the bootpath because it was looking for sbus slot/offset 0,0.
	changed the code to generate "/sbus0/esp0/sd@3,0" to fix this
	panic.
 - when generating fake boot paths, generate them with unit numbers
	rather than slot/offsets (thus, /obio@0,0 becomes /obio0, as
	does vmel and vmes).
 - fixed up comments to reflect these changes
tested new code on: 4/280 (diskless), 4/360 (diskless), 4/360 ("xd" disk),
	4/370 (scsi disk), ss1 w/v1 openprom (diskless),
	ss1 w/v1 openprom (scsi disk), ss2 w/v2 openprom (diskless),
	ss2 w/v2 openprom (scsi disk).
1995-09-12 22:03:02 +00:00
pk 9d7c17bfcb We have no need for `esp_print()'; the only child we expect is a `scsibus',
and there's nothing to say if it isn't there. Returning -1 is an error
anyway as noted by Chuck Cranor.
1995-09-11 19:41:21 +00:00
pk 0a5ab32e3d We have no need for `si_print()'; the only child we expect is a `scsibus',
and there's nothing to say if it isn't there.
1995-09-11 19:35:06 +00:00
pk 5bf0d8e4fa `si' and `sw' are scsibusses. 1995-09-11 19:20:12 +00:00
pk bac2393fb0 Probe config registers correctly. 1995-09-06 12:35:38 +00:00
pk 896097d846 Fix `le' faked bootpath (PR#1438, Rolf Grossmann). 1995-09-05 21:46:04 +00:00
pk 60a7c4c394 Add `sw' scsi adapter on obio (per Jason Thorpe, PR#1422). 1995-09-05 21:43:09 +00:00
pk b04e172458 Rename a `xxx' function. 1995-09-04 09:53:53 +00:00
pk 003751356c Patches from Jason Thorpe to deal with 4/110 scsi (PR#1422). Also includes
bootpath glue (PR#1414) (this needs finishing off in disksubr.c).
1995-09-03 22:21:27 +00:00
pk 8bdbf4be70 Update from Jason: eeprom device needs 8-bit access. 1995-09-03 21:55:36 +00:00
pk af6e3d03cf Add data structures used to interface to the monitor-resident drivers. 1995-09-03 21:36:06 +00:00
mycroft 29053c58b2 SA_ONSTACK --> SS_ONSTACK 1995-09-01 20:05:59 +00:00
pk 9b3308eeec Enable writing of disklabels (Many thanks to Jason Thorpe, Gordon Ross
and Matthew Green).
1995-09-01 17:19:50 +00:00
pk b1ae3d7339 Garbage collect. 1995-08-29 23:09:29 +00:00
pk 7a84d590e0 Add bwtwo@obio specs (from Jason Thorpe). 1995-08-29 22:50:36 +00:00
pk bc5b188714 Define bwtwo at obio & vme (from Jason Thorpe). 1995-08-29 22:28:07 +00:00
pk a4e214aef0 If we're the console, say so in attach message. 1995-08-29 22:26:37 +00:00
pk a159e45699 Support for sun4 (from Jason Thorpe). 1995-08-29 22:20:01 +00:00
pk 15c28bc39a Sun4s must set baud rate on the mouse port (from Jason Thorpe). 1995-08-29 22:15:35 +00:00
pk f9777fe9ef Export `eeprom_va' (from Jason Thorpe). 1995-08-29 22:13:19 +00:00
pk 6f1f25d6ed Export `eeprom_va' so drivers can peek at the configuration (from Jason Thorpe). 1995-08-29 22:11:58 +00:00
pk 4bdcdaa4e3 define reserved bits in cfg2 & cfg3 registers correctly. 1995-08-29 20:05:22 +00:00
pk 7e13adf019 Check for absent boot device where it matters. 1995-08-29 19:59:49 +00:00
pk bd12f97e97 Avoid NULL dereference 1995-08-29 19:53:59 +00:00
pk 70c3710dfd minor tweaks from Matthew Green (PR#1410) 1995-08-27 18:58:48 +00:00
pk a3bb091c9e Do bootpath matching. 1995-08-18 22:03:59 +00:00
pk f5252faa3b Include exec header in length computation. 1995-08-18 21:44:01 +00:00
pk 8427fe6126 declarations 1995-08-18 10:47:46 +00:00
pk 7b7773a0c5 Use bootpath_store() to set next boot component; used in dk_establish()
to match `sd' devices against the PROM's boot path.

Detect DMA "overshoots" when handling odd-sized transfer sizes (e.g., xfers
from/to raw partitions), by using the "Transfer Pad" command when the
transfer count reaches zero.
1995-08-18 10:43:46 +00:00
pk ffbae23b6e Set `bootdv' if booted from the floppy drive. 1995-08-18 10:30:16 +00:00
pk f828a4b04c Add a debug flag.
Make `sc_dleft' a `ssize_t' since it's involved in a signed
comparison in esp.c.
1995-08-18 10:09:57 +00:00
pk 0596f75779 Use actual bus names (matches Chuck's bootpath code). 1995-08-18 08:20:26 +00:00
pk 6d3873af7e Bootpath construction code and associated SCSI target mapping to aid
the search for the boot-device in `swap generic' kernels.
From Chuck, munched by me.
1995-08-18 08:14:28 +00:00
thorpej 66dcd8fd69 Add entries for the ccd. 1995-08-17 17:40:42 +00:00
pk 42802ac2fa Drop si_minphys(). 1995-08-16 23:01:16 +00:00
pk de80daa3cd Make MCOUNT() PIC-safe. 1995-08-14 15:44:36 +00:00
mycroft 0a601c87ba Rename two functions. 1995-08-14 02:13:42 +00:00
mycroft 1e69f23205 Export bsd_to_svr4_sig[], and use it. 1995-08-14 02:07:57 +00:00
mycroft 9440382c88 svr4_stack_t --> svr4_sigaltstack 1995-08-14 01:13:29 +00:00
mycroft 7eba547264 Replace splnet() with splsoftnet(). Add splnet(). 1995-08-13 00:29:56 +00:00
pk ced95e1824 update from Chuck 1995-08-01 21:06:55 +00:00
cgd ffe4785a58 update SCSI minphys routines' definitions to match standard minphys()
definition and usage.
1995-07-24 07:33:32 +00:00
brezak f8b400c446 Change DEBUG-->AUDIO_DEBUG. PR# port-sparc/1241 1995-07-19 19:50:16 +00:00
pk cdbe7b1bc5 Have esp_minphys limit transfers to MAXPHYS bytes. 1995-07-13 12:45:22 +00:00
pk 05daa72b3c Move SUN4 console echo hack cnget() (from Chuck Cranor). 1995-07-13 12:02:19 +00:00
thorpej f72d54fa88 Zap duplicate RCS id. 1995-07-12 05:47:47 +00:00
pk 8274dc04d1 si scsi driver configs. 1995-07-08 21:33:48 +00:00
pk 89cb640a97 si scsi driver, adapted from sun3 version by Jason Thorpe.
Note: re-arranged to use dev/ic/ncr5380* MI files.
1995-07-08 21:32:47 +00:00
pk 576bc844e5 Support KIOC_GETLAYOUT, so other than US keyboards can be dealt with better. 1995-07-06 05:35:34 +00:00
pk 12bdf1b787 KNFify a bit. 1995-07-05 19:55:02 +00:00
pk 41d3ba8d49 Commit to MACHINE_NONCONTIG. 1995-07-05 18:52:32 +00:00
pk b8065a4244 remove a db_printf() that has been there for too long. 1995-07-05 18:51:41 +00:00
pk 10a0b4b79e Prototype pmap_dumpsize() and pmap_dumpmmu(). 1995-07-05 18:45:46 +00:00
pk a796c37169 Re-arrange dumpconf() and dumpsys(). 1995-07-05 18:40:50 +00:00
pk b34c403839 #define MACHINE_NONCONTIG here, so all vm_*.c files see it timely. 1995-07-05 18:04:48 +00:00
pk 50755a7cc5 typos. 1995-07-05 17:53:41 +00:00
pk 8a8842dc58 remove __BDEVSW_DUMP_OLD_TYPE
#include <sys/cdefs.h>.
1995-07-05 17:46:11 +00:00
pk 337522fb97 Move dumpmmu() over here. 1995-07-05 16:35:42 +00:00
pk c39b37a262 xd declarations. 1995-07-05 15:53:22 +00:00
pk 9013a7a6e2 Add xxread/xxwrite. 1995-07-05 13:34:10 +00:00
pk deb17b0f15 make this compile better.... 1995-07-05 13:06:33 +00:00
christos 38f1964478 Fix bug in the KGDB trap definition. Add svr4 software traps. 1995-07-04 22:58:51 +00:00
christos 1fc6525f9b trap.c: Add svr4 software traps. Fix bug in errno mapping.
svr4_machdep.c: Add siginfo translation (from mrg), add some software traps.
1995-07-04 22:57:33 +00:00
paulus 374a7cc9cb Add code to soft01intr to call pppintr. 1995-07-04 12:34:37 +00:00
pk 63eeefb6cd make this compile better. 1995-07-04 10:29:22 +00:00
mycroft 7263209ce6 Make each disk and tape driver define its own read and write functions.
Deprecate rawread() and rawwrite() completely.  Remove d_strategy from cdevsw to
force the abstraction barrier.
1995-07-04 07:15:28 +00:00
christos e7dcefc56c Add the svr4 network cloning devices. Now telnet(1) works too. There are
still problems with X-windows programs.
1995-07-02 06:13:27 +00:00
christos 45d46cb0c9 svr4_machdep.c: Fix {get,set}context and sendsig.
locore.s: add signal trampoline code for svr4. There is a lot of code
	  duplication there. Maybe we should share the code?
SVR4 status now:
	/bin/sh:	works
	/bin/ls:	works
	/bin/sleep:	works
	/bin/csh:	gives unknown software trap 0xa7
	/bin/ldd:	works
1995-07-01 23:55:31 +00:00
cgd 2b71eae2c7 note that most of dev/ic's contents have changed names 1995-06-28 04:30:30 +00:00
cgd c83f9c5568 remove unused cpu_exec() definitions. moved "broken swap" markers, for
ports that still need it, to types.h.
1995-06-28 02:55:18 +00:00
cgd d4a54b73d2 kill user-land DELAY macro, as suggested by gwr. 1995-06-28 02:43:36 +00:00
pk 09ea33db05 Do away with ROM printf. 1995-06-26 23:45:06 +00:00
pk a50ba2b546 Adapt to new lib{sa,kern} regime. 1995-06-26 23:26:57 +00:00
pk c7df493055 SMD disk driver, from Chuck Cranor. 1995-06-26 23:06:57 +00:00
pk 70b6d95d44 xd definitions, from Chuck Cranor. 1995-06-26 23:01:06 +00:00
pk 35ad7a1ff3 xd driver entries, from Chuck Cranor. 1995-06-26 23:00:32 +00:00
pk 4f4e4826a6 xd definitions, from Chuck Cranor. 1995-06-26 23:00:31 +00:00
pk d918ea9e14 xd driver entries, from Chuck Cranor. 1995-06-26 22:59:54 +00:00
pk 3c17e9e63f isbad(), for Chuck's new xd driver. 1995-06-26 22:57:29 +00:00
pk 34c8ad8c30 Define dvma_map{in,out}() to map a buffer into DVMA space. These are
safe for use at interrupt time.

Implement vmapbuf() and vunmapbuf() in terms of these new functions.
1995-06-26 22:46:04 +00:00
pk 68e9c36909 Allocate/initialise DVMA maps and base address.
The fact that `phys_map' is split in half for different kinds of DVMA
allocations is not ideal..
1995-06-26 22:41:23 +00:00
pk affbc4d346 Define variables and macros for DVMA allocation using rmaps. 1995-06-26 22:36:32 +00:00
pk 04977f87e0 sl_xxx2 -> sl_pcylinder, for Chucks new xd driver. 1995-06-26 22:09:47 +00:00
pk 47ce042b76 Small optimisation & 1 fewer depedency on zs_ctty. 1995-06-26 21:45:31 +00:00
pk 45eb69b276 Use ZS_DELAY() in a few more places (from Gordon Ross, cf. sun3/dev/zs.c). 1995-06-26 21:32:51 +00:00
cgd 2d49c3885b clean up definitions of ctod(), dtoc(), ctob(), btoc(), btodb(), and
dbtob().  remove unused definitions of ctos(), stoc(), and dtob().
1995-06-26 06:55:38 +00:00
cgd 1c0be437b1 define __BDEVSW_DUMP_OLD_TYPE for ports where it's true. clean up
some m68k ports inclusion of common header.
1995-06-26 05:13:37 +00:00
pk 2321aeb62a Reserve arguments 2-4 for SunOS loaders; pass DDB stuff in args 5 and 6. 1995-06-25 23:26:21 +00:00
pk 008504e597 Define IO-cache bit for sun 4/400 machines. 1995-06-25 23:15:58 +00:00
pk 95733d9732 add a couple more sun4m bits. 1995-06-25 21:34:28 +00:00
christos a5c53e5068 Makefile.`arch`: - Add -lcompat
- Change clean: target to be a double dep one,
			  so libraries can use the clean target too
1995-06-24 20:47:36 +00:00
pk dbc54ab48e For a mmu3/sun4 too, it will suffice to just map the first 16MB. 1995-06-24 20:42:59 +00:00
pk 20d86b44f2 Assume kernel is < 16MB in size,
Massage the a few control bits before remapping (from David S. Miller).
1995-06-23 15:44:34 +00:00
pk ad8e3ed225 Sync with net/if.h 1995-06-23 13:19:44 +00:00
jtc 55fbbc705d Wrap with #ifndef _XXX_FLOAT_H_/#define _XXX_FLOAT_H_/ ... /#endif. 1995-06-20 20:45:22 +00:00
jtc 1d65cdd4ab #include <sys/cdefs.h>.
Wrap __flt_rounds() declaration with __BEGIN_DECLS/__END_DECLS.
1995-06-20 20:32:22 +00:00
cgd 8f62c773e8 don't assume the f_fsnamelen is nul-truncated or longer than MFSNAMELEN 1995-06-18 14:45:14 +00:00
pk c049178b03 Deal with unrecovered boot devices. 1995-06-10 21:48:29 +00:00
pk bf834e228d Add UNION option. 1995-06-05 12:46:31 +00:00
pk c86cba88fe Update SCSI decls. 1995-06-02 17:53:51 +00:00
pk c0c45bba22 Try to recover from multi-byte messages sent by a target for which we
get an "Illegal command" (why is this?) when we try to pull it in.
On detection of this condition, we reset the SCSI bus and simply stop asking
this target for an identify messages, for now.
1995-06-02 15:46:47 +00:00
pk 4770e5e7c5 Try to recover from multi-byte messages sent by a target for which we
get an "Illegal command" (why is this?) when we try to pull it in.
On detection of this condition, we reset the SCSI bus and simply stop asking
this target for an identify messages, for now.
1995-06-02 13:43:30 +00:00
pk 8066369f08 Deal with v.3 proms (sigh). 1995-06-01 14:36:17 +00:00
pk ff6265b288 Remove useless msgbufmapped definition.
Two cases of incorrect addressing while not mapped at KERNBASE.
Some more sun4m stuff.
1995-05-30 20:29:42 +00:00
pk 95fcffe527 eeprom device for Sun4 from Jason Thorpe. 1995-05-29 23:56:27 +00:00
pk 555da07c0f eeprom device (from Jason Thorpe). 1995-05-29 23:53:50 +00:00
pk 06ffffda03 Propagate bootpaths 1995-05-27 08:12:51 +00:00
pk 92414dd1c7 Use a different method to discriminate a 82077 from a 82072 (from Chris Torek);
using the NE7CMD_VERSION command is too unreliable.
1995-05-20 20:03:37 +00:00
pk c3d5b45b6e Name fd register structures more appropriately. 1995-05-20 19:59:52 +00:00
pk b4cf60ac8a cpu_swapout() not needed after all. 1995-05-19 06:57:41 +00:00
jtc f90f8d10aa Removing -DKERNEL, transition to _KERNEL has been completed 1995-05-16 22:24:17 +00:00
mycroft 783186a896 Put the address of the ps_strings structure in %g1. 1995-05-16 21:16:37 +00:00
pk ed9d5444a2 Really test # of status bytes. 1995-05-16 17:02:00 +00:00
pk 85dbf66a28 Remove redundant copy of sunos_sigreturn(). 1995-05-16 16:06:48 +00:00
pk 39a8c80c65 Prototype internal function. 1995-05-16 15:28:01 +00:00
pk e01c46144d Minimalist implementation of KIOC[SG]KEY. 1995-05-10 16:04:55 +00:00
christos 8e536df8d5 Added sunos_machdep.c; from Matthew Green 1995-05-08 19:14:21 +00:00
christos 9d460c41af Added sunos_machdep.c [from Matthew Green] 1995-05-08 19:13:48 +00:00
pk 530cf06fbb Adapt declaration to stand.h; PR #1036 1995-05-08 18:56:06 +00:00
pk 9ca43d7c14 Remove -I/usr/include from `genassym' line. 1995-05-08 18:02:12 +00:00
pk c9d346c81c Refuse to map addresses in a MMU hole; the process will get a SEGV.
Changed mmu_pagein() interface.
Small nit in mmu_entry.
1995-05-08 17:56:49 +00:00
pk 51082874bf Use VA_INHOLE().
Define arguments to mmu_pagein() in terms of MI VM constants; an idea from Theo.
1995-05-08 17:53:40 +00:00
pk 2a3952abeb implement cpu_swapout() 1995-05-08 17:50:00 +00:00
pk f250262185 #define VA_INHOLE() - to test a VA for being in an MMU hole
(and PG_VSHIFT should 29).
1995-05-08 17:47:26 +00:00
pk 9ef5f62072 Start swapping. 1995-05-08 17:34:20 +00:00
cgd 8703076975 define BROKEN_SWAP and/or cpu_swapout as appropriate. 1995-05-05 03:41:51 +00:00
pk 7d244351cf Add `evcnt' field. 1995-05-04 19:43:27 +00:00
pk 089ab8e266 define audio `evcnt' field. 1995-05-04 19:42:36 +00:00
pk 9e61204b61 Tally interrupts. 1995-05-04 19:41:35 +00:00
pk 0c8be3a288 Make sure kbdopen() ships the keyboard reset cmd. 1995-05-02 07:56:42 +00:00
pk c78dd5a369 New location & definitions for audio driver. 1995-05-01 14:13:45 +00:00
cgd 0e59975fac rename files files for new config/config.old naming 1995-04-28 08:19:12 +00:00
pk 1138c9d047 Handle KIOC[GS]LED ioctls; from Lon Willett. 1995-04-27 14:27:11 +00:00
christos 9cc011e7a1 Use new files.sunos and old files.svr4 :-) 1995-04-27 12:16:31 +00:00
pk d4f78febcf define LED controls 1995-04-26 14:24:54 +00:00
pk a1175c74a0 Fast checksummer from Matthew Green. 1995-04-26 13:30:03 +00:00
christos 7a2ec6be4b Make this compile again... 1995-04-25 21:57:10 +00:00
pk eb8a2e27a0 New audio driver. 1995-04-25 20:08:13 +00:00
pk 794f74a0cf Audio driver name change. 1995-04-25 20:07:10 +00:00
pk 8d90aefeb0 New audio driver from Rolf Grossmann. 1995-04-25 20:05:32 +00:00
pk e9177420ca NetBSD RCSid 1995-04-25 20:01:23 +00:00
pk 6d68e2f26f Remove duplication of code from subr_autoconf.c 1995-04-25 19:59:49 +00:00
pk 700118da76 Stop-gap measure to prevent panic when select()ing on /dev/console. 1995-04-25 17:52:43 +00:00
pk 64f2d35a0f Do not report each pseudo-DMA overrun as a (soft) error.
Add a small heuristic to converge on an acceptable threshold value.
1995-04-25 14:44:44 +00:00
christos c5f01c2a4c Fixed comparison in SYS__syscall to be against sysent instead of
p->p_emul->e_sysent [Thanks Charles for pointing this out].
I think that this code needs to be fixed anyway for emulations where
SYS_syscall is not the same number as the NetBSD one (0)... (Only the
alpha port so far?)
1995-04-22 20:49:06 +00:00
christos de42a28a1b - added sunos_machdep.c for sun3, atari, amiga and mac68k.
- changed machdep.c and trap.c to use struct emul.
- remove ep_setup references.
- added struct emul to all emulations.
1995-04-22 20:24:40 +00:00
pk d923e0ed9b Use vfs_shutdown(). 1995-04-22 10:00:50 +00:00
pk 87beda7b2a Implement zstty(). 1995-04-21 15:51:26 +00:00
pk 532a15a74e sync with sys/conf.h 1995-04-21 15:50:06 +00:00
pk 6367e0730f Use db_printsym() for calls and branches. 1995-04-19 21:24:29 +00:00
pk af16724ee9 Avoid dereffing a fuzzy NULL-pointer. 1995-04-19 20:59:29 +00:00
pk bd52caa035 probeset() was trashing its arguments; fix from Chuck Cranor. 1995-04-19 12:49:27 +00:00
mycroft 72adfee7f7 EMUL_IBCS2_ELF -> EMUL_SVR4; EMUL_IBCS2_{COFF,XOUT} -> EMUL_IBCS2 1995-04-13 20:48:14 +00:00
pk 785f352260 Do a probe in fdmatch() to guard against dumb PROMs. 1995-04-13 20:24:36 +00:00
pk 0e186f0490 Leave `swapdev' alone; it's not really on par with `rootdev' & `dumpdev'. 1995-04-13 16:46:55 +00:00
pk e1873796ae Make size of `struct pmap' independent of `MMU3_L', so libkvm is
usable on all machines.
1995-04-13 16:24:40 +00:00
pk 8fb8266195 Remap regions to KERNBASE on 3-level MMU machines. 1995-04-13 14:52:24 +00:00
pk 2629e0a3f4 Use `register_t'. 1995-04-13 14:50:26 +00:00
pk 71319ed7a3 3-level MMU support: interface to cache_flush_segment() changed. 1995-04-13 14:48:51 +00:00
pk 0cb981d007 crash dumps need revision 1995-04-13 14:45:43 +00:00