Module Name:    src
Committed By:   pooka
Date:           Mon Nov 23 13:40:11 UTC 2009

Modified Files:
        src/sys/arch/algor/include: disklabel.h
        src/sys/arch/alpha/include: disklabel.h
        src/sys/arch/amd64/include: disklabel.h
        src/sys/arch/arc/include: disklabel.h
        src/sys/arch/arm/include: disklabel.h
        src/sys/arch/bebox/include: disklabel.h
        src/sys/arch/cobalt/include: disklabel.h
        src/sys/arch/evbmips/include: disklabel.h
        src/sys/arch/evbppc/include: disklabel.h
        src/sys/arch/hp700/include: disklabel.h
        src/sys/arch/hpcarm/include: disklabel.h
        src/sys/arch/hpcmips/include: disklabel.h
        src/sys/arch/i386/include: disklabel.h
        src/sys/arch/ia64/include: disklabel.h
        src/sys/arch/ibmnws/include: disklabel.h
        src/sys/arch/landisk/include: disklabel.h
        src/sys/arch/mvmeppc/include: disklabel.h
        src/sys/arch/ofppc/include: disklabel.h
        src/sys/arch/playstation2/include: disklabel.h
        src/sys/arch/prep/include: disklabel.h
        src/sys/arch/rs6000/include: disklabel.h
        src/sys/arch/sandpoint/include: disklabel.h
        src/sys/arch/sbmips/include: disklabel.h
        src/sys/arch/sh3/include: disklabel.h
        src/sys/arch/x68k/include: disklabel.h
        src/sys/arch/zaurus/include: disklabel.h
        src/sys/kern: subr_disk_mbr.c
        src/sys/rump/dev/lib/libdisk: Makefile

Log Message:
If cpu_disklabel includes struct dkbad, define __HAVE_DISKLABEL_DKBAD.
This allows use of subr_disk_mbr on all archs.  Default to it for
the rump disk component.  No functional change for regular kernels.
(The other option would've been to include dkbad in disklabels
everywhere, but arguably this approach has less possible side-effects,
especially given that wedges and related magic will take over the
world any second now).


To generate a diff of this commit:
cvs rdiff -u -r1.3 -r1.4 src/sys/arch/algor/include/disklabel.h
cvs rdiff -u -r1.9 -r1.10 src/sys/arch/alpha/include/disklabel.h
cvs rdiff -u -r1.8 -r1.9 src/sys/arch/amd64/include/disklabel.h
cvs rdiff -u -r1.9 -r1.10 src/sys/arch/arc/include/disklabel.h
cvs rdiff -u -r1.8 -r1.9 src/sys/arch/arm/include/disklabel.h
cvs rdiff -u -r1.8 -r1.9 src/sys/arch/bebox/include/disklabel.h
cvs rdiff -u -r1.9 -r1.10 src/sys/arch/cobalt/include/disklabel.h
cvs rdiff -u -r1.3 -r1.4 src/sys/arch/evbmips/include/disklabel.h
cvs rdiff -u -r1.5 -r1.6 src/sys/arch/evbppc/include/disklabel.h
cvs rdiff -u -r1.7 -r1.8 src/sys/arch/hp700/include/disklabel.h
cvs rdiff -u -r1.6 -r1.7 src/sys/arch/hpcarm/include/disklabel.h
cvs rdiff -u -r1.8 -r1.9 src/sys/arch/hpcmips/include/disklabel.h
cvs rdiff -u -r1.14 -r1.15 src/sys/arch/i386/include/disklabel.h
cvs rdiff -u -r1.1 -r1.2 src/sys/arch/ia64/include/disklabel.h
cvs rdiff -u -r1.3 -r1.4 src/sys/arch/ibmnws/include/disklabel.h
cvs rdiff -u -r1.1 -r1.2 src/sys/arch/landisk/include/disklabel.h
cvs rdiff -u -r1.6 -r1.7 src/sys/arch/mvmeppc/include/disklabel.h
cvs rdiff -u -r1.7 -r1.8 src/sys/arch/ofppc/include/disklabel.h
cvs rdiff -u -r1.6 -r1.7 src/sys/arch/playstation2/include/disklabel.h
cvs rdiff -u -r1.7 -r1.8 src/sys/arch/prep/include/disklabel.h
cvs rdiff -u -r1.1 -r1.2 src/sys/arch/rs6000/include/disklabel.h
cvs rdiff -u -r1.6 -r1.7 src/sys/arch/sandpoint/include/disklabel.h
cvs rdiff -u -r1.6 -r1.7 src/sys/arch/sbmips/include/disklabel.h
cvs rdiff -u -r1.7 -r1.8 src/sys/arch/sh3/include/disklabel.h
cvs rdiff -u -r1.4 -r1.5 src/sys/arch/x68k/include/disklabel.h
cvs rdiff -u -r1.1 -r1.2 src/sys/arch/zaurus/include/disklabel.h
cvs rdiff -u -r1.36 -r1.37 src/sys/kern/subr_disk_mbr.c
cvs rdiff -u -r1.5 -r1.6 src/sys/rump/dev/lib/libdisk/Makefile

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/algor/include/disklabel.h
diff -u src/sys/arch/algor/include/disklabel.h:1.3 src/sys/arch/algor/include/disklabel.h:1.4
--- src/sys/arch/algor/include/disklabel.h:1.3	Sun Dec 11 12:16:08 2005
+++ src/sys/arch/algor/include/disklabel.h	Mon Nov 23 13:40:08 2009
@@ -1,4 +1,4 @@
-/*	$NetBSD: disklabel.h,v 1.3 2005/12/11 12:16:08 christos Exp $	*/
+/*	$NetBSD: disklabel.h,v 1.4 2009/11/23 13:40:08 pooka Exp $	*/
 
 /*
  * Copyright (c) 1994 Christopher G. Demetriou
@@ -46,6 +46,7 @@
 
 /* Just a dummy */
 struct cpu_disklabel {
+#define __HAVE_DISKLABEL_DKBAD
 	struct dkbad bad;			/* must have one element. */
 };
 

