Source-Changes-HG archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

[src/trunk]: src/sys/arch/mvme68k Add support for the m68060-based machines: ...



details:   https://anonhg.NetBSD.org/src/rev/2be3e102a3c6
branches:  trunk
changeset: 499462:2be3e102a3c6
user:      scw <scw%NetBSD.org@localhost>
date:      Mon Nov 20 19:35:28 2000 +0000

description:
Add support for the m68060-based machines: MVME-172 and MVME-177.
CPU support taken from a combination of NetBSD/amiga and NetBSD/x68k.

At this time, MVME-172 works but MVME-177 is untested. Since the '177
is otherwise identical to the MVME-167, this should *just work*.

diffstat:

 sys/arch/mvme68k/conf/GENERIC             |    9 +-
 sys/arch/mvme68k/conf/Makefile.mvme68k    |   20 +-
 sys/arch/mvme68k/conf/VME172              |   81 +++++
 sys/arch/mvme68k/conf/VME177              |   80 +++++
 sys/arch/mvme68k/conf/files.mvme68k       |    7 +-
 sys/arch/mvme68k/dev/mainbus.c            |    8 +-
 sys/arch/mvme68k/dev/ncrsc_pcctwo.c       |    8 +-
 sys/arch/mvme68k/dev/pcctwo.c             |   13 +-
 sys/arch/mvme68k/dev/vme_two.c            |    6 +-
 sys/arch/mvme68k/dev/zs.c                 |    4 +-
 sys/arch/mvme68k/dev/zs_pcctwo.c          |    9 +-
 sys/arch/mvme68k/dev/zsvar.h              |    4 +-
 sys/arch/mvme68k/include/cpu.h            |   12 +-
 sys/arch/mvme68k/include/param.h          |    4 +-
 sys/arch/mvme68k/mvme68k/autoconf.c       |    9 +-
 sys/arch/mvme68k/mvme68k/genassym.cf      |   10 +-
 sys/arch/mvme68k/mvme68k/locore.s         |  467 ++++++++++++++---------------
 sys/arch/mvme68k/mvme68k/machdep.c        |   89 ++++-
 sys/arch/mvme68k/mvme68k/pmap.c           |  289 ++++++++++++++----
 sys/arch/mvme68k/mvme68k/pmap_bootstrap.c |   31 +-
 sys/arch/mvme68k/mvme68k/softintr.c       |    5 +-
 sys/arch/mvme68k/mvme68k/sys_machdep.c    |   16 +-
 sys/arch/mvme68k/mvme68k/trap.c           |   24 +-
 sys/arch/mvme68k/mvme68k/vm_machdep.c     |    9 +-
 sys/arch/mvme68k/stand/Makefile.booters   |    4 +-
 25 files changed, 825 insertions(+), 393 deletions(-)

diffs (truncated from 2488 to 300 lines):

diff -r 07cbdfe708f9 -r 2be3e102a3c6 sys/arch/mvme68k/conf/GENERIC
--- a/sys/arch/mvme68k/conf/GENERIC     Mon Nov 20 19:27:16 2000 +0000
+++ b/sys/arch/mvme68k/conf/GENERIC     Mon Nov 20 19:35:28 2000 +0000
@@ -1,19 +1,24 @@
-#      $NetBSD: GENERIC,v 1.15 2000/10/04 22:26:50 itojun Exp $
+#      $NetBSD: GENERIC,v 1.16 2000/11/20 19:35:28 scw Exp $
 
 include                "arch/mvme68k/conf/std.mvme68k"
 
-#ident                 "GENERIC-$Revision: 1.15 $"
+#ident                 "GENERIC-$Revision: 1.16 $"
 
 # Boards this kernel supports
 options        MVME147
 options        MVME162
 options        MVME167
+options        MVME172
+options        MVME177
 
 maxusers       4
 
 # Needed on m68040 boards to emulate some missing FP instructions
 options        FPSP
 
