Module Name: src
Committed By: christos
Date: Wed Aug 25 20:16:49 UTC 2010
Modified Files:
src/sys/arch/sparc/stand: Makefile.buildboot
src/sys/arch/sparc/stand/boot: boot.c
src/sys/arch/sparc/stand/common: promdev.c promdev.h
src/sys/arch/sparc/stand/ofwboot: Makefile boot.c
Added Files:
src/sys/arch/sparc/stand/common: isfloppy.c isfloppy.h
Log Message:
factor out the floppy detection code.
To generate a diff of this commit:
cvs rdiff -u -r1.27 -r1.28 src/sys/arch/sparc/stand/Makefile.buildboot
cvs rdiff -u -r1.25 -r1.26 src/sys/arch/sparc/stand/boot/boot.c
cvs rdiff -u -r0 -r1.1 src/sys/arch/sparc/stand/common/isfloppy.c \
src/sys/arch/sparc/stand/common/isfloppy.h
cvs rdiff -u -r1.24 -r1.25 src/sys/arch/sparc/stand/common/promdev.c
cvs rdiff -u -r1.15 -r1.16 src/sys/arch/sparc/stand/common/promdev.h
cvs rdiff -u -r1.24 -r1.25 src/sys/arch/sparc/stand/ofwboot/Makefile \
src/sys/arch/sparc/stand/ofwboot/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/sparc/stand/Makefile.buildboot
diff -u src/sys/arch/sparc/stand/Makefile.buildboot:1.27 src/sys/arch/sparc/stand/Makefile.buildboot:1.28
--- src/sys/arch/sparc/stand/Makefile.buildboot:1.27 Thu May 27 02:58:15 2010
+++ src/sys/arch/sparc/stand/Makefile.buildboot Wed Aug 25 16:16:48 2010
@@ -1,4 +1,4 @@
-# $NetBSD: Makefile.buildboot,v 1.27 2010/05/27 06:58:15 dholland Exp $
+# $NetBSD: Makefile.buildboot,v 1.28 2010/08/25 20:16:48 christos Exp $
#
# This file is for the sparc `boot' and `bootxx' only; it does not
# currently play well on a 64-bit system.
@@ -7,7 +7,7 @@
.PATH: ${.CURDIR}/../common ${.CURDIR}/../../sparc
-COMMONSOURCE= srt0.S promdev.c dvma.c promlib.c
+COMMONSOURCE= srt0.S promdev.c dvma.c promlib.c isfloppy.c
SRCS= ${COMMONSOURCE} ${PROGSOURCE}
NOMAN= # defined
Index: src/sys/arch/sparc/stand/boot/boot.c
diff -u src/sys/arch/sparc/stand/boot/boot.c:1.25 src/sys/arch/sparc/stand/boot/boot.c:1.26
--- src/sys/arch/sparc/stand/boot/boot.c:1.25 Wed Aug 25 14:11:54 2010
+++ src/sys/arch/sparc/stand/boot/boot.c Wed Aug 25 16:16:48 2010
@@ -1,4 +1,4 @@
-/* $NetBSD: boot.c,v 1.25 2010/08/25 18:11:54 christos Exp $ */
+/* $NetBSD: boot.c,v 1.26 2010/08/25 20:16:48 christos Exp $ */
/*-
* Copyright (c) 1982, 1986, 1990, 1993
@@ -42,6 +42,7 @@
#include <machine/promlib.h>
#include <sparc/stand/common/promdev.h>
+#include <sparc/stand/common/isfloppy.h>
#include "bootinfo.h"
@@ -225,7 +226,7 @@
loadaddrmask = 0x07ffffffUL;
}
- if (promdev_isfloppy())
+ if (bootdev_isfloppy(prom_bootdevice))
flags &= ~LOAD_BACKWARDS;
marks[MARK_START] = 0;
Index: src/sys/arch/sparc/stand/common/promdev.c
diff -u src/sys/arch/sparc/stand/common/promdev.c:1.24 src/sys/arch/sparc/stand/common/promdev.c:1.25
--- src/sys/arch/sparc/stand/common/promdev.c:1.24 Wed Aug 25 14:11:54 2010
+++ src/sys/arch/sparc/stand/common/promdev.c Wed Aug 25 16:16:49 2010
@@ -1,4 +1,4 @@
-/* $NetBSD: promdev.c,v 1.24 2010/08/25 18:11:54 christos Exp $ */
+/* $NetBSD: promdev.c,v 1.25 2010/08/25 20:16:49 christos Exp $ */
/*
* Copyright (c) 1993 Paul Kranenburg
@@ -48,6 +48,7 @@
#include <lib/libsa/net.h>
#include <lib/libkern/libkern.h>
#include <sparc/stand/common/promdev.h>
+#include <sparc/stand/common/isfloppy.h>
#ifndef BOOTXX
#include <sys/disklabel.h>
@@ -105,15 +106,6 @@
static daddr_t doffset = 0;
#endif
-
-int
-bootdev_isfloppy(void)
-{
- return strncmp(prom_bootdevice, "fd", 2) == 0 ||
- strstr(prom_bootdevice, "SUNW,fdtwo") != NULL ||
- strstr(prom_bootdevice, "fdthree") != NULL;
-}
-
void
putchar(int c)
{
@@ -227,7 +219,7 @@
* Don't check disklabel on floppy boot since
* reopening it could cause Data Access Exception later.
*/
- if (bootdev_isfloppy())
+ if (bootdev_isfloppy(prom_bootdevice))
return 0;
/*
Index: src/sys/arch/sparc/stand/common/promdev.h
diff -u src/sys/arch/sparc/stand/common/promdev.h:1.15 src/sys/arch/sparc/stand/common/promdev.h:1.16
--- src/sys/arch/sparc/stand/common/promdev.h:1.15 Wed Aug 25 14:11:54 2010
+++ src/sys/arch/sparc/stand/common/promdev.h Wed Aug 25 16:16:49 2010
@@ -1,4 +1,4 @@
-/* $NetBSD: promdev.h,v 1.15 2010/08/25 18:11:54 christos Exp $ */
+/* $NetBSD: promdev.h,v 1.16 2010/08/25 20:16:49 christos Exp $ */
/*-
* Copyright (c) 1998 The NetBSD Foundation, Inc.
@@ -70,9 +70,6 @@
extern int (*pmap_map)(vaddr_t, paddr_t, psize_t);
extern int (*pmap_extract)(vaddr_t, paddr_t *);
-/* In promdev.c */
-extern int bootdev_isfloppy(void);
-
/* In str0.S: */
extern void sparc_noop(void);
extern void *romp;
Index: src/sys/arch/sparc/stand/ofwboot/Makefile
diff -u src/sys/arch/sparc/stand/ofwboot/Makefile:1.24 src/sys/arch/sparc/stand/ofwboot/Makefile:1.25
--- src/sys/arch/sparc/stand/ofwboot/Makefile:1.24 Thu May 27 02:58:15 2010
+++ src/sys/arch/sparc/stand/ofwboot/Makefile Wed Aug 25 16:16:49 2010
@@ -1,4 +1,4 @@
-# $NetBSD: Makefile,v 1.24 2010/05/27 06:58:15 dholland Exp $
+# $NetBSD: Makefile,v 1.25 2010/08/25 20:16:49 christos Exp $
CURDIR= ${.CURDIR}
S= ${CURDIR}/../../../..
@@ -11,8 +11,8 @@
PROG?= ofwboot
SRCS= srt0.s Locore.c boot.c ofdev.c alloc.c net.c netif_of.c vers.c
-SRCS+= bootinfo.c loadfile_machdep.c promlib.c prf.c
-.PATH: ${S}/arch/sparc64/sparc64
+SRCS+= bootinfo.c loadfile_machdep.c promlib.c prf.c isfloppy.c
+.PATH: ${S}/arch/sparc64/sparc64 ${S}/arch/sparc/stand/common
# XXX SHOULD NOT NEED TO DEFINE THESE!
LIBCRT0=
Index: src/sys/arch/sparc/stand/ofwboot/boot.c
diff -u src/sys/arch/sparc/stand/ofwboot/boot.c:1.24 src/sys/arch/sparc/stand/ofwboot/boot.c:1.25
--- src/sys/arch/sparc/stand/ofwboot/boot.c:1.24 Wed Aug 25 12:38:04 2010
+++ src/sys/arch/sparc/stand/ofwboot/boot.c Wed Aug 25 16:16:49 2010
@@ -1,4 +1,4 @@
-/* $NetBSD: boot.c,v 1.24 2010/08/25 16:38:04 christos Exp $ */
+/* $NetBSD: boot.c,v 1.25 2010/08/25 20:16:49 christos Exp $ */
/*
* Copyright (c) 1997, 1999 Eduardo E. Horvath. All rights reserved.
@@ -55,6 +55,7 @@
#include <machine/cpu.h>
#include <machine/promlib.h>
#include <machine/bootinfo.h>
+#include <sparc/stand/common/isfloppy.h>
#include "boot.h"
#include "ofdev.h"
@@ -506,7 +507,7 @@
/* Figure boot arguments */
strncpy(bootdev, prom_getbootpath(), sizeof(bootdev) - 1);
boothowto = bootoptions(prom_getbootargs(), bootdev, kernel, bootline);
- isfloppy = strstr(bootdev, "fd") || strstr(bootdev, "floppy");
+ isfloppy = bootdev_isfloppy(bootdev);
for (;; *kernel = '\0') {
if (boothowto & RB_ASKNAME) {
Added files:
Index: src/sys/arch/sparc/stand/common/isfloppy.c
diff -u /dev/null src/sys/arch/sparc/stand/common/isfloppy.c:1.1
--- /dev/null Wed Aug 25 16:16:49 2010
+++ src/sys/arch/sparc/stand/common/isfloppy.c Wed Aug 25 16:16:49 2010
@@ -0,0 +1,10 @@
+#include <lib/libkern/libkern.h>
+#include <sparc/stand/common/isfloppy.h>
+
+int
+bootdev_isfloppy(const char *dev)
+{
+ return strncmp(dev, "fd", 2) == 0 ||
+ strstr(dev, "SUNW,fdtwo") != NULL ||
+ strstr(dev, "fdthree") != NULL;
+}
Index: src/sys/arch/sparc/stand/common/isfloppy.h
diff -u /dev/null src/sys/arch/sparc/stand/common/isfloppy.h:1.1
--- /dev/null Wed Aug 25 16:16:49 2010
+++ src/sys/arch/sparc/stand/common/isfloppy.h Wed Aug 25 16:16:49 2010
@@ -0,0 +1,2 @@
+
+extern int bootdev_isfloppy(const char *);