Index: src/sys/arch/alpha/include/disklabel.h
diff -u src/sys/arch/alpha/include/disklabel.h:1.9 src/sys/arch/alpha/include/disklabel.h:1.10
--- src/sys/arch/alpha/include/disklabel.h:1.9	Sun Dec 11 12:16:16 2005
+++ src/sys/arch/alpha/include/disklabel.h	Mon Nov 23 13:40:09 2009
@@ -1,4 +1,4 @@
-/* $NetBSD: disklabel.h,v 1.9 2005/12/11 12:16:16 christos Exp $ */
+/* $NetBSD: disklabel.h,v 1.10 2009/11/23 13:40:09 pooka Exp $ */
 
 /*
  * Copyright (c) 1994, 1999 Christopher G. Demetriou
@@ -47,6 +47,7 @@
 
 /* Just a dummy */
 struct cpu_disklabel {
+#define __HAVE_DISKLABEL_DKBAD
 	struct dkbad bad;			/* bad-sector information */
 };
 

Index: src/sys/arch/amd64/include/disklabel.h
diff -u src/sys/arch/amd64/include/disklabel.h:1.8 src/sys/arch/amd64/include/disklabel.h:1.9
--- src/sys/arch/amd64/include/disklabel.h:1.8	Tue Oct 28 02:19:27 2008
+++ src/sys/arch/amd64/include/disklabel.h	Mon Nov 23 13:40:09 2009
@@ -1,4 +1,4 @@
-/*	$NetBSD: disklabel.h,v 1.8 2008/10/28 02:19:27 mrg Exp $	*/
+/*	$NetBSD: disklabel.h,v 1.9 2009/11/23 13:40:09 pooka Exp $	*/
 
 /*
  * Copyright (c) 1994 Christopher G. Demetriou
@@ -59,6 +59,7 @@
 #include <sys/dkbad.h>
 #endif /* HAVE_NBTOOL_CONFIG_H */
 struct cpu_disklabel {
+#define __HAVE_DISKLABEL_DKBAD
 	struct dkbad bad;
 };
 #endif

Index: src/sys/arch/arc/include/disklabel.h
diff -u src/sys/arch/arc/include/disklabel.h:1.9 src/sys/arch/arc/include/disklabel.h:1.10
--- src/sys/arch/arc/include/disklabel.h:1.9	Sun Dec 11 12:16:39 2005
+++ src/sys/arch/arc/include/disklabel.h	Mon Nov 23 13:40:09 2009
@@ -1,4 +1,4 @@
-/*	$NetBSD: disklabel.h,v 1.9 2005/12/11 12:16:39 christos Exp $	*/
+/*	$NetBSD: disklabel.h,v 1.10 2009/11/23 13:40:09 pooka Exp $	*/
 /*	$OpenBSD: disklabel.h,v 1.14 1999/03/23 16:36:17 millert Exp $	*/
 /*	NetBSD: disklabel.h,v 1.3 1996/03/09 20:52:54 ghudson Exp 	*/
 
@@ -56,6 +56,7 @@
 #endif /* HAVE_NBTOOL_CONFIG_H */
 struct cpu_disklabel {
 	struct mbr_partition dosparts[MBR_PART_COUNT];
+#define __HAVE_DISKLABEL_DKBAD
 	struct dkbad bad;
 };
 

