Module Name: src
Committed By: tsutsui
Date: Sun Jul 6 06:28:50 UTC 2014
Modified Files:
src/sys/arch/x68k/stand/boot: Makefile boot.c
src/sys/arch/x68k/stand/netboot: Makefile
Removed Files:
src/sys/arch/x68k/stand/netboot: boot.c
Log Message:
Merge and share boot.c between normal boot and netboot by dumb #ifdefs.
Tested on XM6i.
To generate a diff of this commit:
cvs rdiff -u -r1.22 -r1.23 src/sys/arch/x68k/stand/boot/Makefile
cvs rdiff -u -r1.19 -r1.20 src/sys/arch/x68k/stand/boot/boot.c
cvs rdiff -u -r1.2 -r1.3 src/sys/arch/x68k/stand/netboot/Makefile
cvs rdiff -u -r1.3 -r0 src/sys/arch/x68k/stand/netboot/boot.c
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
Modified files:
Index: src/sys/arch/x68k/stand/boot/Makefile
diff -u src/sys/arch/x68k/stand/boot/Makefile:1.22 src/sys/arch/x68k/stand/boot/Makefile:1.23
--- src/sys/arch/x68k/stand/boot/Makefile:1.22 Tue Mar 20 12:37:01 2012
+++ src/sys/arch/x68k/stand/boot/Makefile Sun Jul 6 06:28:49 2014
@@ -1,4 +1,4 @@
-# $NetBSD: Makefile,v 1.22 2012/03/20 12:37:01 minoura Exp $
+# $NetBSD: Makefile,v 1.23 2014/07/06 06:28:49 tsutsui Exp $
NOMAN= # defined
@@ -41,6 +41,7 @@ CPPFLAGS+= -D_STANDALONE -DHEAP_VARIABLE
CPPFLAGS+= -DTEXTADDR="0x${TEXT}"
CPPFLAGS+= -DBOOT=\"${BOOT}\" -DBOOT_VERS=\"${VERSION}\"
CPPFLAGS+= -DLIBSA_ENABLE_LS_OP
+#CPPFLAGS+= -DDEBUG
CFLAGS= -Wno-main -Os -m68020-60
LINKFLAGS= -N -static -T ${.CURDIR}/boot.ldscript
LIBIOCS!= cd $M/stand/libiocs && ${PRINTOBJDIR}
Index: src/sys/arch/x68k/stand/boot/boot.c
diff -u src/sys/arch/x68k/stand/boot/boot.c:1.19 src/sys/arch/x68k/stand/boot/boot.c:1.20
--- src/sys/arch/x68k/stand/boot/boot.c:1.19 Sun Jul 6 05:31:02 2014
+++ src/sys/arch/x68k/stand/boot/boot.c Sun Jul 6 06:28:49 2014
@@ -1,4 +1,4 @@
-/* $NetBSD: boot.c,v 1.19 2014/07/06 05:31:02 tsutsui Exp $ */
+/* $NetBSD: boot.c,v 1.20 2014/07/06 06:28:49 tsutsui Exp $ */
/*
* Copyright (c) 2001 Minoura Makoto
@@ -32,6 +32,9 @@
#include <lib/libsa/stand.h>
#include <lib/libsa/loadfile.h>
#include <lib/libsa/ufs.h>
+#ifdef NETBOOT
+#include <lib/libsa/dev_net.h>
+#endif
#include <lib/libkern/libkern.h>
#include "libx68k.h"
@@ -46,21 +49,38 @@
#define SRAM_MEMSIZE (*((long*) 0x00ed0008))
char default_kernel[20] =
+#ifndef NETBOOT
"sd0a:netbsd";
+#else
+ "nfs:netbsd";
+#endif
int mpu;
+#ifndef NETBOOT
int hostadaptor;
+#endif
int console_device = -1;
+#ifdef DEBUG
+#ifdef NETBOOT
+int debug = 1;
+#endif
+#endif
+
static void help(void);
+#ifndef NETBOOT
static int get_scsi_host_adapter(void);
+#endif
static void doboot(const char *, int);
static void boot(char *);
+#ifndef NETBOOT
static void cmd_ls(char *);
+#endif
int bootmenu(void);
void bootmain(int);
extern int detectmpu(void);
extern int badbaddr(void *);
+#ifndef NETBOOT
/* from boot_ufs/bootmain.c */
static int
get_scsi_host_adapter(void)
@@ -83,19 +103,25 @@ get_scsi_host_adapter(void)
return ha;
}
-
+#endif
static void
help(void)
{
printf("Usage:\n");
printf("boot [dev:][file] -[flags]\n");
+#ifndef NETBOOT
printf(" dev: sd<ID><PART>, ID=0-7, PART=a-p\n");
printf(" cd<ID>a, ID=0-7\n");
printf(" fd<UNIT>a, UNIT=0-3, format is detected.\n");
+#else
+ printf(" dev: nfs, first probed NE2000 is used.\n");
+#endif
printf(" file: netbsd, netbsd.gz, etc.\n");
printf(" flags: abdqsv\n");
+#ifndef NETBOOT
printf("ls [dev:][directory]\n");
+#endif
printf("halt\nreboot\n");
}
@@ -127,10 +153,16 @@ doboot(const char *file, int flags)
}
#ifdef DEBUG
+#ifndef NETBOOT
printf("dev = %x, unit = %d, part = %c, name = %s\n",
dev, unit, part + 'a', name);
+#else
+ printf("dev = %x, unit = %d, name = %s\n",
+ dev, unit, name);
+#endif
#endif
+#ifndef NETBOOT
if (dev == 0) { /* SCSI */
dev = X68K_MAKESCSIBOOTDEV(X68K_MAJOR_SD,
hostadaptor >> 4,
@@ -139,14 +171,23 @@ doboot(const char *file, int flags)
} else {
dev = X68K_MAKEBOOTDEV(X68K_MAJOR_FD, unit & 3, 0);
}
+#else
+ dev = X68K_MAKEBOOTDEV(X68K_MAJOR_NE, unit, 0);
+#endif
#ifdef DEBUG
printf("boot device = %x\n", dev);
+#ifndef NETBOOT
printf("if = %d, unit = %d, id = %d, lun = %d, part = %c\n",
B_X68K_SCSI_IF(dev),
B_X68K_SCSI_IF_UN(dev),
B_X68K_SCSI_ID(dev),
B_X68K_SCSI_LUN(dev),
B_X68K_SCSI_PART(dev) + 'a');
+#else
+ printf("if = %d, unit = %d\n",
+ B_X68K_SCSI_IF(dev),
+ B_X68K_SCSI_IF_UN(dev));
+#endif
#endif
p = ((short*) marks[MARK_ENTRY]) - 1;
@@ -208,6 +249,7 @@ boot(char *arg)
}
}
+#ifndef NETBOOT
static void
cmd_ls(char *arg)
{
@@ -228,6 +270,7 @@ cmd_ls(char *arg)
ls(filename);
devopen_open_dir = 0;
}
+#endif
int
bootmenu(void)
@@ -275,8 +318,10 @@ bootmenu(void)
else if (strcmp("halt", p) == 0 ||
strcmp("reboot", p) == 0)
exit(0);
+#ifndef NETBOOT
else if (strcmp("ls", p) == 0)
cmd_ls(options);
+#endif
else
printf("Unknown command %s\n", p);
}
@@ -295,7 +340,12 @@ void
bootmain(int bootdev)
{
+#ifndef NETBOOT
hostadaptor = get_scsi_host_adapter();
+#else
+ rtc_offset = RTC_OFFSET;
+ try_bootp = 1;
+#endif
mpu = detectmpu();
if (mpu < 3) { /* not tested on 68020 */
@@ -310,6 +360,7 @@ bootmain(int bootdev)
console_device = consio_init(console_device);
setheap(HEAP_START, HEAP_END);
+#ifndef NETBOOT
switch (B_TYPE(bootdev)) {
case X68K_MAJOR_FD:
default_kernel[0] = 'f';
@@ -330,6 +381,7 @@ bootmain(int bootdev)
default:
printf("Warning: unknown boot device: %x\n", bootdev);
}
+#endif
print_title("%s, Revision %s\n", bootprog_name, bootprog_rev);
bootmenu();
}
Index: src/sys/arch/x68k/stand/netboot/Makefile
diff -u src/sys/arch/x68k/stand/netboot/Makefile:1.2 src/sys/arch/x68k/stand/netboot/Makefile:1.3
--- src/sys/arch/x68k/stand/netboot/Makefile:1.2 Thu Nov 1 14:46:26 2012
+++ src/sys/arch/x68k/stand/netboot/Makefile Sun Jul 6 06:28:49 2014
@@ -1,4 +1,4 @@
-# $NetBSD: Makefile,v 1.2 2012/11/01 14:46:26 isaki Exp $
+# $NetBSD: Makefile,v 1.3 2014/07/06 06:28:49 tsutsui Exp $
NOMAN= # defined
@@ -47,9 +47,11 @@ CPPFLAGS+= -I$M/stand/libiocs -I${COMMON
CPPFLAGS+= -D_STANDALONE -DHEAP_VARIABLE
CPPFLAGS+= -DTEXTADDR="0x${TEXT}"
CPPFLAGS+= -DBOOT=\"${BOOT}\" -DBOOT_VERS=\"${VERSION}\"
+CPPFLAGS+= -DNETBOOT
CPPFLAGS+= -DLIBSA_ENABLE_LS_OP
CPPFLAGS+= -DRTC_OFFSET=${RTC_OFFSET}
CPPFLAGS+= -DSUPPORT_BOOTP -DSUPPORT_DHCP
+#CPPFLAGS+= -DDEBUG
CFLAGS= -Wno-main -Os -m68020-60
LINKFLAGS= -N -static -T ${BOOTDIR}/boot.ldscript
LIBIOCS!= cd $M/stand/libiocs && ${PRINTOBJDIR}