Commit Graph

12008 Commits

Author SHA1 Message Date
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