Index: src/sys/arch/arm/include/disklabel.h
diff -u src/sys/arch/arm/include/disklabel.h:1.8 src/sys/arch/arm/include/disklabel.h:1.9
--- src/sys/arch/arm/include/disklabel.h:1.8	Sat Mar 14 14:45:55 2009
+++ src/sys/arch/arm/include/disklabel.h	Mon Nov 23 13:40:09 2009
@@ -1,4 +1,4 @@
-/*	$NetBSD: disklabel.h,v 1.8 2009/03/14 14:45:55 dsl Exp $	*/
+/*	$NetBSD: disklabel.h,v 1.9 2009/11/23 13:40:09 pooka Exp $	*/
 
 /*
  * Copyright (c) 1994 Mark Brinicombe.
@@ -63,6 +63,7 @@
 
 struct cpu_disklabel {
 	struct mbr_partition mbrparts[MBR_PART_COUNT];
+#define __HAVE_DISKLABEL_DKBAD
 	struct dkbad bad;
 };
 

Index: src/sys/arch/bebox/include/disklabel.h
diff -u src/sys/arch/bebox/include/disklabel.h:1.8 src/sys/arch/bebox/include/disklabel.h:1.9
--- src/sys/arch/bebox/include/disklabel.h:1.8	Sun Dec 11 12:17:03 2005
+++ src/sys/arch/bebox/include/disklabel.h	Mon Nov 23 13:40:09 2009
@@ -1,4 +1,4 @@
-/*	$NetBSD: disklabel.h,v 1.8 2005/12/11 12:17:03 christos Exp $	*/
+/*	$NetBSD: disklabel.h,v 1.9 2009/11/23 13:40:09 pooka Exp $	*/
 
 /*
  * Copyright (c) 1994 Christopher G. Demetriou
@@ -52,6 +52,7 @@
 #endif /* HAVE_NBTOOL_CONFIG_H */
 struct cpu_disklabel {
 	struct mbr_partition dosparts[MBR_PART_COUNT];
+#define __HAVE_DISKLABEL_DKBAD
 	struct dkbad bad;
 };
 

Index: src/sys/arch/cobalt/include/disklabel.h
diff -u src/sys/arch/cobalt/include/disklabel.h:1.9 src/sys/arch/cobalt/include/disklabel.h:1.10
--- src/sys/arch/cobalt/include/disklabel.h:1.9	Sun Dec 11 12:17:06 2005
+++ src/sys/arch/cobalt/include/disklabel.h	Mon Nov 23 13:40:09 2009
@@ -1,4 +1,4 @@
-/*	$NetBSD: disklabel.h,v 1.9 2005/12/11 12:17:06 christos Exp $	*/
+/*	$NetBSD: disklabel.h,v 1.10 2009/11/23 13:40:09 pooka Exp $	*/
 
 /*
  * Copyright (c) 1994 Christopher G. Demetriou
@@ -53,6 +53,7 @@
 #endif /* HAVE_NBTOOL_CONFIG_H */
 struct cpu_disklabel {
 	struct mbr_partition dosparts[MBR_PART_COUNT];
+#define __HAVE_DISKLABEL_DKBAD
 	struct dkbad bad;
 };
 #endif

Index: src/sys/arch/evbmips/include/disklabel.h
diff -u src/sys/arch/evbmips/include/disklabel.h:1.3 src/sys/arch/evbmips/include/disklabel.h:1.4
--- src/sys/arch/evbmips/include/disklabel.h:1.3	Sun Dec 11 12:17:11 2005
+++ src/sys/arch/evbmips/include/disklabel.h	Mon Nov 23 13:40:09 2009
@@ -1,4 +1,4 @@
-/*	$NetBSD: disklabel.h,v 1.3 2005/12/11 12:17:11 christos Exp $	*/
+/*	$NetBSD: disklabel.h,v 1.4 2009/11/23 13:40:09 pooka Exp $	*/
 
 /*
  * Copyright (c) 1994 Christopher G. Demetriou
@@ -46,6 +46,7 @@
 
 /* Just a dummy */
 struct cpu_disklabel {
+#define __HAVE_DISKLABEL_DKBAD
 	struct dkbad bad;			/* must have one element. */
 };
 