+# Needed on m68060 boards
+options        M060SP
+
 #options       DDB
 options        DIAGNOSTIC, DEBUG
 
diff -r 07cbdfe708f9 -r 2be3e102a3c6 sys/arch/mvme68k/conf/Makefile.mvme68k
--- a/sys/arch/mvme68k/conf/Makefile.mvme68k    Mon Nov 20 19:27:16 2000 +0000
+++ b/sys/arch/mvme68k/conf/Makefile.mvme68k    Mon Nov 20 19:35:28 2000 +0000
@@ -1,4 +1,4 @@
-#      $NetBSD: Makefile.mvme68k,v 1.48 2000/05/09 00:56:25 hubertf Exp $
+#      $NetBSD: Makefile.mvme68k,v 1.49 2000/11/20 19:35:28 scw Exp $
 
 # Makefile for NetBSD
 #
@@ -47,6 +47,19 @@
 HAVE_EGCS!=    ${CC} --version | egrep "^(2\.[89]|egcs)" ; echo 
 INCLUDES=      -nostdinc -I. -I$S/arch -I$S
 CPPFLAGS=      ${INCLUDES} ${IDENT} ${PARAM} -D_KERNEL -Dmvme68k
+.if empty(IDENT:M-DMVME172) && empty(IDENT:M-DMVME177)
+.if empty(IDENT:M-DMVME147)
+CMACHFLAGS=    -m68040
+.else
+CMACHFLAGS=    -m68030
+.endif
+.else
+.if empty(IDENT:M-DMVME147) && empty(IDENT:M-DMVME162) && empty(IDENT:M-DMVME167)
+CMACHFLAGS=    -m68060 -Wa,-m68030 -Wa,-m68851
+.else
+CMACHFLAGS=    -m68020-60 -Wa,-m68030 -Wa,-m68851
+.endif
+.endif
 CWARNFLAGS?=   -Werror -Wall -Wmissing-prototypes -Wstrict-prototypes \
                -Wpointer-arith
 # XXX Delete -Wuninitialized for now, since the compiler doesn't
@@ -55,7 +68,7 @@
 .if (${HAVE_EGCS} != "")
 CWARNFLAGS+=   -Wno-main
 .endif
-CFLAGS=                ${DEBUG} ${COPTS} ${CWARNFLAGS} -msoft-float
+CFLAGS=                ${DEBUG} ${COPTS} ${CWARNFLAGS} ${CMACHFLAGS} -msoft-float
 AFLAGS=                -x assembler-with-cpp -traditional-cpp -D_LOCORE
 LINKFLAGS=     -n -Ttext 8000 -e start
 STRIPFLAGS=    -g
@@ -86,6 +99,9 @@
 ### for the Motorola 68040 Floating Point Software Product
 .include "$S/arch/m68k/fpsp/Makefile.inc"
 
+### for the Motorola 68060 Software Support Package
+.include "$S/arch/m68k/060sp/Makefile.inc"
+
 # compile rules: rules are named ${TYPE}_${SUFFIX} where TYPE is NORMAL or
 # HOSTED}, and SUFFIX is the file suffix, capitalized (e.g. C for a .c file).
 
