Commit Graph

12307 Commits

Author SHA1 Message Date
matthias
bb66aaeadc * Make it possible to disable disconnect/reconnect on a per target base.
* Eliminate disable interrupts in ncr_pdma_in. No more fifo overflows at
  high baud rates :-) (Thank's to Ian Dall for this).
1997-07-09 19:28:25 +00:00
matthias
c5e3d310a6 When booting from a md device set RB_DFLTROOT in boothowto. 1997-07-09 19:28:20 +00:00
matthias
1c1450c97a Remove __VM_PMAP_HACK. 1997-07-09 19:27:54 +00:00
matthias
ed60e6a598 This wasn't in use for several years now. 1997-07-09 19:27:33 +00:00
matthias
147aa6816f Remove __VM_PMAP_HACK. 1997-07-09 19:26:34 +00:00
leo
1c21c4994d Make sure the card is probed once. 1997-07-09 14:38:02 +00:00
leo
89325630dd Introduce 'bootversion' in locore.s. Check this to decide if installing
a bootstrap with the running installboot makes sense.
1997-07-09 14:31:12 +00:00
thorpej
b4ab2c89f5 Oops, fix a slight oversight, and remove T_MACHCHECK handling (some
code for this was in my private tree at one time, and I must have
forgotten to g/c the constant from trap.h).  Reported by
enami tsugutomo <enami@but-b.or.jp>, PR #3845.
1997-07-09 07:01:29 +00:00
pk
94289e9990 In the turbosparc's "match" function, test for the `master' CPU, in case
someone ever builds a multi-processor turbosparc module.
1997-07-08 22:14:42 +00:00
pk
8eae6eb3b7 Fix a pasto in kvm_uncache() (sun4m)
Add TLB flushes when removing segments/regions.
Flush cache appropriately when cache-tag protection bits need invalidation.
1997-07-08 20:02:47 +00:00
pk
27d22f8faf Add FPU version 5 (turbosparc on-chip).
Re-arrange cpuattach() a bit so that more initialization is done before
dealing with the FPU.  Some more work is still required to de-couple
FPU detection from the autoconfiguration attach code in SMP systems.
1997-07-08 19:58:14 +00:00
mark
ec553ec8c0 New version of the ARM FPE core built. This core does not have all the
builtin veneer code. Instead this veneer code has been moved to kernel.
This removes the need for any runtime fixups of the fpe.
1997-07-08 19:41:28 +00:00
thorpej
4e8a131f3a When allocating space used by physical memory from the iomem extent,
use a value derived from biosbasemem, rather than a constant.  Pointed
out by Chris Demetriou <cgd@netbsd.org>
1997-07-08 17:55:44 +00:00
kleink
96914606be From sun3:
Correct handling for Trap #2 in SunOS executables,
 now that we know it is supposed to flush the cache.
 (Was thought to be "some obscure FPU operation".)
1997-07-08 16:56:31 +00:00
pk
99edebd566 fbrcons_{rows,cols} helper functions. 1997-07-07 23:31:30 +00:00
pk
af86c62d61 Get console tty size from raster console if applicable. 1997-07-07 23:30:22 +00:00
pk
7a959f1752 Add `maxusers' line and set it to 32. 1997-07-07 21:54:51 +00:00
pk
42f6c894f8 Raise max maxusers to 1024 1997-07-07 21:53:43 +00:00
pk
0360275f33 Clear relevant `cpuinfo' fields upon detection of a cloaked TurboSparc. 1997-07-07 20:43:25 +00:00
cgd
fce829ca4b mark prototypes for static inline functions as possibly unused
(with __attribute__ ((unused))), to avoid generating warnings when
compiling without optimization but with the default warning flags.
1997-07-07 20:37:34 +00:00
pk
2d50be8cb3 Add `turbosparc_getfaultstatus()' to be used instead of the generic srmmu item. 1997-07-07 20:06:42 +00:00
jonathan
1490cbcf7b Rewrite struct ecoff_symhdr using the same field ordering as GNU
binutils and the MipsCo toolchain, not the Alpha ordering (which has a
block of int32_t symbol counts and a block of long offsets) .
1997-07-07 19:37:33 +00:00
pk
3c1b9ba29b Install media functions only if something useful can be returned. 1997-07-07 16:28:44 +00:00
hannken
bcb9e18784 Fix bad parentheses in `getcpuinfo()'. 1997-07-07 08:44:01 +00:00
jonathan
65e2c70353 Force write-back of D-cache after doing DDB writes on mips3. Flushing
the Icache is not sufficient: a mips3 can write a new insn into
writeback L1 Dcache, leaving stale instructions in the mixed L2 cache.
1997-07-07 04:55:27 +00:00
jonathan
919bc0ce92 Typo in RCS id. 1997-07-07 03:57:55 +00:00
jonathan
d1ec048977 DDB for mips.
Add DDB interface to /sys/arch/mips/mips..
  Rework heuristic stack traceback to work with DDB.
  Add hooks  to print exception log from DDB.
  Add hooks from pmax console drivers:   call Debugger()
  after break from serial console, or 'DO' key from LK-xxx.
1997-07-07 03:54:24 +00:00
pk
27434aef27 Follow lock changes (DEBUG => LOCKDEBUG). 1997-07-06 23:57:16 +00:00
pk
4846e5ba47 Adjust for generic lock changes. 1997-07-06 23:52:52 +00:00
is
487476c2a9 Implement the RTC_OFFSET kernel option/rtc_offset variable for the Amiga port.
To get the old behaviour, set options RTC_OFFSET=0 in your kernel configuration
file.
1997-07-06 23:17:53 +00:00
ragge
759763742b Remove __VM_PMAP_HACK. 1997-07-06 22:38:22 +00:00
is
5e6f97d4ef A first hack at DraCo real-time clock support; only reads clock, currently.
Also only whole seconds are used (while the hardware provides 1/256 seconds).
1997-07-06 22:27:19 +00:00
pk
f02db5d4f6 Turn off microsparc II compatibility bit in Fujitsu turbosparc processors. 1997-07-06 22:23:37 +00:00
pk
0ab67aca5d Define the turbosparc's processor configuration register. 1997-07-06 22:21:11 +00:00
pk
c4e35e2f8b Have a patchable variable `ignore_bogus_traps' (0 by default) that
controls whether or we panic when receiving an unhandled trap.
1997-07-06 21:34:45 +00:00
pk
bbb57cadb4 Use the module info fields cputype' and vactype' to hold a processor
family's type and cache information. This can be optionally modified
by the associated `match' routine.
1997-07-06 21:18:27 +00:00
pk
55a6f97322 Add VAC_UNKNOWN to `enum vactype'. 1997-07-06 21:15:14 +00:00
pk
81469e565e Add two more fields (cputype' and vactype') to the module info. 1997-07-06 21:14:25 +00:00
christos
3de323b091 Fix printf formats. 1997-07-06 19:32:39 +00:00
pk
48ad000318 Slight optimization when pv_unlink'ing last entry (suggested by Eric Fair).
Use MR4() macro where appropriate.
1997-07-06 12:29:54 +00:00
pk
c3af302842 Use setpgt4m() in setptesw4m(). 1997-07-06 12:22:39 +00:00
thorpej
3a3d0fcb0f Add new DDB and KGDB files. 1997-07-06 04:09:45 +00:00
thorpej
55fdd1f6be Add a new line in a printf, for purely cosmetic reasons. 1997-07-05 20:58:30 +00:00
leo
cd3ee4b310 If booted with RB_ASKNAME, don't go looking for a root device. 1997-07-05 20:57:40 +00:00
leo
a323500b0f Pull in latest Amiga bus/address error handling. 1997-07-05 20:50:41 +00:00
thorpej
15de91e26d Add a breakpoint() inline, used by DDB and KGDB. 1997-07-05 20:49:46 +00:00
thorpej
bbf08442c7 Define the ALTENTRY() macro here. 1997-07-05 20:49:19 +00:00
thorpej
bc831d9a96 Add glue for remote KGDB. 1997-07-05 20:48:12 +00:00
thorpej
9ae7db0945 Garbage-collect old KGDB glue. 1997-07-05 20:47:35 +00:00
thorpej
46222f0d29 Split the memory access functions out of db_interface.c, so that they can
be shared by DDB and KGDB.
1997-07-05 20:46:37 +00:00
thorpej
f796580395 Machine-dependent portions of remote serial KGDB, for NetBSD/i386. Based
on Matthias Pfaller's NetBSD/pc532 kgdb_machdep.c.
1997-07-05 20:44:57 +00:00
is
5171612d6c Multichannel output still doesn't work, but while working on it, I repaired
the double buffering code, and setting a couple of other parameters works now.
1997-07-04 21:00:15 +00:00
is
e03fce55ed addql does set condition codes, so we are not allowed to put it in between
the andl and the jeq.
Mea maxima culpa.
1997-07-04 20:52:50 +00:00
ragge
59501e1879 Fix bug causing all uda's to be recognized as ctlr 1 from boot. 1997-07-04 13:26:02 +00:00
ragge
d7d40e44f6 Bugfix to mscp tape code; so that weof/eot works correctly. 1997-07-04 11:58:20 +00:00
drochner
41c3159f16 Emulate old bootblocks better: Use type of boot harddisk, extracted
from disklabel, as default.
(Pushed by Darren Reed <darrenr@cyber.com.au>:-)
1997-07-04 10:52:44 +00:00
scottr
9fc7759ee2 Optimize the bus error handlers a bit; save a couple cycles by dropping
through a branch rather than taking it in the case of an MMU fault,
which also has the desirable side effect of possibly avoiding an
I-cache miss.
1997-07-04 04:49:15 +00:00
pk
aff11374d7 Defer setting the CACHEPAGETABLES flag until cache_enable(). 1997-07-02 14:52:59 +00:00
pk
94113eb121 Remove a bogon. 1997-07-02 14:39:24 +00:00
jonathan
eca6630217 Fix NSCC tests. Use NSCC > 0 (needs-flag) rather than NSCC > 1 (needs-count).
Fix prototypes previously hidden by same.
1997-07-02 13:59:15 +00:00
drochner
0b58e59709 Correct the error message printing for failed boot attempts
("filename" must be processed by parsebootfile() first).
Being here:
- remove the special "#ifdef MATTHIAS" mainloop
- make some "booting..." output match reality
- print '\n' and '\b' more controlled
1997-07-02 13:20:36 +00:00
mikel
7b93ae0fcb if exec_netbsd() fails, indicate what file we were trying to boot.
suggested by Havard Eidnes in PR port-i386/3771.
1997-07-02 04:07:43 +00:00
jeremy
bbf76eb63e Implement pmap and va caching within C table managers to help speed
up PV->(pmap,va) operations.
1997-07-02 03:23:57 +00:00
cjs
3b3cb5bcff Update comments to show that ed driver on PCI works with 3c90x cards. 1997-07-02 02:44:09 +00:00
scottr
d00173ae5a Add support for Portrait Video Card. From SUNAGAWA Keiki
<kei_sun@ba2.so-net.or.jp> in PR 3821.
1997-07-01 19:04:18 +00:00
jonathan
da53d70f23 Move generic mips functions setregs(), sendsig(), sys_signal()
to sys/arch/mips/mips/mips_machdep.c.  Delete from pica, pmax machdep.c.

Delint pica machdep.c.
1997-07-01 09:32:13 +00:00
jonathan
dfa33cb24e Remove "untested" comments and messages. 1997-07-01 07:21:14 +00:00
jonathan
e0bb7d9370 Establish handler for vertical-retrace interrupts.
Use establish-time argument in handlers, to work with multiple framebuffers.
1997-06-30 22:08:58 +00:00
jonathan
8586e62e14 Enable stack tracebacks if MDB is configured. 1997-06-30 14:42:32 +00:00
scottr
f2bdde942a Due to reliability problems on some models, back out the more radical of
the pc532/dev/ncr.c-inspired changes; in particular, wait for previous
transfer to complete before starting another, as we used to do.  Retain
splbio() protection and simplified sbc_pdma_in().
1997-06-30 05:24:35 +00:00
ragge
9f009387fc Must grok includes. Also; prettier compile-time printout. 1997-06-29 21:30:09 +00:00
leo
d4c5e4e6fe Add code to set pitch and duration of the keyboard bell. (Thomas Gerner). 1997-06-29 20:30:49 +00:00
scottr
ea99cc2796 Fix tyop in last; will link 040-enabled kernels now. 1997-06-29 19:54:57 +00:00
scottr
4428f246a1 Split up CPU-dependent bus error/address error handlers. Mostly from
the Amiga port, but with an extension to save the actual fault
address (in m68k_fault_addr) when we catch a bus error.
1997-06-29 19:02:07 +00:00
scottr
6eb0e7c503 Prototype DCIS(). 1997-06-29 18:56:11 +00:00
pk
363c28ce88 Fix typo in last commit. 1997-06-29 18:44:21 +00:00
is
86f86c044c Use function types for vectab, instead of u_int8_t *. 1997-06-29 13:49:45 +00:00
scottr
0b7e64bbfa Update for mac68k_buserr_addr -> m68k_fault_addr change. 1997-06-29 06:10:35 +00:00
scottr
7044c8fd8a Get several cleanup chores out of the way. The code is functionally
identical to the previous incarnation.

 - Update using m68k asm.h macros
 - Move initialization towards the front of the file
 - Rename mac68k_buserr_addr to m68k_fault_addr
 - Reorganize trap 15 handler, similar in structure to -- though not as
   complete as -- the hp300 version
 - Reorganize doboot() for easier integration of external cache, and
   make room for the latter (#ifdef __notyet__)
 - General garbage collection of unused code/data
1997-06-29 06:07:39 +00:00
scottr
a3bfbcf80a Remove unused (#ifdef'ed) vector 0 initalizer 1997-06-29 05:52:11 +00:00
scottr
be164c61ed Garbage collect bad{,b,w,l}addr() 1997-06-29 00:26:12 +00:00
scottr
494cda5d27 Use <m68k/include/asm.h>. 1997-06-28 23:35:02 +00:00
leo
1f92b460a0 Add 'libsa/atari_stand.h' that defines atari specific things. This allows
for a removal of our own copy of stand.h which was out-of-date by definition.
1997-06-28 21:36:28 +00:00
pk
adc8e8d8b0 Accommodate non-VM_PMAP_HACK code. 1997-06-28 19:59:03 +00:00
pk
a9b31740a2 Remove __VM_PMAP_HACK. 1997-06-28 19:56:12 +00:00
thorpej
b1d65b1d3f Adjust start address here, now that exec() no longer does it for us. 1997-06-28 07:20:25 +00:00
mhitch
d6b6efec34 Moved the mini-debug routines out of trap.c into their own file, like the
original pica port.
1997-06-28 03:59:46 +00:00
mhitch
a503f4436c Mini-debuuger is now included by options MDB.
Move mini-debugger routines to separate file, minidebug.c.
1997-06-28 03:57:55 +00:00
mhitch
566b174c13 Mini-debugger now included by options MDB.
Cpu_regs() is included by options DEBUG, as are the stacktrace routines,
so move it inside the #ifdef DEBUG along with stacktrace().
1997-06-28 03:55:05 +00:00
mhitch
8c12914cdb Fix typo.
Include minidebug.c with options MDB.
1997-06-28 03:43:21 +00:00
is
de025de65f Add support for T-racing of emulated instructions. (Yes, gdb uses this.) 1997-06-27 23:32:09 +00:00
jeremy
63c23f2337 Add reference to DMA selection variable used in dev/ic/ncr53c9x.c and sample
code to enable it.  Currently commented out.
1997-06-27 02:07:32 +00:00
is
f3efbb406a The recent buserr handler cleanup in the Amiga locore.s made the label
_buserr point to the 68020/030 buserr code _only_. This has broken access
error handling in the 060 support code.
This is repaired by jumping to _buserr60 from the 060SP, and by providing
a _buserr60 label identical to the _buserr in the unchanged m68k ports
using the 68060.
1997-06-26 22:28:42 +00:00
scottr
b1f4ee5c2a Identify and use the Apple Twisted Pair NB card properly, from PR 3789
submitted by Denny Gentry <denny1@home.com>; investigation on the hardware
done by Bob Nestor.
1997-06-26 21:08:10 +00:00
drochner
7f15295bde Define _STANDALONE for standalone programs. 1997-06-26 19:03:32 +00:00
perry
73de3e34b8 "fake" disklabels should make the whole thing the 'c' partition, not
the 'a' partition. Sanity checked by thorpej.

This, incidently, may have been causing user errors in initializing
new disks, as described in (now closed) pr-2729 from Scott Reynolds,
because users typically don't try to edit their c partitions to be
"correct".
1997-06-26 05:40:30 +00:00
jeremy
335b7a2d00 Duplicate changes recently made to the SPARC version of this file:
Do not print warnings if selection of a target via DMA was interrupted
by another target.
1997-06-26 02:47:09 +00:00
thorpej
0404c01c46 #define DB_AOUT_SYMBOLS 1997-06-26 01:26:56 +00:00
thorpej
7c03f46228 Don't print a warning if the returned transfer count is less than 0.
This can happen during perfectly normal operation if:
	(a) We are using DMA to select a target, and
	(b) we are interrupted by another target reselecting us.
Per discussion with Paul Krannenburg.
1997-06-26 00:31:20 +00:00
briggs
9979fcd706 Fix from camk@telecom.ksu.edu (Kelly Campbell), via Ken Nakata, for a
problem causing SIGSEGVs under FP emulation on the 68LC040.  The size
for the type 4 exception frame was not properly defined.
1997-06-25 12:44:05 +00:00
leo
b61541d6c2 Be consistent with more pedantic bus.h. 1997-06-25 12:15:54 +00:00
leo
61d060feec Add the types for 'bus_dma_tag_t' and 'bus_dmamap_t'. While here, be a bit
more precise in using types of the bus_space* address arguments.
1997-06-25 12:06:10 +00:00
jonathan
11bfae37bb Update compiled-in default partition. Default root 32Mbytes, swap 64Mbytes.
(appropriate for ELF and growth in / since 4.4bsd/pmax).
Clip default-label partitions against the end of the disk to make installs
easier.
1997-06-25 11:00:32 +00:00
mhitch
63f2f12797 Someday I'll learn how the MIPS cpu works; add some delay after the tlbp
when switching to a new process.  This was causing a ktlbmiss and stack
overflow panic on R3000 machines.
1997-06-25 05:06:01 +00:00
mellon
021ee70ed5 Adjust options statements so that if they are commented out or uncommented, it doesn't screw up indentation. 1997-06-25 04:41:15 +00:00
mjacob
ff21c8f511 Turn of 'unclaimed interrupt' messages- we know about them already- we can't
really fix this as yet.
1997-06-24 18:08:59 +00:00
thorpej
9fefca0657 Update for repaired Triton MX PCI ID. 1997-06-24 06:21:22 +00:00
thorpej
cf016f61f4 foosize()'s return value is in DEV_BSIZE units; adjust the size obtained
from the disklabel accordingly.
1997-06-24 00:56:28 +00:00
thorpej
ee8581a255 foosize()'s return value is in DEV_BSIZE units; adjust the size obtained
from the disklabel accordingly.
1997-06-24 00:44:03 +00:00
thorpej
afe2bc9b9e In wdsize():
- If the partition is already open, skip the open/close step.  (Sync with
  other disk drivers).
- foosize()'s return value is in DEV_BSIZE units; adjust the size obtained
  from the disklabel accordingly.
1997-06-24 00:41:29 +00:00
thorpej
45097cab83 foosize()'s return value is in DEV_BSIZE units; adjust the size obtained
from the disklabel accordingly.
1997-06-24 00:38:46 +00:00
thorpej
84166e5151 foosize()'s return value is in DEV_BSIZE units; adjust the size obtained
from the disklabel accordingly.
1997-06-24 00:28:36 +00:00
fvdl
9270fc61c1 Turn some bus_space_write_2s back to bus_space_write1s, like they should
be. Seemingly leftover from bus_io -> bus_space transition.

Fixes PR 3780, from Thorsten Frueauf
1997-06-23 23:46:40 +00:00
is
7fe3065765 Make aucc work in the presence of LEV6_DEFER. 1997-06-23 23:46:23 +00:00
jonathan
1eadfb6db9 Change NetBSD/mips setregs() to pass explicit arguments to a
newly-exec()ed user-land process for the new dl*-capable crt0:

  a0	stack pointer (points to onstack argc)
  a1	rtld cleanup (filled in by dynamic loader)
  a2	rtld object (filled in by dynamic loader)
  a3	ps_strings

From Jason Thorpe (thorpej@nas.nasa.gov).
1997-06-23 22:08:02 +00:00
mhitch
dc1ece0234 Move the mips*_dump_tlb() routines outside the #ifdef so they are always
available.  Used in the locore ktlbmiss/panic to display the TLB contents
that are mapping the kernel stack.
1997-06-23 21:48:28 +00:00
mhitch
f200f89fe7 Remove an incorrect store of the SP when displaying information about a
ktlbmiss on the kernel stack.  It was showing the temporary SP, not the
original SP.

Add a display of the first few wired entries of the TLB so when the ktblmiss
occurs, the TLB entries mapping the kernel stack can be verified.
1997-06-23 21:45:05 +00:00
is
cadf1d32d2 fdboot is too big again. leave it out. 1997-06-23 20:44:49 +00:00
jonathan
0d95f6f43d Align to 8-byte boundary after ASMSTR(), for mips3. 1997-06-23 06:15:28 +00:00
mrg
ea3d699c3c remove pcvtdoc. 1997-06-23 03:50:54 +00:00
mrg
38e40629b9 really nothing left here now. 1997-06-23 03:50:39 +00:00
mrg
90a52da37a move man pages into share/man. 1997-06-23 03:30:19 +00:00
mrg
1c91d7d00f nothing here anymore 1997-06-23 03:27:11 +00:00
jonathan
9e07630d3d Apply sys/arch/mips changes (MACH_ -> MIPS_ or MIPS3_) changes to Pica port.
PICA Kernel compiles with warnings and links, otherwise untested.
1997-06-23 02:56:38 +00:00
jonathan
b372cd5fab Delete entire contents. Just #include <mips/psl.h> until
all uses are changed.
1997-06-23 02:48:54 +00:00
jonathan
8e7adc29d1 Delete entire contents, just #include <mips/asm.h> 1997-06-23 02:48:02 +00:00
jonathan
870a3f6b5f *** empty log message *** 1997-06-23 02:46:45 +00:00
jonathan
8f7409033b Copyright police. 1997-06-23 02:45:21 +00:00
jonathan
d2faa7a82b Set kernel text start address in port-specific Makefile, not ldscript. 1997-06-23 02:40:28 +00:00
jonathan
833cdd0ec6 Apply MACH_ -> MIPS_ changes from sys/arch/mips. 1997-06-23 00:04:06 +00:00
jonathan
e5e8113990 Copyright to NetBSD foundation. 1997-06-22 22:41:33 +00:00
jonathan
1eba6a6cc9 Disambiguate cache-size message, as suggested by cgd. 1997-06-22 12:22:37 +00:00
jonathan
89868a5f07 Import mcclock from NetBSD/Alpha, mostly replacing the Sprite clock code.
interface.   From Toru Nishimura <nisimura@itc.aist-nara.ac.jp>.

Partly merged back with Alpha code by Jonathan Stone. Needs more merging.
1997-06-22 09:34:34 +00:00
jonathan
1f44934407 * Change Sprite MACH_xxx prefix to MIPS_xxx.
* Use standard mips terminology (xxx_KSEG0, xxx_KSEG1) instead of the
  (more meaningful) Sprite names (xxx_CACHED, xxx_UNCACHED).
1997-06-22 07:42:25 +00:00
mrg
829a5a9063 move man pages into share/man. 1997-06-22 07:02:27 +00:00
mrg
a98b6e31ca move man pages into share/man. 1997-06-22 06:40:25 +00:00
mrg
71ee532c82 move man pages into share/man. 1997-06-22 06:25:58 +00:00
mrg
e179766b04 move man pages into share/man. 1997-06-22 05:58:25 +00:00
mrg
c86a511276 move man pages into share/man. 1997-06-22 05:48:14 +00:00
mrg
fbac1c1b2c move man pages into share/man. 1997-06-22 05:16:57 +00:00
jonathan
18483dac78 Identical to mips/mips/fp.S except for _C_LABEL(). 1997-06-22 05:10:01 +00:00
mrg
f66658c8e0 move man pages into share/man. 1997-06-22 05:05:17 +00:00
jonathan
b86aa7f311 Fix typo mips3_mips_switch_exit. 1997-06-22 04:30:01 +00:00
jonathan
67929469da Include <mips/cpuregs.h> until we merge with arch/mips. 1997-06-22 04:09:06 +00:00
jonathan
02cdce0090 Protoypes for configure(), initcpu(). 1997-06-22 04:08:06 +00:00
jonathan
4692a37162 Final changes for configuring MIPS1 and MIPS3 in a single kernel.
* cpuregs.h:
    rename remaining VMMACH_xxx TLB macros to MIPS_TLB_xxx.
    Add compile-time MIPS3-only, compile-time  MIPS1-only, and
    runtime (both) definitions  for number of TLB ASIDs (tlb pids)
    and shift count to extract a TLB pid.

  * locore.h:
    Delete unused vector slot for indexed TLB writes.
    mips1 and mips3 TLBs are different enough that we have
    to break them out at the caller anyway.

  * Add compile-time MIPS3-only andcompile-time  MIPS1-only
    macros to call locore functions directly by name.
    Use the  existing method table only if

  * mips/mips_machdep.c, mips/trap.c, mips/pmap.c, pmax/machdep.c:
    Use MIPS3_ or MIPS1_ specific names for TLB pids in
    mips3 and mips1 specific code paths (e.g., creating the kernel stack
    for process 0).

Add `options MIPS3' to pmax/conf/GENERIC.
1997-06-22 03:17:37 +00:00
jonathan
a53329f500 Bump PROM-to-RTC offset hack up by one more year. 1997-06-22 01:31:45 +00:00
kleink
df92c57dc5 Change last commit to use `#error'. 1997-06-21 22:46:43 +00:00
is
2bf81e9e34 aucc.o depends on LEV6_DEFER 1997-06-21 22:13:46 +00:00
is
ff79d0a7dd Make this fail to compile with LEV6_DEFER.
XXX This isn't nice, but stopping the  system clock isn't nice, either.
We will repair this soon.
1997-06-21 21:52:37 +00:00
drochner
a401914d1a "document" the new hardware support. 1997-06-21 14:43:51 +00:00
drochner
e19d907613 Support SMC Ultra.
The code is becoming messy...
1997-06-21 14:43:11 +00:00
drochner
faf30015a9 Support 3c900 Combo.
(The elink3 code works probably with other boards too, but this is what
I tested.)
1997-06-21 14:41:13 +00:00
scw
b471de3926 Deleted m68k_round_seg and m68k_trunc_seg. They're in common m68k/param.h now. 1997-06-21 11:05:34 +00:00
mhitch
a7ac6e48ad Move the CPU-specific shift of the TLB PID into mips_r?000.S. 1997-06-21 06:32:22 +00:00
mhitch
b027d98eb5 MachHitFlushDCache is gone. 1997-06-21 04:52:26 +00:00
mhitch
edbde97cdf Fix pmap_prefer() to work in merged for mips1/mips3.
Remove unused debug procedure I forgot to remove previously.
Consolidate the vm_page_free1() calls in pmap_release().  Duplicate code
was a result of the way I merged the MIPS3 support from the pica pmap.c.
Enhance the comment on flushing the cache when releasing the segmap pages,
and add a comment about the currently unused code to uncache pages in
pmap_enter_pv().
1997-06-21 04:36:22 +00:00
mhitch
478559dd28 Merged mips1/mips3: cache alias test in pagemove(). 1997-06-21 04:24:45 +00:00
mhitch
51d10edcf2 Restore a lost (int) case in DELAYBRANCH macro - test for BR delay in
unsigned cause register wouldn't have worked.
Add missing ')' in trapdump that shows up when compiled with DEBUG.
Fix (unfix?) previous change to printf formats in mips3_dump_tlb: vad_to_pfn
is now consistant with single-CPU and merged-CPU support.
1997-06-21 04:18:29 +00:00
jonathan
68863ebd8e More mips1/mips3 changes to cpuregs.h and psl.h:
* cpuregs.h:
  Delete unused VMMACH_ names (e.g., duplicates of PTE bits in  pte.h).
  Change remaining VMMACH_xxx  names to MIPS1_xxx or MIPS3_xx.
  Fold remaining compile-time definitions into a single #ifdef MIPS3.

* Use MIPS1_ names  in locore_r2000.S, mips3_ names in locore_r4000.S

* Garbage-collect MachHitFlushDCache()

* psl.h:
  use MIPS1_, MIPS3_  symbolic names for Cause register bits.
  change  _R3K to MIPS1_,  _R4K to MIPS3. Conditionalize for mips1 only,
  mips3 only, or when both are defined,  use runtime CPUISMIPS3 test.
1997-06-21 04:18:09 +00:00
mhitch
e03cf7a95c Cast mips1-only and mips3-only pfn_to_vad() macros to match the mips1/mips3
merged inline function.  Fixes inconsist printf format usage in trap.c.
1997-06-21 04:10:42 +00:00
is
4b718644a7 Add RCS ids, and clean up some unused in newstyle audio hardware drivers
functions.
1997-06-20 21:45:11 +00:00
jonathan
63b4439556 Correct cast type on mips3_MachHitFlushDCache(). 1997-06-20 07:35:03 +00:00
cjs
ecada6375b bzero() wants pointers, not ints, for its first arg. 1997-06-20 07:06:43 +00:00
jonathan
5ed24fd4b4 trapDump(): compute accurate mask for EXC_CODE from CPU type at runtime. 1997-06-20 05:15:36 +00:00
jonathan
c6c2263566 MachHitFlushDCache -> mips3_HitFlushDCache().
Add  XXX reminder to d-cache flush I don't understand.
1997-06-20 04:34:38 +00:00
scottr
ecc68fd60f Disassemble the MOVE16 instruction. Also, correct the spelling of
`unknown' while were here, as suggested.  From Denny Gentry
<denny1@home.com>, PR 3567.
1997-06-19 17:39:38 +00:00
scottr
b43dd86019 Mask off page offset when building a pte for mapping the
framebuffer; from Walter Ruetten, closes PR 3147.
1997-06-19 17:00:02 +00:00
drochner
cc7a41e5d2 Weaken the restrictions on the device file name a bit: /boot can
now be installed on any partition.
Allow PRIM_LOADSZ to be set in the Makefile.
This together allows to make bootable 720k floppys.
closes PR port-i386/3751
1997-06-19 11:46:44 +00:00
mhitch
9b445e15ea Use same cachesize variables for mips1 and mips3, and rename the variables
per Jonathan's request.
Remove switch_exit() declaration - it's now called via the locore jump vector.
1997-06-19 06:34:16 +00:00
mhitch
4fa507b4fc More merged mips1/mips3 support:
Remove cpu-specific routines from locore.S and add them to locore_r2000.S
and locore_r4000.S.  Add entries in locore jump vector table for switch_exit()
and the cpu_switch() context resume.
Add offsets into the jump vector to genassym.cf for use in locore.S.
1997-06-19 06:31:14 +00:00
mhitch
df0701481f Use same cachesize variables for mips1 and mips3, and rename the variables
per Jonathan's request.
1997-06-19 06:30:47 +00:00
mhitch
129320c2ca More merged mips1/mips3 support:
Remove cpu-specific routines from locore.S and add them to locore_r2000.S
and locore_r4000.S.  Add entries in locore jump vector table for switch_exit()
and the cpu_switch() context resume.
Add offsets into the jump vector to genassym.cf for use in locore.S.

Use same cachesize variables for mips1 and mips3, and rename the variables
per Jonathan's request.
1997-06-19 06:30:03 +00:00
pk
fe15d6603a Remove spurious line left over in previous commit.
Also, use parentheses like in <dev/isa/wd.c>
1997-06-18 22:25:53 +00:00
pk
6b976a7d46 rzsize(): call rzopen()/rzclose() if not yet open, per the
current `openmask'.
1997-06-18 22:19:13 +00:00
pk
f9d3344f9c xysize(): only call xyopen()/xyclose() if not already open, per the
current `openmask'.
1997-06-18 20:47:00 +00:00
pk
4269e0eab1 xdsize(): only call xdopen()/xdclose() if not already open, per the
current `openmask'.
1997-06-18 20:45:03 +00:00
pk
f5bf0d3701 wdsize(): only call wdopen()/wdclose() if not already open, per the
current `openmask'.
1997-06-18 20:39:55 +00:00
jonathan
1c2727195c Add explicit function-return types. 1997-06-18 13:19:33 +00:00
jonathan
21dc79b2b5 Add fillw() from old Pica locore. 1997-06-18 13:16:13 +00:00
jonathan
a066eecaf8 MachHitFlushDCache() -> mips3_HitFlushDCache() outside pmap.c. 1997-06-18 04:51:15 +00:00
jonathan
a1085c85ae typo. 1997-06-18 04:23:52 +00:00
jonathan
bbc40c6757 RCS id police.
Add a copyright, and a copy of the copyright from the 4.4BSD locore,
from which this is a derived work (as the CVS logs show).
1997-06-18 04:23:14 +00:00
mhitch
b61d107b9b Save and restore usermode PC to/from current pcb instead of the RA slot of
the stack frame when usermode interrupt occurs.  The interrupt may have
modified the PC [such as sendsig()].  This got dropped with the stackframe
changes.
1997-06-18 04:07:06 +00:00
cgd
75979242d2 clean up spacing before a few DPRINTFs. Also, make the no-32-bit-support
cases uniformly DPRINTF'd and also distinguished by using slightly different
strings for each.
1997-06-17 06:06:25 +00:00
mhitch
806f730e87 Remove stray macro definition; didn't hurt for MIPS1 only, but wrong for
MIPS3.
1997-06-17 04:12:38 +00:00
mhitch
fb16ddddc7 Fix printf format/argument mismatches. 1997-06-17 04:11:33 +00:00
mhitch
6df1fecbce Virtual coeherency exception handler fixes:
Remove old code now that the new version is working.
  Correct typo for 16K cache (R4400).
  Align the saved AT register location; seems to hang if not aligned on 8
  byte boundry.
1997-06-17 04:10:19 +00:00
jonathan
b903dc73da Fix locore cache variables. (Should these be exported from locore at all?) 1997-06-17 01:40:13 +00:00
jonathan
4506da9ebd Check for '#ifdef MIPS1', not '#ifndef MIPS3', since we can now have both.
Add runtime check for 'if (CPUISMIPS3)' inside #ifdef MIPS3.
Add runtime check for 'if (!CPUISMIPS3)' inside #ifdef MIPS1.
1997-06-17 01:38:21 +00:00
is
2c7d61677f Only check for kernel bus probes when we are sure it is a bus error.
(As a side effect, this moves the  testing decision out of the main path
of the page fault code.)
1997-06-17 00:34:11 +00:00
is
5d784f73b2 Forgotten part of the 68060+bootblock+stupid ROM support: tell locore.s
that we're using BB060STUPIDROM.
1997-06-17 00:17:26 +00:00
jonathan
3d2676b809 Garbage-collect '#include <machine/pte.h>'. 1997-06-16 23:52:06 +00:00
jonathan
fef3e76b31 Changes for configuring both MIPS1 and MIPS3, from a merge of
similar design and code by Jason Thorpe and Jonathan Stone.

NOTE: the kernel-stack-switching code and cacheflush() calls in
locore.S still use #ifdef MIPS3 and need more work.

mips/include/cpu.h:
    Add CPUISMIPS3 for run-time tests of what CPU architecture level
    we're running on.

mips/include/locore.h:
    Add declarations of locore cache-size variables for ref/def toolchain.

mips/include/mips1_pte.h:
    mips1 TLB bit definitions.

mips/include/mips3_pte.h:
    mips3 TLB bit definitions.

mips/include/pte.h:
    define accesor macros for TLB bits (e.g., mips_pg_m_bit(),
    that expand to CPU constants if only one CPU arch is configured,
    or to inline functions if both MIPS1 and MIPS3 are configured.

mips/mips/locore_r2000.S:
    Use MIPS1_PG_xxx constants inside mips1-specific code.

mips/mips/locore_r4000.S:
    Use MIPS3_PG_xxx constants inside mips3-specific code.

mips/mips/locore.S:
    Use MIPS1_PG_xxx constants inside mips3-specific code.
    Use MIPS1_PG_xxx constants inside mips1-specific code.
    (Needs more  work!)

mips/mips/{pmap.c,vm_machdep.c,trap.c}, pmax/pmax/machdep.c:
    Use MIPS3_PG_xxx constants inside mips3-specific functions,
         and MIPS1_PG_XXX inside mips1-specific code.
    Otherwise, use mips_pg_XXX_bit() macros where they apply,
    and use "if (CPUISMIPS3) { ... } else {... }" where they don't.

mips/mips/mips_machdep.c:
    Import Michael Hitch's fixes from the pmax locore-init code
    into mips_vector_init().

pmax/pmax/machdep.c:
    Use generic mips_vector_init() locore vector-init function.
1997-06-16 23:41:40 +00:00
is
483b07bee4 Add option BB060STUPIDROM, which makes the early kernel startup probe for
an 68060/68LC060, possibly switching on the 68060 FPU, instead of trusting
the value passed from the ROM OS to us by the bootblock.

Most 68060 boards, unlike the DraCo (which seems to have heavily patched OS
ROMs) don't set the AMIGA_68060 flag; instead, upon detecting an 68060, its
FPU is disabled to make the ROM scheduler work, and at a much later time (at
least, later than bootblock booting time), the "68060.library" installs the
Motorola 68060 software support, patches the scheduler for the 68060 FPU, and
re-enables the FPU.

Maybe this will be fixed one day, if Amiga International sells upgraded OS
ROMs which know about the 68060. Until then, and for legacy machines, this
kludge is needed if we want to boot a non-DraCo 68060.

Btw, thats why this is NOT in std.amiga, but in GENERIC; the DRACO
configuration doesn't need it (and I still plan to make std.draco go away).
1997-06-16 21:12:38 +00:00
mrg
5dad1a32a4 move installboot.8 into src/share so everyone builds it. 1997-06-16 13:58:24 +00:00
is
1445a45c28 Moved manpage to share/man/man8/man8.amiga 1997-06-16 13:39:48 +00:00
jonathan
2eec9b0bc3 Back out previous change:
Add placeholder for Ted Lemon's years-old-but-new cursor-movment range checks.
1997-06-16 09:53:14 +00:00
jonathan
eb1d8427cc Garbage-collect redundant declarations:
mips/include/locore.h:
  Add prototypes for HitFlushDCache() functions. Moe cpu_prid definition here.
mips/include/cpu.h:
  remove  cpu_prid definition.
pmax/pmax/machdep.c:
   remove local protoypes of HitFlushDCache() functions.
mips/mips/vm_machdep.c, mips/mips/vm_machdep.c::
   remove local protoypes of HitFlushDCache() functions.
1997-06-16 09:50:26 +00:00
jonathan
b0e19a6a74 Set model string for 5000/150 (kmin with r4000 daughterboard). 1997-06-16 09:19:25 +00:00
jonathan
1b10e8336c Drop in pmspoll() from NetBSD-current/i386 pms.c. 1997-06-16 09:12:14 +00:00
jonathan
79d31e9983 Delint pica Sonic driver, pass 0:
* Finish new ARP (struct ethercom) changes.
    Some references to sc_ac were left danglnig.
  * Include if_dl.h and if_media.h.
  * Delint printf() messages: int vs. long , int vs. pointer.
  * Delete unused variables.
1997-06-16 08:44:30 +00:00
jonathan
1bd86a07d6 First delint pass of old NetBSD/pica device drivers:
* add prototypes to <dma.h> for the per-device dma-setup  functions.
  * MachEmptyWriteBuffer() -> wbflush().  Also #include <bus.h>,
    so that wbflush() expants to the locore callback vector entrypoint.
1997-06-16 08:41:15 +00:00
jonathan
2d10220f8f Yet more mips1/mips3 merging:
Move mips-specific pmap definitions (PMAP_PREFER for mips3, declaratin
of pmap_bootstrap() for the system-specific machdep.c) from
arch/pmax/include/pmap.h to arch/mips/include/pmap.h.
1997-06-16 07:47:42 +00:00
jonathan
df6533a42e Fix idempotent inclusion test macro: _MACHCONST -> _MIPS_CPUREGS_H_
to avoid collision with obsolete Sprite-derived NetBSD/pica  header file.
1997-06-16 07:41:08 +00:00
jonathan
de475d3704 Rescuscitate after bitrot:
* rewrite findroot() based on NetBSD 1.2F i386 findoot().
  * Rewrite makebootdev() to use struct devnametodevmaj pica_nam2blk[].
    Previous changes changed the `devname' char array and findroot()
    bot not makebootdev().
  * Add prototypes, delint for gcc -Wall.
1997-06-16 07:35:46 +00:00
scottr
9dfb9a7f87 Add support for Mouse Systems A3 mouse. From Colin Wood. 1997-06-16 06:35:26 +00:00
jonathan
5db35a8cce Yet more merging:
* Move declaration of locore communcation variables (CPU family,
     cache sizes, etc) to mips/include/locore.h.  Delete from
     pmax/include/cpu.h and older versions from pica/include/cpu.h.

   * Move definitions of CLKF_BASEPRI, CLKF_USERMODE to mips/include/cpu.
   * Delete duplicate definitions in pica/include/cpu.h, pmax/include/cpu.h.
1997-06-16 06:17:25 +00:00
jonathan
8ccf9122e4 Garbage-collect MIPS_3K_xxx, MIPS_4K_xxx outidde mips/include/cpuregs.h:
MIPS_3K_xxx ->    MIPS1_xxx
    MIPS_4K_xxx ->    MIPS3_xxx
1997-06-16 05:37:32 +00:00
jonathan
3409ae8dcd Garbage-collect <machine/locore.h> 1997-06-16 04:30:15 +00:00
jonathan
157d46c672 Commit addition of `#include <mips/locore.h>' to pmax/include.bus.h. 1997-06-16 04:22:15 +00:00
jonathan
c34f92cbd1 <machine/locore.h> -> <machine/bus.h> 1997-06-16 04:18:57 +00:00
jonathan
59c33b9f85 Garbage-collect #include <machine/machConst.h>. 1997-06-16 03:52:37 +00:00
jonathan
d3ecedb9fb Garbage-collect non-jumptable prototype for wbflush(). 1997-06-16 03:52:08 +00:00
jonathan
2557a6fa43 GC more old header files:
<machine/locore.h> -> <mips/locore.h>
    <machine/mips_opcode.h> -> <mips/mips_opcode..h>
1997-06-16 03:29:07 +00:00
jonathan
2520d0a604 Remove genassym.c. (pmax has used genassym.cf for some time.) 1997-06-16 02:58:28 +00:00
jonathan
f4dc901780 Use #include <machine/bus.h> in pmax device drivers.
Garbage-collect `#include <pmax/locore.h>' lines.
1997-06-16 02:53:23 +00:00
jonathan
817af928bf Add placeholder for Ted Lemon's years-old-but-new cursor-movment range checks. 1997-06-16 02:18:47 +00:00
jonathan
cd48c79960 Remove the machConst.h (wrapper for Sprite-derived source), and all
#includes <machine/machConst.h> uses.
Other header files now include <mips/cpuregs.h> where necessary.
1997-06-16 01:45:05 +00:00
jonathan
c6b9463cd1 Remove all references to <machine/machAsmDefs.h>.
Use #include <mips/asm.h> instead.
1997-06-16 01:23:56 +00:00
jonathan
f8b757f8f4 Remove. Already copied to arch/mips/mips/fp.S. 1997-06-16 01:14:50 +00:00
jonathan
15628b2d97 Move merged pmax psl.h with mips1/mips3 support to mips/include/psl.h.
Change pmax/include/psl.h to just do #include <mips/psl.h>.

pmax/include/psl.h would go away completely if it wasn't stil required
by compat/common/kern_exit_43.c.
1997-06-16 01:10:03 +00:00
jonathan
8e5f767c50 Use generic MIPS pmap vm_machdep.c 1997-06-16 00:35:10 +00:00
jonathan
5d94de1a79 Moved to arch/mips/mips/ with CVS revsion history. 1997-06-16 00:17:27 +00:00
jonathan
747e2b5e7e Generic mips pmap/vm code: move the merged pmax mips1/mips3 vm_machdep
and pmap code to arch/mips/mips.
Use <mips/XXX.h> header files, not <machine/XXX.h>.
1997-06-16 00:16:08 +00:00
is
4a4420172f Actually commit the sample rate to the hardware.
While we're here, add missing parts of (software encoded) ULINEAR encoding.
1997-06-15 23:05:43 +00:00
jonathan
8a00c90491 Remove old 4.4bsd/pmax rules and targets. 1997-06-15 22:53:49 +00:00
is
c577eb43ec A bit more of KNF. 1997-06-15 21:11:33 +00:00
veego
2b9117da0a Add a missing ; if CV64CONSOLE is undefined. 1997-06-15 21:09:10 +00:00
scottr
db9068c773 Don't call Debugger() if we don't have ddb. Fixes PR 3744. 1997-06-15 20:34:15 +00:00
scottr
36b75f2735 Update from Denny Gentry <denny1@home.com>, PR 3685:
Simplify the way transmit buffers are managed, remove assumptions about
NBPG, simplify sonic_get handling, update snioctl to be more like other
current drivers, and probably a few other changes I've now forgotten about.
1997-06-15 20:20:07 +00:00
mhitch
987abc8e3d When trying to find the boot partition, look at all partitions marked as ffs
or swap partitions.  Booting from a miniroot on the swap partition will
detect the miniroot as the boot partition (if the bootblock loader passes
the boot partition offset to the kernel).
1997-06-15 19:16:37 +00:00
mhitch
ab0eff4a87 From Toru Nishimura: _FORKBRAINDAMAGE is gone, user process entered through
proc_trampoline().
More merged MIPS1/MIPS3 support.
1997-06-15 18:21:17 +00:00
mhitch
f42f8eb4e6 More merged MIPS1/MIPS3 support - from pica pmap.c 1997-06-15 18:19:47 +00:00
mhitch
bbd8bca4a4 More merged MIPS1/MIPS3 support for DECstations.
From Toru Nishimura: separate out FP registers in user pcb.
1997-06-15 18:18:57 +00:00
mhitch
4eb69e0839 DECstation MIPS3 support: wbflush() is cpu-dependent, need declaration from
machine/locore.h.
1997-06-15 18:03:24 +00:00
mhitch
76f5c2a6c6 More merged MIPS1/MIPS3 support for DECstations. 1997-06-15 18:02:20 +00:00
mhitch
74245805bb DECstation MIPS3 support: wbflush() is cpu-dependent, need declaration from
machine/locore.h.
1997-06-15 17:58:56 +00:00
mhitch
6b75aad4ca From Toru Nishimura: exception trapframe changes, separate out syscall
processing from generic trap processing,  _FORKBRAINDAMAGE is gone -
user process entered through proc_trampoline(), mini-debugger from pica
port.
More merged MIPS1/MIPS3 support for DECstations.
1997-06-15 17:49:53 +00:00
mhitch
a5c7f52094 More merged MIPS1/MIPS3 support. Added wbflush() and proc_trampoline() to
locore vector.  Display level 2 (secondary) cache size.
1997-06-15 17:47:46 +00:00
mhitch
6748462623 From Toru Nishimura: _FORKBRAINDAMAGE is gone, user process entered through
proc_trampoline(); move away from UADDR access to user structure.
From Toru Nishimura:  exception trapframe changes, mini-debugger from pica
port, separate out syscall exception.
DECstation MIPS3 support: wbflush() is cpu-dependent, MIPS3 level 2 cache
support.
1997-06-15 17:44:46 +00:00
mhitch
501b5e6892 From Toru Nishimura: adjust for struct user pcb changes. 1997-06-15 17:40:03 +00:00
mhitch
386cf35c8d From Toru Nishimura: exception trapframe changes. 1997-06-15 17:37:45 +00:00
mhitch
27f717cdb8 From Toru Nishimura: user pcb/proc changes for exception handling and
removing access through UADDR.
1997-06-15 17:36:24 +00:00
mhitch
ffb95ac852 DECstation MIPS3 support: wbflush() is cpu-dependent, need declaration from
machine/locore.h.
From Toru Nishimura: _FORKBRAINDAMAGE is gone, user process entered through
proc_trampoline() [also cpu-dependent].
1997-06-15 17:33:53 +00:00
mhitch
75b0c4777c From Toru Nishimura: _FORKBRAINDAMAGE is gone, user process entered through
proc_trampoline().
1997-06-15 17:28:46 +00:00
mhitch
c06eb27dc9 More merged MIPS1/MIPS3 support: still only allows single-architecture
support.
1997-06-15 17:27:03 +00:00
mhitch
fb6d59052e More merged MIPS1/MIPS3 support. The pte definitions still need work before
they can be support both MIPS1 and MIPS3.
1997-06-15 17:24:22 +00:00
mhitch
4ccdbb1c9e Don't return error status on recoverable errors 1997-06-15 17:17:07 +00:00
mhitch
0a9912635f From Toru Nishimura: don't assemble pmax buffer copy routine if not
configured for DS2100/DS3100.
1997-06-15 16:57:57 +00:00