Index: src/sys/arch/evbppc/include/disklabel.h
diff -u src/sys/arch/evbppc/include/disklabel.h:1.5 src/sys/arch/evbppc/include/disklabel.h:1.6
--- src/sys/arch/evbppc/include/disklabel.h:1.5	Sun Dec 11 12:17:12 2005
+++ src/sys/arch/evbppc/include/disklabel.h	Mon Nov 23 13:40:09 2009
@@ -1,4 +1,4 @@
-/*	$NetBSD: disklabel.h,v 1.5 2005/12/11 12:17:12 christos Exp $	*/
+/*	$NetBSD: disklabel.h,v 1.6 2009/11/23 13:40:09 pooka Exp $	*/
 
 /*
  * Copyright (c) 1994 Christopher G. Demetriou
@@ -60,6 +60,7 @@
 #ifdef EVBPPC_HAS_MBR
 	struct mbr_partition dosparts[MBR_PART_COUNT];
 #endif
+#define __HAVE_DISKLABEL_DKBAD
 	struct dkbad bad;		/* bad-sector information */
 };
 

Index: src/sys/arch/hp700/include/disklabel.h
diff -u src/sys/arch/hp700/include/disklabel.h:1.7 src/sys/arch/hp700/include/disklabel.h:1.8
--- src/sys/arch/hp700/include/disklabel.h:1.7	Sun Dec 11 12:17:24 2005
+++ src/sys/arch/hp700/include/disklabel.h	Mon Nov 23 13:40:09 2009
@@ -1,4 +1,4 @@
-/*	$NetBSD: disklabel.h,v 1.7 2005/12/11 12:17:24 christos Exp $	*/
+/*	$NetBSD: disklabel.h,v 1.8 2009/11/23 13:40:09 pooka Exp $	*/
 
 /*	$OpenBSD: disklabel.h,v 1.5 2000/07/05 22:37:22 mickey Exp $	*/
 
@@ -55,6 +55,7 @@
 struct cpu_disklabel {
 	struct hp700_lifvol lifvol;
 	struct hp700_lifdir lifdir[HP700_LIF_NUMDIR];
+#define __HAVE_DISKLABEL_DKBAD
 	struct dkbad bad;			/* To make wd(4) happy */
 };
 

Index: src/sys/arch/hpcarm/include/disklabel.h
diff -u src/sys/arch/hpcarm/include/disklabel.h:1.6 src/sys/arch/hpcarm/include/disklabel.h:1.7
--- src/sys/arch/hpcarm/include/disklabel.h:1.6	Sun Dec 11 12:17:33 2005
+++ src/sys/arch/hpcarm/include/disklabel.h	Mon Nov 23 13:40:09 2009
@@ -1,4 +1,4 @@
-/*	$NetBSD: disklabel.h,v 1.6 2005/12/11 12:17:33 christos Exp $	*/
+/*	$NetBSD: disklabel.h,v 1.7 2009/11/23 13:40:09 pooka Exp $	*/
 
 /*
  * Copyright (c) 1994 Christopher G. Demetriou
@@ -53,6 +53,7 @@
 #endif /* HAVE_NBTOOL_CONFIG_H */
 struct cpu_disklabel {
 	struct mbr_partition dosparts[MBR_PART_COUNT];
+#define __HAVE_DISKLABEL_DKBAD
 	struct dkbad bad;
 };
 #endif

Index: src/sys/arch/hpcmips/include/disklabel.h
diff -u src/sys/arch/hpcmips/include/disklabel.h:1.8 src/sys/arch/hpcmips/include/disklabel.h:1.9
--- src/sys/arch/hpcmips/include/disklabel.h:1.8	Sun Dec 11 12:17:33 2005
+++ src/sys/arch/hpcmips/include/disklabel.h	Mon Nov 23 13:40:10 2009
@@ -1,4 +1,4 @@
-/*	$NetBSD: disklabel.h,v 1.8 2005/12/11 12:17:33 christos Exp $	*/
+/*	$NetBSD: disklabel.h,v 1.9 2009/11/23 13:40:10 pooka Exp $	*/
 
 /*
  * Copyright (c) 1994 Christopher G. Demetriou
@@ -67,6 +67,7 @@
 #endif /* HAVE_NBTOOL_CONFIG_H */
 struct cpu_disklabel {
 	struct mbr_partition dosparts[MBR_PART_COUNT];
+#define __HAVE_DISKLABEL_DKBAD
 	struct dkbad bad;
 };
 #endif

Index: src/sys/arch/i386/include/disklabel.h
diff -u src/sys/arch/i386/include/disklabel.h:1.14 src/sys/arch/i386/include/disklabel.h:1.15
--- src/sys/arch/i386/include/disklabel.h:1.14	Sun Oct 26 06:57:30 2008
+++ src/sys/arch/i386/include/disklabel.h	Mon Nov 23 13:40:10 2009
@@ -1,4 +1,4 @@
-/*	$NetBSD: disklabel.h,v 1.14 2008/10/26 06:57:30 mrg Exp $	*/
+/*	$NetBSD: disklabel.h,v 1.15 2009/11/23 13:40:10 pooka Exp $	*/
 
 /*
  * Copyright (c) 1994 Christopher G. Demetriou
@@ -66,6 +66,7 @@
 #include <sys/dkbad.h>
 #endif /* HAVE_NBTOOL_CONFIG_H */
 struct cpu_disklabel {
+#define __HAVE_DISKLABEL_DKBAD
 	struct dkbad bad;
 };
 #endif

