Source-Changes-HG archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
[src/trunk]: src/sys/arch/hp300/stand Move exec_hp300() out of uboot.c into i...
details: https://anonhg.NetBSD.org/src/rev/5ed20d9d5b0f
branches: trunk
changeset: 523784:5ed20d9d5b0f
user: gmcgarry <gmcgarry%NetBSD.org@localhost>
date: Sat Mar 16 06:20:07 2002 +0000
description:
Move exec_hp300() out of uboot.c into its own file so that it can
be used by SYS_INST. SYS_INST can now boot ELF kernels inside the
miniroot.
diffstat:
sys/arch/hp300/stand/Makefile.buildboot | 4 +-
sys/arch/hp300/stand/common/exec.c | 76 +++++++++++++++++++++++++++++++++
sys/arch/hp300/stand/common/samachdep.h | 3 +-
sys/arch/hp300/stand/inst/inst.c | 5 +-
sys/arch/hp300/stand/uboot/uboot.c | 40 +----------------
5 files changed, 83 insertions(+), 45 deletions(-)
diffs (209 lines):
diff -r 579da0c98f5b -r 5ed20d9d5b0f sys/arch/hp300/stand/Makefile.buildboot
--- a/sys/arch/hp300/stand/Makefile.buildboot Sat Mar 16 05:27:53 2002 +0000
+++ b/sys/arch/hp300/stand/Makefile.buildboot Sat Mar 16 06:20:07 2002 +0000
@@ -1,4 +1,4 @@
-# $NetBSD: Makefile.buildboot,v 1.18 2001/12/12 01:49:42 tv Exp $
+# $NetBSD: Makefile.buildboot,v 1.19 2002/03/16 06:20:07 gmcgarry Exp $
# RELOC=FFF00000 allows for boot prog up to FF000 (1044480) bytes long
RELOC= FFF00000
@@ -45,7 +45,7 @@
CPPFLAGS+= -DHEAP_LIMIT="0xffffdfff"
COMMONSOURCE= srt0.S autoconf.c clock.c conf.c cons.c devopen.c \
- machdep.c prf.c rawfs.c netio.c
+ exec.c machdep.c prf.c rawfs.c netio.c
DRIVERSOURCE= apci.c ct.c dca.c dcm.c dnkbd.c fhpib.c hil.c \
hpib.c if_le.c ite.c ite_dv.c ite_gb.c ite_rb.c \
ite_subr.c ite_tc.c ite_hy.c kbd.c kbdconf.c \
diff -r 579da0c98f5b -r 5ed20d9d5b0f sys/arch/hp300/stand/common/exec.c
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/sys/arch/hp300/stand/common/exec.c Sat Mar 16 06:20:07 2002 +0000
@@ -0,0 +1,76 @@
+/* $NetBSD: exec.c,v 1.1 2002/03/16 06:20:08 gmcgarry Exp $ */
+
+/*-
+ * Copyright (c) 1982, 1986, 1990, 1993
+ * The Regents of the University of California. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ * 3. All advertising materials mentioning features or use of this software
+ * must display the following acknowledgement:
+ * This product includes software developed by the University of
+ * California, Berkeley and its contributors.
+ * 4. Neither the name of the University nor the names of its contributors
+ * may be used to endorse or promote products derived from this software
+ * without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ *
+ * @(#)boot.c 8.1 (Berkeley) 6/10/93
+ */
+
+#include <sys/param.h>
+
+#include <machine/bootinfo.h>
+
+#include <lib/libsa/loadfile.h>
+
+#include <hp300/stand/common/samachdep.h>
+
+#define round_to_size(x) \
+ (((x) + sizeof(u_long) - 1) & ~(sizeof(u_long) - 1))
+
+void
+exec_hp300(file, loadaddr, howto)
+ char *file;
+ u_long loadaddr;
+ int howto;
+{
+ u_long marks[MARK_MAX];
+ struct btinfo_magic *bt;
+ int fd;
+
+ marks[MARK_START] = loadaddr;
+ if ((fd = loadfile(file, marks, LOAD_KERNEL)) == -1)
+ return;
+
+ marks[MARK_END] = round_to_size(marks[MARK_END] - loadaddr);
+ printf("Start @ 0x%lx [%ld=0x%lx-0x%lx]...\n",
+ marks[MARK_ENTRY], marks[MARK_NSYM],
+ marks[MARK_SYM], marks[MARK_END]);
+
+ bt = (struct btinfo_magic *)loadaddr;
+ bt->common.type = BTINFO_MAGIC;
+ bt->magic1 = BOOTINFO_MAGIC1;
+ bt->magic2 = BOOTINFO_MAGIC2;
+
+ machdep_start((char *)marks[MARK_ENTRY], howto,
+ (char *)loadaddr, (char *)marks[MARK_SYM],
+ (char *)marks[MARK_END]);
+}
diff -r 579da0c98f5b -r 5ed20d9d5b0f sys/arch/hp300/stand/common/samachdep.h
--- a/sys/arch/hp300/stand/common/samachdep.h Sat Mar 16 05:27:53 2002 +0000
+++ b/sys/arch/hp300/stand/common/samachdep.h Sat Mar 16 06:20:07 2002 +0000
@@ -1,4 +1,4 @@
-/* $NetBSD: samachdep.h,v 1.6 2001/01/02 04:14:34 simonb Exp $ */
+/* $NetBSD: samachdep.h,v 1.7 2002/03/16 06:20:08 gmcgarry Exp $ */
/*
* Copyright (c) 1982, 1990, 1993
@@ -70,6 +70,7 @@
extern int userom;
void romputchar __P((int));
+void exec_hp300 __P((char *, u_long, int));
void transfer __P((char *entry, int howto, int opendev, int conscode,
char *lowram, char *esym));
void _transfer __P((char *entry, int howto, int opendev, int conscode,
diff -r 579da0c98f5b -r 5ed20d9d5b0f sys/arch/hp300/stand/inst/inst.c
--- a/sys/arch/hp300/stand/inst/inst.c Sat Mar 16 05:27:53 2002 +0000
+++ b/sys/arch/hp300/stand/inst/inst.c Sat Mar 16 06:20:07 2002 +0000
@@ -1,4 +1,4 @@
-/* $NetBSD: inst.c,v 1.6 1997/12/29 07:15:10 scottr Exp $ */
+/* $NetBSD: inst.c,v 1.7 2002/03/16 06:20:08 gmcgarry Exp $ */
/*-
* Copyright (c) 1996, 1997 The NetBSD Foundation, Inc.
@@ -77,7 +77,6 @@
#include <sys/param.h>
#include <sys/reboot.h>
#include <sys/disklabel.h>
-#include <a.out.h>
#include <lib/libsa/stand.h>
@@ -760,7 +759,7 @@
howto = RB_SINGLE; /* _Always_ */
printf("booting: %s -s\n", bootname);
- exec(bootname, lowram, howto);
+ exec_hp300(bootname, (u_long)lowram, howto);
printf("boot: %s\n", strerror(errno));
}
diff -r 579da0c98f5b -r 5ed20d9d5b0f sys/arch/hp300/stand/uboot/uboot.c
--- a/sys/arch/hp300/stand/uboot/uboot.c Sat Mar 16 05:27:53 2002 +0000
+++ b/sys/arch/hp300/stand/uboot/uboot.c Sat Mar 16 06:20:07 2002 +0000
@@ -1,4 +1,4 @@
-/* $NetBSD: uboot.c,v 1.8 2001/10/09 16:03:11 tsutsui Exp $ */
+/* $NetBSD: uboot.c,v 1.9 2002/03/16 06:20:08 gmcgarry Exp $ */
/*-
* Copyright (c) 1982, 1986, 1990, 1993
@@ -36,14 +36,9 @@
*/
#include <sys/param.h>
-#include <sys/reboot.h>
#include <sys/boot_flag.h>
-#include <a.out.h>
#include <lib/libsa/stand.h>
-#include <lib/libsa/loadfile.h>
-
-#include <machine/bootinfo.h>
#include <hp300/stand/common/samachdep.h>
@@ -76,7 +71,6 @@
void main __P((void));
void getbootdev __P((int *));
-void exec_hp300 __P((char *, u_long, int));
void
main()
@@ -143,35 +137,3 @@
} else
printf("\n");
}
-
-#define round_to_size(x) \
- (((x) + sizeof(u_long) - 1) & ~(sizeof(u_long) - 1))
-
-void
-exec_hp300(file, loadaddr, howto)
- char *file;
- u_long loadaddr;
- int howto;
-{
- u_long marks[MARK_MAX];
- struct btinfo_magic *bt;
- int fd;
-
- marks[MARK_START] = loadaddr;
- if ((fd = loadfile(name, marks, LOAD_KERNEL)) == -1)
- return;
-
- marks[MARK_END] = round_to_size(marks[MARK_END] - loadaddr);
- printf("Start @ 0x%lx [%ld=0x%lx-0x%lx]...\n",
- marks[MARK_ENTRY], marks[MARK_NSYM],
- marks[MARK_SYM], marks[MARK_END]);
-
- bt = (struct btinfo_magic *)lowram;
- bt->common.type = BTINFO_MAGIC;
- bt->magic1 = BOOTINFO_MAGIC1;
- bt->magic2 = BOOTINFO_MAGIC2;
-
- machdep_start((char *)marks[MARK_ENTRY], howto,
- (char *)loadaddr, (char *)marks[MARK_SYM],
- (char *)marks[MARK_END]);
-}
Home |
Main Index |
Thread Index |
Old Index