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