Index: src/sys/arch/ia64/include/disklabel.h
diff -u src/sys/arch/ia64/include/disklabel.h:1.1 src/sys/arch/ia64/include/disklabel.h:1.2
--- src/sys/arch/ia64/include/disklabel.h:1.1	Fri Apr  7 14:21:18 2006
+++ src/sys/arch/ia64/include/disklabel.h	Mon Nov 23 13:40:10 2009
@@ -1,4 +1,4 @@
-/*	$NetBSD: disklabel.h,v 1.1 2006/04/07 14:21:18 cherry Exp $	*/
+/*	$NetBSD: disklabel.h,v 1.2 2009/11/23 13:40:10 pooka Exp $	*/
 
 /*
  * Copyright (c) 1994 Christopher G. Demetriou
@@ -66,6 +66,7 @@
 #include <sys/dkbad.h>
 #endif /* HAVE_NBTOOL_CONFIG_H */
 struct cpu_disklabel {
+#define __HAVE_DISKLABEL_DKBAD
 	struct dkbad bad;
 };
 #endif

Index: src/sys/arch/ibmnws/include/disklabel.h
diff -u src/sys/arch/ibmnws/include/disklabel.h:1.3 src/sys/arch/ibmnws/include/disklabel.h:1.4
--- src/sys/arch/ibmnws/include/disklabel.h:1.3	Sun Dec 11 12:17:50 2005
+++ src/sys/arch/ibmnws/include/disklabel.h	Mon Nov 23 13:40:10 2009
@@ -1,4 +1,4 @@
-/*	$NetBSD: disklabel.h,v 1.3 2005/12/11 12:17:50 christos Exp $	*/
+/*	$NetBSD: disklabel.h,v 1.4 2009/11/23 13:40:10 pooka Exp $	*/
 
 /*
  * Copyright (c) 1994 Christopher G. Demetriou
@@ -49,6 +49,7 @@
 
 struct cpu_disklabel {
 	struct mbr_partition dosparts[MBR_PART_COUNT];
+#define __HAVE_DISKLABEL_DKBAD
 	struct dkbad bad;
 };
 

Index: src/sys/arch/landisk/include/disklabel.h
diff -u src/sys/arch/landisk/include/disklabel.h:1.1 src/sys/arch/landisk/include/disklabel.h:1.2
--- src/sys/arch/landisk/include/disklabel.h:1.1	Fri Sep  1 21:26:18 2006
+++ src/sys/arch/landisk/include/disklabel.h	Mon Nov 23 13:40:10 2009
@@ -1,4 +1,4 @@
-/*	$NetBSD: disklabel.h,v 1.1 2006/09/01 21:26:18 uwe Exp $	*/
+/*	$NetBSD: disklabel.h,v 1.2 2009/11/23 13:40:10 pooka Exp $	*/
 
 /*
  * Copyright (c) 1994 Christopher G. Demetriou
@@ -54,6 +54,7 @@
 
 struct cpu_disklabel {
 	struct mbr_partition dosparts[MBR_PART_COUNT];
+#define __HAVE_DISKLABEL_DKBAD
 	struct dkbad bad;
 };
 #endif	/* __ASSEMBLER__ */

