Module Name:    src
Committed By:   abs
Date:           Mon Jul  2 22:42:18 UTC 2012

Modified Files:
        src/distrib/vax/miniroot: Makefile.inc
        src/sys/arch/vax/include: disklabel.h types.h
        src/sys/sys: bootblock.h

Log Message:
- Increase MAXPARTITIONS for vax from 8 to 16, using the standard NetBSD
  mechanism to ensure all existing /dev nodes continue to work
- Adjust boot block layout to fit additional partitions
- Adjust number of inodes on install media


To generate a diff of this commit:
cvs rdiff -u -r1.20 -r1.21 src/distrib/vax/miniroot/Makefile.inc
cvs rdiff -u -r1.5 -r1.6 src/sys/arch/vax/include/disklabel.h
cvs rdiff -u -r1.45 -r1.46 src/sys/arch/vax/include/types.h
cvs rdiff -u -r1.53 -r1.54 src/sys/sys/bootblock.h

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/distrib/vax/miniroot/Makefile.inc
diff -u src/distrib/vax/miniroot/Makefile.inc:1.20 src/distrib/vax/miniroot/Makefile.inc:1.21
--- src/distrib/vax/miniroot/Makefile.inc:1.20	Thu Feb 11 09:06:51 2010
+++ src/distrib/vax/miniroot/Makefile.inc	Mon Jul  2 22:42:18 2012
@@ -1,7 +1,7 @@
-# $NetBSD: Makefile.inc,v 1.20 2010/02/11 09:06:51 roy Exp $
+# $NetBSD: Makefile.inc,v 1.21 2012/07/02 22:42:18 abs Exp $
 
 IMAGESIZE=	7m
-MAKEFS_FLAGS=	-o density=4k
+MAKEFS_FLAGS=	-o density=3k
 IMAGEENDIAN=	le
 MAKEDEVTARGETS=	all
 LISTS+=		${DISTRIBDIR}/common/list.sysinst

Index: src/sys/arch/vax/include/disklabel.h
diff -u src/sys/arch/vax/include/disklabel.h:1.5 src/sys/arch/vax/include/disklabel.h:1.6
--- src/sys/arch/vax/include/disklabel.h:1.5	Tue Aug 30 12:39:59 2011
+++ src/sys/arch/vax/include/disklabel.h	Mon Jul  2 22:42:18 2012
@@ -1,4 +1,4 @@
-/*	$NetBSD: disklabel.h,v 1.5 2011/08/30 12:39:59 bouyer Exp $	*/
+/*	$NetBSD: disklabel.h,v 1.6 2012/07/02 22:42:18 abs Exp $	*/
 
 /*
  * Copyright (c) 1994 Christopher G. Demetriou
@@ -33,11 +33,25 @@
 #ifndef _MACHINE_DISKLABEL_H_
 #define _MACHINE_DISKLABEL_H_
 
-#define LABELUSESMBR	0			/* no MBR partitionning */
-#define	LABELSECTOR	0			/* sector containing label */
-#define	LABELOFFSET	64			/* offset of label in sector */
-#define	MAXPARTITIONS	8			/* number of partitions */
-#define	RAW_PART	2			/* raw partition: xx?c */
+#define LABELUSESMBR		0	/* no MBR partitionning */
+#define	LABELSECTOR		0	/* sector containing label */
+#define	LABELOFFSET		64	/* offset of label in sector */
+#define	MAXPARTITIONS		16	/* number of partitions */
+#define	OLDMAXPARTITIONS 	8	/* number of partitions before nb-6 */
+#define	RAW_PART		2	/* raw partition: xx?c */
+
+/*
+ * We use the highest bit of the minor number for the partition number.
+ * This maintains backward compatibility with device nodes created before
+ * MAXPARTITIONS was increased.
+ */
+#define __VAX_MAXDISKS	((1 << 20) / MAXPARTITIONS)
+#define DISKUNIT(dev)	((minor(dev) / OLDMAXPARTITIONS) % __VAX_MAXDISKS)
+#define DISKPART(dev)	((minor(dev) % OLDMAXPARTITIONS) + \
+    ((minor(dev) / (__VAX_MAXDISKS * OLDMAXPARTITIONS)) * OLDMAXPARTITIONS))
+#define	DISKMINOR(unit, part) \
+    (((unit) * OLDMAXPARTITIONS) + ((part) % OLDMAXPARTITIONS) + \
+     ((part) / OLDMAXPARTITIONS) * (__VAX_MAXDISKS * OLDMAXPARTITIONS))
 
 /* Just a dummy */
 #ifndef _LOCORE

Index: src/sys/arch/vax/include/types.h
diff -u src/sys/arch/vax/include/types.h:1.45 src/sys/arch/vax/include/types.h:1.46
--- src/sys/arch/vax/include/types.h:1.45	Fri May 25 12:32:48 2012
+++ src/sys/arch/vax/include/types.h	Mon Jul  2 22:42:18 2012
@@ -1,4 +1,4 @@
-/*	$NetBSD: types.h,v 1.45 2012/05/25 12:32:48 matt Exp $	*/
+/*	$NetBSD: types.h,v 1.46 2012/07/02 22:42:18 abs Exp $	*/
 
 /*-
  * Copyright (c) 1990 The Regents of the University of California.
@@ -78,6 +78,7 @@ typedef volatile char	__cpu_simple_lock_
 #define	__HAVE_CPU_DATA_FIRST
 #define	__HAVE_MM_MD_READWRITE
 #define	__HAVE_MM_MD_DIRECT_MAPPED_PHYS
+#define	__HAVE_OLD_DISKLABEL
 #ifdef _KERNEL
 #define	__HAVE_RAS
 #endif

Index: src/sys/sys/bootblock.h
diff -u src/sys/sys/bootblock.h:1.53 src/sys/sys/bootblock.h:1.54
--- src/sys/sys/bootblock.h:1.53	Mon Apr  2 18:53:54 2012
+++ src/sys/sys/bootblock.h	Mon Jul  2 22:42:18 2012
@@ -1,4 +1,4 @@
-/*	$NetBSD: bootblock.h,v 1.53 2012/04/02 18:53:54 christos Exp $	*/
+/*	$NetBSD: bootblock.h,v 1.54 2012/07/02 22:42:18 abs Exp $	*/
 
 /*-
  * Copyright (c) 2002-2004 The NetBSD Foundation, Inc.
@@ -1409,7 +1409,8 @@ struct vax_boot_block {
 	uint8_t		bb_mbone;	/* must be one */
 	uint16_t	bb_lbn_hi;	/* lbn (hi word) of bootstrap */
 	uint16_t	bb_lbn_low;	/* lbn (low word) of bootstrap */
-	uint8_t		pad1[332];
+	uint8_t		pad1[460];
+	/* disklabel offset is 64 from base, or 56 from start of pad1 */
 
 	/* The rest of these fields are identification area and describe
 	 * the secondary block for uVAX VMB.
@@ -1431,7 +1432,7 @@ struct vax_boot_block {
 
 	/* The rest is unused.
 	 */
-	uint8_t		pad2[148];
+	uint8_t		pad2[20];
 } __packed;
 
 #define	VAX_BOOT_MAGIC1			0x18	/* size of BB info? */

Reply via email to