diff -r 07cbdfe708f9 -r 2be3e102a3c6 sys/arch/mvme68k/conf/VME172
--- /dev/null   Thu Jan 01 00:00:00 1970 +0000
+++ b/sys/arch/mvme68k/conf/VME172      Mon Nov 20 19:35:28 2000 +0000
@@ -0,0 +1,81 @@
+#      $NetBSD: VME172,v 1.1 2000/11/20 19:35:28 scw Exp $
+
+include                "arch/mvme68k/conf/std.mvme68k"
+
+# Boards this kernel supports; need at least one
+options        MVME172
+
+options        M060SP
+
+maxusers       16
+
+options        DDB
+options        DIAGNOSTIC, DEBUG
+
+#options       SYSVSHM
+options        KTRACE
+options        COMPAT_43
+
+file-system    FFS
+file-system    NFS     
+file-system    KERNFS
+file-system    MFS
+#file-system   MSDOSFS
+#file-system   UNION
+
+#options       NFSSERVER
+#options       FFS_EI          # FFS Endian Independant support
+
+# Networking options
+options        INET
+options        TCP_COMPAT_42   # compatibility with 4.2BSD TCP/IP
+#options        GATEWAY         # IP packet forwarding
+#options        ISO             # OSI networking
+#options        TPIP
+#options        EON
+
+options        COMPAT_15, COMPAT_14, COMPAT_13, COMPAT_12
+#options       COMPAT_SUNOS
+#options       COMPAT_M68K4K   # compatibility with NetBSD/m68k4k binaries
+
+## force NFS root and swap
+#config        netbsd          root on ? type nfs
+## "generic" boot (put root on boot device)
+config netbsd          root on ? type ?
+
+options        NFS_BOOT_BOOTPARAM      # Diskless client w/ bootparamd
+
+
+pseudo-device  sl
+pseudo-device  ppp 2
+pseudo-device  loop
+pseudo-device  bpfilter
+pseudo-device  pty
+pseudo-device  vnd 2
+
+mainbus0       at root
+
+pcctwo0                at mainbus0
+clock0         at pcctwo? ipl 5
+zsc*           at pcctwo? ipl 4
+ie0            at pcctwo? ipl 3
+ncrsc0         at pcctwo? ipl 2
+
+zstty*         at zsc? channel ?
+
+# VMEbus Support
+vmetwo0        at mainbus0
+vme0           at vmetwo0
+
+# Example VMEbus device
+#foo0          at vme0 addr 0x10001000 am 0x0d irq 3 vect 0x80
+
+# SCSI Bus Support
+scsibus*       at ncrsc?
+
+sd*            at scsibus? target ? lun ?
+st*            at scsibus? target ? lun ?
+#cd*           at scsibus? target ? lun ?
+#ch*           at scsibus? target ? lun ?
+#ss*           at scsibus? target ? lun ?      # SCSI scanners
+#uk*           at scsibus? target ? lun ?      # SCSI unknown
diff -r 07cbdfe708f9 -r 2be3e102a3c6 sys/arch/mvme68k/conf/VME177
--- /dev/null   Thu Jan 01 00:00:00 1970 +0000
+++ b/sys/arch/mvme68k/conf/VME177      Mon Nov 20 19:35:28 2000 +0000
@@ -0,0 +1,80 @@
+#      $NetBSD: VME177,v 1.1 2000/11/20 19:35:28 scw Exp $
+
+include                "arch/mvme68k/conf/std.mvme68k"
+
+# Boards this kernel supports; need at least one
+options        MVME177
+
+options        M060SP
+
+maxusers       16
+
+options        DDB
+options        DIAGNOSTIC, DEBUG
+
+#options       SYSVSHM
+options        KTRACE
+options        COMPAT_43
+
+file-system    FFS
+file-system    NFS     
+file-system    KERNFS
+file-system    MFS
+#file-system   MSDOSFS
+#file-system   UNION
+
+options        NFSSERVER
+#options       FFS_EI          # FFS Endian Independant support
+
+# Networking options
+options        INET
+options        TCP_COMPAT_42   # compatibility with 4.2BSD TCP/IP
+#options        GATEWAY         # IP packet forwarding
+#options        ISO             # OSI networking
+#options        TPIP
+#options        EON
+
+options        COMPAT_14, COMPAT_13, COMPAT_12
+#options       COMPAT_SUNOS
+#options       COMPAT_M68K4K   # compatibility with NetBSD/m68k4k binaries
+
+## force NFS root and swap
+#config        netbsd          root on ? type nfs
+## "generic" boot (put root on boot device)
+config netbsd          root on ? type ?
+
+options        NFS_BOOT_BOOTPARAM      # Diskless client w/ bootparamd
+
+
+pseudo-device  sl
+pseudo-device  ppp 2
+pseudo-device  loop
+pseudo-device  bpfilter
+pseudo-device  pty
+pseudo-device  vnd 2
+
+mainbus0       at root
+
+pcctwo0                at mainbus0
+clock0         at pcctwo? ipl 5
+clmpcc0                at pcctwo? ipl 4
+ie0            at pcctwo? ipl 3
+ncrsc0         at pcctwo? ipl 2
+lpt0           at pcctwo? ipl 1
+
+# VMEbus Support
+vmetwo0        at mainbus0
+vme0           at vmetwo0
+
+# Example VMEbus device
+#foo0          at vme0 addr 0x10001000 am 0x0d irq 3 vect 0x80
+
+# SCSI Bus Support
+scsibus*       at ncrsc?
+
+sd*            at scsibus? target ? lun ?
+st*            at scsibus? target ? lun ?
+#cd*           at scsibus? target ? lun ?
+#ch*           at scsibus? target ? lun ?
+#ss*           at scsibus? target ? lun ?      # SCSI scanners
+#uk*           at scsibus? target ? lun ?      # SCSI unknown
diff -r 07cbdfe708f9 -r 2be3e102a3c6 sys/arch/mvme68k/conf/files.mvme68k
--- a/sys/arch/mvme68k/conf/files.mvme68k       Mon Nov 20 19:27:16 2000 +0000
+++ b/sys/arch/mvme68k/conf/files.mvme68k       Mon Nov 20 19:35:28 2000 +0000
@@ -1,7 +1,9 @@
-#      $NetBSD: files.mvme68k,v 1.35 2000/09/06 19:51:43 scw Exp $
+#      $NetBSD: files.mvme68k,v 1.36 2000/11/20 19:35:28 scw Exp $
 
 # config file for mvme68k
 