Index: src/sys/arch/mvmeppc/include/disklabel.h
diff -u src/sys/arch/mvmeppc/include/disklabel.h:1.6 src/sys/arch/mvmeppc/include/disklabel.h:1.7
--- src/sys/arch/mvmeppc/include/disklabel.h:1.6	Sun Dec 11 12:18:19 2005
+++ src/sys/arch/mvmeppc/include/disklabel.h	Mon Nov 23 13:40:10 2009
@@ -1,4 +1,4 @@
-/*	$NetBSD: disklabel.h,v 1.6 2005/12/11 12:18:19 christos Exp $	*/
+/*	$NetBSD: disklabel.h,v 1.7 2009/11/23 13:40:10 pooka Exp $	*/
 
 /*
  * Copyright (c) 1994 Christopher G. Demetriou
@@ -49,6 +49,7 @@
 
 struct cpu_disklabel {
 	struct mbr_partition dosparts[MBR_PART_COUNT];
+#define __HAVE_DISKLABEL_DKBAD
 	struct dkbad bad;
 };
 

Index: src/sys/arch/ofppc/include/disklabel.h
diff -u src/sys/arch/ofppc/include/disklabel.h:1.7 src/sys/arch/ofppc/include/disklabel.h:1.8
--- src/sys/arch/ofppc/include/disklabel.h:1.7	Wed Oct 17 19:56:07 2007
+++ src/sys/arch/ofppc/include/disklabel.h	Mon Nov 23 13:40:10 2009
@@ -1,4 +1,4 @@
-/*	$NetBSD: disklabel.h,v 1.7 2007/10/17 19:56:07 garbled Exp $	*/
+/*	$NetBSD: disklabel.h,v 1.8 2009/11/23 13:40:10 pooka Exp $	*/
 
 /*-
  * Copyright (C) 1995, 1996 Wolfgang Solfrank.
@@ -49,6 +49,7 @@
 
 struct cpu_disklabel {
 	struct mbr_partition dosparts[MBR_PART_COUNT];
+#define __HAVE_DISKLABEL_DKBAD
 	struct dkbad bad;
 };
 

Index: src/sys/arch/playstation2/include/disklabel.h
diff -u src/sys/arch/playstation2/include/disklabel.h:1.6 src/sys/arch/playstation2/include/disklabel.h:1.7
--- src/sys/arch/playstation2/include/disklabel.h:1.6	Sun Dec 11 12:18:36 2005
+++ src/sys/arch/playstation2/include/disklabel.h	Mon Nov 23 13:40:10 2009
@@ -1,4 +1,4 @@
-/*	$NetBSD: disklabel.h,v 1.6 2005/12/11 12:18:36 christos Exp $	*/
+/*	$NetBSD: disklabel.h,v 1.7 2009/11/23 13:40:10 pooka Exp $	*/
 
 /*
  * Copyright (c) 1994 Christopher G. Demetriou
@@ -53,6 +53,7 @@
 #endif /* HAVE_NBTOOL_CONFIG_H */
 struct cpu_disklabel {
         struct mbr_partition dosparts[MBR_PART_COUNT];
+#define __HAVE_DISKLABEL_DKBAD
         struct dkbad bad;
 };
 #endif

Index: src/sys/arch/prep/include/disklabel.h
diff -u src/sys/arch/prep/include/disklabel.h:1.7 src/sys/arch/prep/include/disklabel.h:1.8
--- src/sys/arch/prep/include/disklabel.h:1.7	Sun Dec 11 12:18:47 2005
+++ src/sys/arch/prep/include/disklabel.h	Mon Nov 23 13:40:10 2009
@@ -1,4 +1,4 @@
-/*	$NetBSD: disklabel.h,v 1.7 2005/12/11 12:18:47 christos Exp $	*/
+/*	$NetBSD: disklabel.h,v 1.8 2009/11/23 13:40:10 pooka Exp $	*/
 
 /*
  * Copyright (c) 1994 Christopher G. Demetriou
@@ -47,6 +47,7 @@
 #endif /* HAVE_NBTOOL_CONFIG_H */
 struct cpu_disklabel {
 	struct mbr_partition dosparts[MBR_PART_COUNT];
+#define __HAVE_DISKLABEL_DKBAD
 	struct dkbad bad;
 };
 

Index: src/sys/arch/rs6000/include/disklabel.h
diff -u src/sys/arch/rs6000/include/disklabel.h:1.1 src/sys/arch/rs6000/include/disklabel.h:1.2
--- src/sys/arch/rs6000/include/disklabel.h:1.1	Mon Dec 17 19:09:13 2007
+++ src/sys/arch/rs6000/include/disklabel.h	Mon Nov 23 13:40:10 2009
@@ -1,4 +1,4 @@
-/*	$NetBSD: disklabel.h,v 1.1 2007/12/17 19:09:13 garbled Exp $	*/
+/*	$NetBSD: disklabel.h,v 1.2 2009/11/23 13:40:10 pooka Exp $	*/
 
 /*
  * Copyright (c) 1994 Christopher G. Demetriou
@@ -47,6 +47,7 @@
 #endif /* HAVE_NBTOOL_CONFIG_H */
 struct cpu_disklabel {
 	struct mbr_partition dosparts[MBR_PART_COUNT];
+#define __HAVE_DISKLABEL_DKBAD
 	struct dkbad bad;
 };
 

