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 *);

Reply via email to