+defopt opt_m060sp.h            M060SP
+
 # maxpartitions must be first item in files.${ARCH}.newconf
 maxpartitions 8
 
@@ -126,6 +128,9 @@
 file dev/cons.c
 file dev/cninit.c
 
+# Motorola 68060 support package
+include "arch/m68k/060sp/files.060sp"
+
 # SunOS Binary Compatibility (COMPAT_SUNOS)
 include "compat/sunos/files.sunos"
 file    arch/m68k/m68k/sunos_machdep.c  compat_sunos
diff -r 07cbdfe708f9 -r 2be3e102a3c6 sys/arch/mvme68k/dev/mainbus.c
--- a/sys/arch/mvme68k/dev/mainbus.c    Mon Nov 20 19:27:16 2000 +0000
+++ b/sys/arch/mvme68k/dev/mainbus.c    Mon Nov 20 19:35:28 2000 +0000
@@ -1,4 +1,4 @@
-/*     $NetBSD: mainbus.c,v 1.3 2000/09/06 19:51:43 scw Exp $  */
+/*     $NetBSD: mainbus.c,v 1.4 2000/11/20 19:35:29 scw Exp $  */
 
 /*-
  * Copyright (c) 2000 The NetBSD Foundation, Inc.
@@ -79,7 +79,7 @@
 };
 #endif
 
-#if defined(MVME162) || defined(MVME167) || defined(MVME177)
+#if defined(MVME162) || defined(MVME167) || defined(MVME172) || defined(MVME177)
 static struct mainbus_devices mainbusdevs_1x7[] = {
        {"pcctwo", MAINBUS_PCCTWO_OFFSET},
        {"vmetwo", MAINBUS_VMETWO_OFFSET},
@@ -146,10 +146,10 @@
                break;
 #endif
 
-#if defined(MVME162) || defined(MVME167) || defined(MVME177)
+#if defined(MVME162) || defined(MVME167) || defined(MVME172) || defined(MVME177)
        case MVME_162:
-       case MVME_166:
        case MVME_167:
+       case MVME_172:
        case MVME_177:



Home | Main Index | Thread Index | Old Index