Index: src/sys/arch/sandpoint/include/disklabel.h
diff -u src/sys/arch/sandpoint/include/disklabel.h:1.6 src/sys/arch/sandpoint/include/disklabel.h:1.7
--- src/sys/arch/sandpoint/include/disklabel.h:1.6	Sun Dec 11 12:18:51 2005
+++ src/sys/arch/sandpoint/include/disklabel.h	Mon Nov 23 13:40:10 2009
@@ -1,4 +1,4 @@
-/*	$NetBSD: disklabel.h,v 1.6 2005/12/11 12:18:51 christos Exp $	*/
+/*	$NetBSD: disklabel.h,v 1.7 2009/11/23 13:40:10 pooka Exp $	*/
 
 /*
  * Copyright (c) 1994 Christopher G. Demetriou
@@ -47,6 +47,7 @@
 #endif /* HAVE_NBTOOL_CONFIG_H */
 struct cpu_disklabel {
 	struct mbr_partition dosparts[MBR_PART_COUNT];
+#define __HAVE_DISKLABEL_DKBAD
 	struct dkbad bad;
 };
 

Index: src/sys/arch/sbmips/include/disklabel.h
diff -u src/sys/arch/sbmips/include/disklabel.h:1.6 src/sys/arch/sbmips/include/disklabel.h:1.7
--- src/sys/arch/sbmips/include/disklabel.h:1.6	Sun Dec 11 12:18:51 2005
+++ src/sys/arch/sbmips/include/disklabel.h	Mon Nov 23 13:40:11 2009
@@ -1,4 +1,4 @@
-/* $NetBSD: disklabel.h,v 1.6 2005/12/11 12:18:51 christos Exp $ */
+/* $NetBSD: disklabel.h,v 1.7 2009/11/23 13:40:11 pooka Exp $ */
 
 /*
  * Copyright 2000, 2001
@@ -88,6 +88,7 @@
 #endif /* HAVE_NBTOOL_CONFIG_H */
 struct cpu_disklabel {
 	struct mbr_partition dosparts[MBR_PART_COUNT];
+#define __HAVE_DISKLABEL_DKBAD
 	struct dkbad bad;
 };
 #endif

Index: src/sys/arch/sh3/include/disklabel.h
diff -u src/sys/arch/sh3/include/disklabel.h:1.7 src/sys/arch/sh3/include/disklabel.h:1.8
--- src/sys/arch/sh3/include/disklabel.h:1.7	Sun Dec 11 12:18:58 2005
+++ src/sys/arch/sh3/include/disklabel.h	Mon Nov 23 13:40:11 2009
@@ -1,4 +1,4 @@
-/*	$NetBSD: disklabel.h,v 1.7 2005/12/11 12:18:58 christos Exp $	*/
+/*	$NetBSD: disklabel.h,v 1.8 2009/11/23 13:40:11 pooka Exp $	*/
 
 /*
  * Copyright (c) 1994 Christopher G. Demetriou
@@ -53,6 +53,7 @@
 #endif /* HAVE_NBTOOL_CONFIG_H */
 struct cpu_disklabel {
 	struct mbr_partition dosparts[MBR_PART_COUNT];
+#define __HAVE_DISKLABEL_DKBAD
 	struct dkbad bad;
 };
 #endif

Index: src/sys/arch/x68k/include/disklabel.h
diff -u src/sys/arch/x68k/include/disklabel.h:1.4 src/sys/arch/x68k/include/disklabel.h:1.5
--- src/sys/arch/x68k/include/disklabel.h:1.4	Sun Dec 11 12:19:44 2005
+++ src/sys/arch/x68k/include/disklabel.h	Mon Nov 23 13:40:11 2009
@@ -1,4 +1,4 @@
-/*	$NetBSD: disklabel.h,v 1.4 2005/12/11 12:19:44 christos Exp $	*/
+/*	$NetBSD: disklabel.h,v 1.5 2009/11/23 13:40:11 pooka Exp $	*/
 
 /*
  * Copyright (c) 1994 Masaru Oki
@@ -58,6 +58,7 @@
 #endif /* HAVE_NBTOOL_CONFIG_H */
 struct cpu_disklabel {
 	struct dos_partition dosparts[NDOSPART];
+#define __HAVE_DISKLABEL_DKBAD
 	struct dkbad bad;
 };
 

Index: src/sys/arch/zaurus/include/disklabel.h
diff -u src/sys/arch/zaurus/include/disklabel.h:1.1 src/sys/arch/zaurus/include/disklabel.h:1.2
--- src/sys/arch/zaurus/include/disklabel.h:1.1	Sat Dec 16 05:43:59 2006
+++ src/sys/arch/zaurus/include/disklabel.h	Mon Nov 23 13:40:11 2009
@@ -1,4 +1,4 @@
-/*	$NetBSD: disklabel.h,v 1.1 2006/12/16 05:43:59 ober Exp $	*/
+/*	$NetBSD: disklabel.h,v 1.2 2009/11/23 13:40:11 pooka Exp $	*/
 
 /*
  * Copyright (c) 1994 Christopher G. Demetriou
@@ -54,6 +54,7 @@
 
 struct cpu_disklabel {
 	struct mbr_partition dosparts[MBR_PART_COUNT];
+#define __HAVE_DISKLABEL_DKBAD
 	struct dkbad bad;
 };
 #endif	/* __ASSEMBLER__ */

