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