Source-Changes-HG archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
[src/thorpej_scsipi]: src/sys/arch Sync with HEAD.
details: https://anonhg.NetBSD.org/src/rev/93658165065c
branches: thorpej_scsipi
changeset: 477343:93658165065c
user: bouyer <bouyer%NetBSD.org@localhost>
date: Fri Dec 08 09:28:43 2000 +0000
description:
Sync with HEAD.
diffstat:
sys/arch/mvme68k/stand/libbug/bugstart.s | 55 ++
sys/arch/mvme68k/stand/libbug/libbug.h | 6 +-
sys/arch/mvme68k/stand/libsa/Makefile | 6 +-
sys/arch/mvme68k/stand/libsa/SRT0.S | 42 +-
sys/arch/mvme68k/stand/libsa/exec_mvme.c | 166 +-------
sys/arch/mvme68k/stand/netboot/Makefile | 14 +-
sys/arch/mvme68k/stand/sboot/Makefile | 41 +-
sys/arch/mvme68k/stand/sboot/oc_cksum.s | 129 +++---
sys/arch/mvme68k/stand/sboot/start.s | 43 +-
sys/arch/mvme68k/stand/wrtvid/Makefile | 9 +-
sys/arch/mvme68k/stand/wrtvid/wrtvid.c | 81 +--
sys/arch/news68k/conf/GENERIC | 8 +-
sys/arch/news68k/conf/LIBERO | 8 +-
sys/arch/news68k/conf/NEWS1200 | 10 +-
sys/arch/news68k/include/intr.h | 9 +-
sys/arch/news68k/include/loadfile_machdep.h | 6 +-
sys/arch/news68k/include/param.h | 4 +-
sys/arch/news68k/include/romcall.h | 3 +-
sys/arch/news68k/include/vmparam.h | 5 +-
sys/arch/news68k/news68k/genassym.cf | 7 +-
sys/arch/news68k/news68k/locore.s | 28 +-
sys/arch/news68k/news68k/trap.c | 4 +-
sys/arch/news68k/stand/boot/boot.c | 10 +-
sys/arch/news68k/stand/boot/locore.S | 10 +-
sys/arch/news68k/stand/bootxx/start.S | 5 +-
sys/arch/news68k/stand/common/romcalls.S | 4 +-
sys/arch/news68k/stand/installboot/installboot.c | 42 +-
sys/arch/newsmips/apbus/apbus.c | 45 +-
sys/arch/newsmips/apbus/apbus_subr.c | 6 +-
sys/arch/newsmips/apbus/if_snvar.h | 4 +-
sys/arch/newsmips/conf/DEJIKO | 3 +-
sys/arch/newsmips/conf/Makefile.newsmips | 236 ------------
sys/arch/newsmips/conf/WAPIKO | 3 +-
sys/arch/newsmips/conf/kern.ldscript | 66 ---
sys/arch/newsmips/conf/std.newsmips | 6 +-
sys/arch/newsmips/dev/fb.c | 6 +-
sys/arch/newsmips/dev/hb.c | 3 +-
sys/arch/newsmips/dev/sc_wrap.c | 4 +-
sys/arch/newsmips/dev/scsireg.h | 4 +-
sys/arch/newsmips/include/apbus.h | 4 +-
sys/arch/newsmips/include/vmparam.h | 5 +-
sys/arch/newsmips/include/z8530var.h | 6 +-
sys/arch/newsmips/newsmips/bus.c | 4 +-
sys/arch/newsmips/newsmips/machdep.c | 24 +-
sys/arch/newsmips/newsmips/news3400.c | 26 +-
sys/arch/newsmips/newsmips/news5000.c | 37 +-
sys/arch/next68k/include/vmparam.h | 5 +-
sys/arch/next68k/next68k/genassym.cf | 6 +-
sys/arch/next68k/next68k/locore.s | 28 +-
sys/arch/next68k/next68k/trap.c | 4 +-
sys/arch/ofppc/ofppc/locore.S | 5 +-
sys/arch/pmax/conf/Makefile.pmax | 243 ------------
sys/arch/pmax/conf/Makefile.pmax.inc | 5 +
sys/arch/pmax/conf/files.pmax | 6 +-
sys/arch/pmax/conf/std.pmax | 5 +-
sys/arch/pmax/include/types.h | 4 +-
sys/arch/pmax/pmax/autoconf.c | 32 +-
sys/arch/pmax/pmax/dec_3100.c | 10 +-
sys/arch/powerpc/conf/files.powerpc | 4 +-
sys/arch/powerpc/include/pcb.h | 9 +-
sys/arch/powerpc/include/reg.h | 29 +-
sys/arch/powerpc/powerpc/db_interface.c | 39 +-
sys/arch/powerpc/powerpc/ofw_machdep.c | 12 +-
sys/arch/powerpc/powerpc/openfirm.c | 4 +-
sys/arch/powerpc/powerpc/trap.c | 124 +++--
sys/arch/powerpc/powerpc/trap_subr.S | 6 +-
sys/arch/powerpc/powerpc/vm_machdep.c | 33 +-
sys/arch/prep/conf/GENERIC | 128 ++++-
sys/arch/prep/conf/files.prep | 43 +-
sys/arch/prep/include/bus.h | 13 +-
sys/arch/prep/include/gtenvar.h | 57 ++
sys/arch/prep/include/intr.h | 4 +-
sys/arch/prep/isa/isa_machdep.c | 49 ++-
sys/arch/prep/isa/paud_isa.c | 349 +++++++++++++++++
sys/arch/prep/pci/gten.c | 450 +++++++++++++++++++++++
sys/arch/prep/pci/pci_machdep.c | 4 +-
sys/arch/prep/pci/pcib.c | 29 +-
sys/arch/prep/prep/bus_space.c | 52 +-
sys/arch/prep/prep/extintr.c | 9 +-
sys/arch/prep/prep/genassym.cf | 4 +-
sys/arch/prep/prep/locore.s | 5 +-
sys/arch/prep/prep/machdep.c | 21 +-
sys/arch/prep/prep/mainbus.c | 6 +-
sys/arch/prep/prep/md_root.c | 83 ----
sys/arch/sgimips/conf/Makefile.sgimips | 251 ------------
sys/arch/sgimips/conf/Makefile.sgimips.inc | 16 +
sys/arch/sgimips/conf/files.sgimips | 4 +-
sys/arch/sgimips/conf/std.sgimips | 5 +-
sys/arch/sgimips/sgimips/conf.c | 8 +-
sys/arch/sgimips/sgimips/disksubr.c | 55 ++-
sys/arch/sgimips/sgimips/machdep.c | 10 +-
sys/arch/sh3/dev/sci.c | 103 +----
sys/arch/sh3/dev/scif.c | 54 +--
sys/arch/sh3/sh3/trap.c | 4 +-
sys/arch/sparc/fpu/fpu.c | 4 +-
sys/arch/sparc/include/reloc.h | 31 +-
sys/arch/sparc/include/types.h | 5 +-
sys/arch/sparc/sparc/trap.c | 15 +-
sys/arch/sparc64/conf/EVERGLADES32 | 5 +-
sys/arch/sparc64/conf/GENERIC32 | 6 +-
sys/arch/sparc64/conf/Makefile.sparc64 | 6 +-
sys/arch/sparc64/conf/POWEROFSEVEN32 | 3 +-
sys/arch/sparc64/dev/com_ebus.c | 3 +-
sys/arch/sparc64/dev/ebus.c | 11 +-
sys/arch/sparc64/dev/iommu.c | 72 ++-
sys/arch/sparc64/dev/psycho.c | 30 +-
sys/arch/sparc64/dev/sbus.c | 8 +-
sys/arch/sparc64/dev/zs.c | 7 +-
sys/arch/sparc64/include/ctlreg.h | 6 +-
sys/arch/sparc64/include/intr.h | 4 +-
sys/arch/sparc64/include/svr4_machdep.h | 5 +-
sys/arch/sparc64/include/types.h | 4 +-
sys/arch/sparc64/sparc64/cache.c | 10 +-
sys/arch/sparc64/sparc64/clock.c | 8 +-
sys/arch/sparc64/sparc64/cpu.c | 4 +-
sys/arch/sparc64/sparc64/db_interface.c | 158 +++----
sys/arch/sparc64/sparc64/db_trace.c | 106 +++-
sys/arch/sparc64/sparc64/emul.c | 4 +-
sys/arch/sparc64/sparc64/intr.c | 12 +-
sys/arch/sparc64/sparc64/locore.s | 12 +-
sys/arch/sparc64/sparc64/machdep.c | 124 ++++-
sys/arch/sparc64/sparc64/pmap.c | 116 +++--
sys/arch/sparc64/sparc64/sunos_machdep.c | 8 +-
sys/arch/sparc64/sparc64/svr4_machdep.c | 8 +-
sys/arch/sparc64/sparc64/trap.c | 250 +++++++-----
sys/arch/sparc64/sparc64/vm_machdep.c | 7 +-
sys/arch/sun3/sun3/locore.s | 8 +-
sys/arch/sun3/sun3/pmap.c | 4 +-
sys/arch/sun3/sun3x/locore.s | 8 +-
sys/arch/sun3/sun3x/pmap.c | 4 +-
sys/arch/vax/conf/GENERIC | 12 +-
sys/arch/vax/conf/INSTALL | 4 +-
sys/arch/vax/conf/files.vax | 30 +-
sys/arch/vax/include/cpu.h | 3 +-
sys/arch/vax/vax/conf.c | 25 +-
sys/arch/vax/vax/subr.s | 15 +-
sys/arch/vax/vax/trap.c | 4 +-
sys/arch/vax/vsa/dz_ibus.c | 148 ++++---
sys/arch/vax/vsa/smg.c | 268 +++++++++----
sys/arch/x68k/conf/INSTALL | 6 +-
sys/arch/x68k/conf/INSTALL_SMALL | 324 ----------------
sys/arch/x68k/conf/files.x68k | 4 +-
sys/arch/x68k/dev/md_root.c | 91 ----
sys/arch/x68k/include/vmparam.h | 5 +-
sys/arch/x68k/usr.bin/loadkmap/Makefile | 10 +-
sys/arch/x68k/x68k/genassym.cf | 8 +-
sys/arch/x68k/x68k/locore.s | 68 +-
sys/arch/x68k/x68k/trap.c | 4 +-
148 files changed, 2994 insertions(+), 2787 deletions(-)
diffs (truncated from 10647 to 300 lines):
diff -r c979d3b57a11 -r 93658165065c sys/arch/mvme68k/stand/libbug/bugstart.s
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/sys/arch/mvme68k/stand/libbug/bugstart.s Fri Dec 08 09:28:43 2000 +0000
@@ -0,0 +1,55 @@
+/* $NetBSD: bugstart.s,v 1.1.2.2 2000/12/08 09:28:43 bouyer Exp $ */
+
+#define _LOCORE
+#include <machine/prom.h>
+#undef _LOCORE
+#include <machine/asm.h>
+
+ .data
+ .even
+
+GLOBAL(bugargs)
+ .space MVMEPROM_ARGS_MAX*4
+
+ .text
+ .even
+
+ .long _C_LABEL(start) - 0x10
+ .long _C_LABEL(start)
+
+#define BUG_ARG(which) _C_LABEL(bugargs) + (which)
+
+ENTRY_NOPROFILE(_start)
+ENTRY_NOPROFILE(start)
+ movl MVMEPROM_REG_DEVLUN, BUG_ARG(MVMEPROM_ARGS_DEVLUN)
+ movl MVMEPROM_REG_CTRLLUN, BUG_ARG(MVMEPROM_ARGS_CTRLLUN)
+ movl MVMEPROM_REG_FLAGS, BUG_ARG(MVMEPROM_ARGS_FLAGS)
+ movl MVMEPROM_REG_CTRLADDR, BUG_ARG(MVMEPROM_ARGS_CTRLADDR)
+ movl MVMEPROM_REG_ENTRY, BUG_ARG(MVMEPROM_ARGS_ENTRY)
+ movl MVMEPROM_REG_CONFBLK, BUG_ARG(MVMEPROM_ARGS_CONFBLK)
+ movl MVMEPROM_REG_NBARGSTART, BUG_ARG(MVMEPROM_ARGS_NBARGSTART)
+ movl MVMEPROM_REG_NBARGEND, BUG_ARG(MVMEPROM_ARGS_NBARGEND)
+ movl MVMEPROM_REG_ARGSTART, BUG_ARG(MVMEPROM_ARGS_ARGSTART)
+ movl MVMEPROM_REG_ARGEND, BUG_ARG(MVMEPROM_ARGS_ARGEND)
+ lea _C_LABEL(edata),%a0
+ movl #_C_LABEL(end) - 4,%d0
+ subl %a0,%d0
+ lsrl #2,%d0
+1: clrl %a0@+
+ dbra %d0,1b
+ jmp _C_LABEL(_bugstart)
+
+ENTRY_NOPROFILE(bugexec)
+ addql #4,%sp
+ movl BUG_ARG(MVMEPROM_ARGS_DEVLUN), MVMEPROM_REG_DEVLUN
+ movl BUG_ARG(MVMEPROM_ARGS_CTRLLUN), MVMEPROM_REG_CTRLLUN
+ movl BUG_ARG(MVMEPROM_ARGS_FLAGS), MVMEPROM_REG_FLAGS
+ movl BUG_ARG(MVMEPROM_ARGS_CTRLADDR), MVMEPROM_REG_CTRLADDR
+ movl BUG_ARG(MVMEPROM_ARGS_ENTRY), MVMEPROM_REG_ENTRY
+ movl BUG_ARG(MVMEPROM_ARGS_CONFBLK), MVMEPROM_REG_CONFBLK
+ movl BUG_ARG(MVMEPROM_ARGS_NBARGSTART), MVMEPROM_REG_NBARGSTART
+ movl BUG_ARG(MVMEPROM_ARGS_NBARGEND), MVMEPROM_REG_NBARGEND
+ movl BUG_ARG(MVMEPROM_ARGS_ARGSTART), MVMEPROM_REG_ARGSTART
+ movl BUG_ARG(MVMEPROM_ARGS_ARGEND), MVMEPROM_REG_ARGEND
+ENTRY_NOPROFILE(__main)
+ rts
diff -r c979d3b57a11 -r 93658165065c sys/arch/mvme68k/stand/libbug/libbug.h
--- a/sys/arch/mvme68k/stand/libbug/libbug.h Fri Dec 08 09:18:42 2000 +0000
+++ b/sys/arch/mvme68k/stand/libbug/libbug.h Fri Dec 08 09:28:43 2000 +0000
@@ -1,4 +1,4 @@
-/* $NetBSD: libbug.h,v 1.1.32.1 2000/11/20 20:15:29 bouyer Exp $ */
+/* $NetBSD: libbug.h,v 1.1.32.2 2000/12/08 09:28:43 bouyer Exp $ */
/*
* prototypes and such. note that get/put char are in stand.h
@@ -20,4 +20,6 @@
extern struct mvmeprom_args bugargs;
-void bugexec __P((void (*)(void)));
+extern void _bugstart __P((void));
+extern void bugexec __P((void (*)(void)));
+extern void _rtt(void);
diff -r c979d3b57a11 -r 93658165065c sys/arch/mvme68k/stand/libsa/Makefile
--- a/sys/arch/mvme68k/stand/libsa/Makefile Fri Dec 08 09:18:42 2000 +0000
+++ b/sys/arch/mvme68k/stand/libsa/Makefile Fri Dec 08 09:28:43 2000 +0000
@@ -1,4 +1,4 @@
-# $NetBSD: Makefile,v 1.10.2.2 2000/11/22 16:01:01 bouyer Exp $
+# $NetBSD: Makefile,v 1.10.2.3 2000/12/08 09:28:43 bouyer Exp $
LIB=sa
@@ -10,10 +10,10 @@
bootparam.c rarp.c
-SRC_sa = alloc.c bcopy.c bcmp.c memcpy.c close.c exit.c getfile.c gets.c \
+SRC_sa = alloc.c memcpy.c memset.c close.c exit.c getfile.c gets.c \
open.c printf.c read.c strerror.c ufs.c globals.c lseek.c panic.c \
closeall.c dev.c dkcksum.c nullfs.c fstat.c twiddle.c sprintf.c \
- subr_prf.c intoa.c bzero.c udp.c
+ subr_prf.c intoa.c udp.c memcmp.c bcmp.c loadfile.c
SRC_kern= ashrdi3.c strcmp.c strlen.c
diff -r c979d3b57a11 -r 93658165065c sys/arch/mvme68k/stand/libsa/SRT0.S
--- a/sys/arch/mvme68k/stand/libsa/SRT0.S Fri Dec 08 09:18:42 2000 +0000
+++ b/sys/arch/mvme68k/stand/libsa/SRT0.S Fri Dec 08 09:28:43 2000 +0000
@@ -1,4 +1,4 @@
-| $NetBSD: SRT0.S,v 1.2 1996/05/17 20:53:49 chuck Exp $
+| $NetBSD: SRT0.S,v 1.2.32.1 2000/12/08 09:28:43 bouyer Exp $
| Copyright (c) 1995 Gordon W. Ross
| All rights reserved.
@@ -32,45 +32,47 @@
| code to the correct place before exec()ing.
| SRT0.S - Stand-alone Run-Time startup code, part 0
+
+#include <m68k/asm.h>
+
.file "SRT0.S"
.text
- .globl __estack
-__estack:
- .globl xstart
+GLOBAL(_estack)
+
xstart:
| first, relocate code to correct place without touching critical regs
| (args are in: d0, d1, d4, a0, a1, a2, a3, a4, a5, a6)
| [a3 and a4 only when netbooting]
- movl a3, d3 | SAVE a3 in d3
- movl a4, d5 | SAVE a4 in d5
- lea pc@(xstart:w), a3 | a3 = current addr (could be anywhere)
- lea xstart:l, a4 | a4 = desired location (LINKADDR)
- cmpl a3, a4 | already there?
+ movl %a3, %d3 | SAVE a3 in d3
+ movl %a4, %d5 | SAVE a4 in d5
+ lea %pc@(xstart:w), %a3 | a3 = current addr (could be anywhere)
+ lea xstart:l, %a4 | a4 = desired location (LINKADDR)
+ cmpl %a3, %a4 | already there?
beqs restart | short-circuit out
| Relocate the code and data
- movl #_edata,d2 | Desired end of program
- subl a4,d2 | Calculate length, round up.
- lsrl #2,d2
+ movl #_C_LABEL(edata),%d2 | Desired end of program
+ subl %a4,%d2 | Calculate length, round up.
+ lsrl #2,%d2
Lcp:
- movl a3@+, a4@+
- dbra d2, Lcp
+ movl %a3@+, %a4@+
+ dbra %d2, Lcp
| Force a long jump to the relocated code (not pc-relative)
- lea restart:l, a3
- jmp a3@
+ lea restart:l, %a3
+ jmp %a3@
restart:
| now in the relocated code
| Set up stack (just before relocated text)
- lea __estack:l, a3
- movl a3, sp
+ lea _C_LABEL(_estack):l, %a3
+ movl %a3, %sp
| now that we have relocated, call the bugcrt (note we skip over the special
| bug header which has a PC and SP in it)
- movl d3, a3 | RESTORE a3
- movl d5, a4 | RESTORE a4
+ movl %d3, %a3 | RESTORE a3
+ movl %d5, %a4 | RESTORE a4
jmp _start
| The end.
diff -r c979d3b57a11 -r 93658165065c sys/arch/mvme68k/stand/libsa/exec_mvme.c
--- a/sys/arch/mvme68k/stand/libsa/exec_mvme.c Fri Dec 08 09:18:42 2000 +0000
+++ b/sys/arch/mvme68k/stand/libsa/exec_mvme.c Fri Dec 08 09:28:43 2000 +0000
@@ -1,4 +1,4 @@
-/* $NetBSD: exec_mvme.c,v 1.5.14.1 2000/11/20 20:15:30 bouyer Exp $ */
+/* $NetBSD: exec_mvme.c,v 1.5.14.2 2000/12/08 09:28:43 bouyer Exp $ */
/*-
* Copyright (c) 1982, 1986, 1990, 1993
@@ -38,13 +38,15 @@
#include <sys/param.h>
#include <sys/reboot.h>
#include <machine/prom.h>
-#include <sys/exec_aout.h>
+
+#include "loadfile.h"
#include "stand.h"
#include "libsa.h"
-/* This must agree with what locore.s expects */
-typedef void (*kentry_t)(int, u_int, u_int, u_int, int, char *);
+/* These must agree with what locore.s expects */
+#define KERN_LOADADDR 0x0
+typedef void (*kentry_t)(int, u_int, u_int, u_int, int, u_long);
/*ARGSUSED*/
@@ -54,150 +56,32 @@
int flag;
int part;
{
- char *loadaddr;
- int io;
- struct exec x;
- int cc, magic;
- kentry_t *entry;
- char *cp;
- int *ip;
-
-#ifdef DEBUG
- printf("exec_mvme: partition=%d, file=%s flag=0x%x\n", part, file, flag);
-#endif
-
- io = open(file, 0);
- if (io < 0)
- return;
-
- /*
- * Read in the exec header, and validate it.
- */
- if (read(io, (void *)&x, sizeof(x)) != sizeof(x))
- goto shread;
- if (N_BADMAG(x)) {
- errno = EFTYPE;
- goto closeout;
- }
+ kentry_t entry;
+ u_long marks[MARK_MAX];
+ int fd;
+ int lflags;
- /*
- * note: on the mvme ports, the kernel is linked in such a way that
- * its entry point is the first item in .text, and thus a_entry can
- * be used to determine both the load address and the entry point.
- * (also note that we make use of the fact that the kernel will live
- * in a VA == PA range of memory ... otherwise we would take
- * loadaddr as a parameter and let the kernel relocate itself!)
- *
- * note that ZMAGIC files included the a.out header in the text area
- * so we must mask that off (has no effect on the other formats
- */
- loadaddr = (void *)(x.a_entry & ~sizeof(x));
-
- cp = loadaddr;
- magic = (int)N_GETMAGIC(x);
- if (magic == ZMAGIC)
- cp += sizeof(x);
- /*LINTED*/
- entry = (kentry_t *) cp;
-
- /*
- * Leave a copy of the exec header before the text.
- * The sun3 kernel uses this to verify that the
- * symbols were loaded by this boot program.
- */
- bcopy(&x, cp - sizeof(x), sizeof(x));
-
- /*
- * Read in the text segment.
- */
- printf("%ld", x.a_text);
- cc = (int)x.a_text;
- if (magic == ZMAGIC)
- cc = cc - sizeof(x); /* a.out header part of text in zmagic */
- if (read(io, cp, (size_t)cc) != (size_t)cc)
- goto shread;
- cp += cc;
+ lflags = LOAD_KERNEL;
+ if ((flag & RB_NOSYM) != 0 )
+ lflags &= ~LOAD_SYM;
- /*
- * NMAGIC may have a gap between text and data.
- */
- if (magic == NMAGIC) {
- int mask = N_PAGSIZ(x) - 1;
- /*LINTED*/
- while ((int)cp & mask)
- *cp++ = 0;
- }
-
- /*
- * Read in the data segment.
- */
- printf("+%ld", x.a_data);
- if (read(io, cp, (size_t)x.a_data) != (size_t)x.a_data)
- goto shread;
- cp += (int)x.a_data;
+ marks[MARK_START] = KERN_LOADADDR;
+ if ((fd = loadfile(file, marks, lflags)) == -1)
+ return;
+ close(fd);
- /*
Home |
Main Index |
Thread Index |
Old Index