Index: src/sys/kern/subr_disk_mbr.c
diff -u src/sys/kern/subr_disk_mbr.c:1.36 src/sys/kern/subr_disk_mbr.c:1.37
--- src/sys/kern/subr_disk_mbr.c:1.36	Wed Jun  3 15:07:30 2009
+++ src/sys/kern/subr_disk_mbr.c	Mon Nov 23 13:40:11 2009
@@ -1,4 +1,4 @@
-/*	$NetBSD: subr_disk_mbr.c,v 1.36 2009/06/03 15:07:30 pooka Exp $	*/
+/*	$NetBSD: subr_disk_mbr.c,v 1.37 2009/11/23 13:40:11 pooka Exp $	*/
 
 /*
  * Copyright (c) 1982, 1986, 1988 Regents of the University of California.
@@ -54,7 +54,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: subr_disk_mbr.c,v 1.36 2009/06/03 15:07:30 pooka Exp $");
+__KERNEL_RCSID(0, "$NetBSD: subr_disk_mbr.c,v 1.37 2009/11/23 13:40:11 pooka Exp $");
 
 #include <sys/param.h>
 #include <sys/systm.h>
@@ -67,6 +67,7 @@
 #include <sys/fcntl.h>
 #include <sys/conf.h>
 #include <sys/cdio.h>
+#include <sys/dkbad.h>
 #include <fs/udf/ecma167-udf.h>
 
 #include <sys/kauth.h>
@@ -394,7 +395,6 @@
 readdisklabel(dev_t dev, void (*strat)(struct buf *), struct disklabel *lp,
     struct cpu_disklabel *osdep)
 {
-	struct dkbad *bdp;
 	int rval;
 	int i;
 	mbr_args_t a;
@@ -462,8 +462,9 @@
 #endif
 
 	/* Obtain bad sector table if requested and present */
+#ifdef __HAVE_DISKLABEL_DKBAD
 	if (rval == SCAN_FOUND && osdep && (lp->d_flags & D_BADSECT)) {
-		struct dkbad *db;
+		struct dkbad *bdp, *db;
 		int blkno;
 
 		bdp = &osdep->bad;
@@ -493,6 +494,7 @@
 		} while (a.bp->b_error && (i += 2) < 10 &&
 			i < lp->d_nsectors);
 	}
+#endif /* __HAVE_DISKLABEL_DKBAD */
 
 	brelse(a.bp, 0);
 	if (rval == SCAN_ERROR || rval == SCAN_CONTINUE)

Index: src/sys/rump/dev/lib/libdisk/Makefile
diff -u src/sys/rump/dev/lib/libdisk/Makefile:1.5 src/sys/rump/dev/lib/libdisk/Makefile:1.6
--- src/sys/rump/dev/lib/libdisk/Makefile:1.5	Mon Nov 23 11:20:25 2009
+++ src/sys/rump/dev/lib/libdisk/Makefile	Mon Nov 23 13:40:11 2009
@@ -1,4 +1,4 @@
-#	$NetBSD: Makefile,v 1.5 2009/11/23 11:20:25 pooka Exp $
+#	$NetBSD: Makefile,v 1.6 2009/11/23 13:40:11 pooka Exp $
 #
 
 .PATH:	${.CURDIR}/../../../../kern					\
@@ -7,18 +7,16 @@
 LIB=	rumpdev_disk
 
 #
-# XXX: not all platforms support this for now, since disklabel contains
-# some MD weirdosities.  Enable only on i386.  Rest of the platforms
-# get a dummy implementation (due to it being easier with setlists).
+# We use subr_disk_mbr on all platforms.  The current structure of
+# code allows us to pick only one readdisklabel() routine.  While
+# this is not the native one for all platforms, it's probably the
+# most common one in an image floating on the internetto.
+SRCS=	subr_disk_mbr.c
 
-.if ${MACHINE} == "i386"
 # sys/kern
-SRCS=	subr_disk.c subr_disk_mbr.c subr_disk_open.c
+SRCS+=	subr_disk.c subr_disk_open.c
 # sys/dev
 SRCS+=	dksubr.c dk.c
-.else
-SRCS+=	dummy.c
-.endif
 
 CFLAGS+=	-Wno-pointer-sign
 

Reply via email to