Module Name:    src
Committed By:   ad
Date:           Sat Apr  4 11:04:28 UTC 2009

Modified Files:
        src/distrib/utils/sysinst: bsddisklabel.c defs.h util.c
        src/distrib/utils/sysinst/arch/amd64: md.h
        src/distrib/utils/sysinst/arch/i386: md.h

Log Message:
Calculate swap size dynamically if DEFSWAPSIZE == -1. Default to RAM size.


To generate a diff of this commit:
cvs rdiff -u -r1.46 -r1.47 src/distrib/utils/sysinst/bsddisklabel.c
cvs rdiff -u -r1.138 -r1.139 src/distrib/utils/sysinst/defs.h
cvs rdiff -u -r1.155 -r1.156 src/distrib/utils/sysinst/util.c
cvs rdiff -u -r1.22 -r1.23 src/distrib/utils/sysinst/arch/amd64/md.h
cvs rdiff -u -r1.63 -r1.64 src/distrib/utils/sysinst/arch/i386/md.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/utils/sysinst/bsddisklabel.c
diff -u src/distrib/utils/sysinst/bsddisklabel.c:1.46 src/distrib/utils/sysinst/bsddisklabel.c:1.47
--- src/distrib/utils/sysinst/bsddisklabel.c:1.46	Sat Apr  4 10:38:00 2009
+++ src/distrib/utils/sysinst/bsddisklabel.c	Sat Apr  4 11:04:28 2009
@@ -1,4 +1,4 @@
-/*	$NetBSD: bsddisklabel.c,v 1.46 2009/04/04 10:38:00 ad Exp $	*/
+/*	$NetBSD: bsddisklabel.c,v 1.47 2009/04/04 11:04:28 ad Exp $	*/
 
 /*
  * Copyright 1997 Piermont Information Systems Inc.
@@ -74,10 +74,6 @@
 #define PART_USR	PART_ANY
 #endif
 
-#ifndef DEFSWAPRAM
-#define DEFSWAPRAM	32
-#endif
-
 #ifndef DEFVARSIZE
 #define DEFVARSIZE	32
 #endif
@@ -378,8 +374,17 @@
 	msg_table_add(MSG_ptnheaders);
 
 	if (pi.menu_no < 0) {
-		/* If there is a swap partition elsewhere, don't add one here.*/		if (no_swap)
+		/* If there is a swap partition elsewhere, don't add one here.*/
+		if (no_swap) {
 			pi.ptn_sizes[PI_SWAP].size = 0;
+		} else {
+#if DEFSWAPSIZE == -1
+			/* Dynamic swap size. */
+			pi.ptn_sizes[PI_SWAP].dflt_size = (get_mem_size() >> 20);
+			pi.ptn_sizes[PI_SWAP].size = pi.ptn_sizes[PI_SWAP].dflt_size;
+#endif
+		}
+			
 		/* If installing X increase default size of /usr */
 		if (set_X11_selected())
 			pi.ptn_sizes[PI_USR].dflt_size += XNEEDMB;

Index: src/distrib/utils/sysinst/defs.h
diff -u src/distrib/utils/sysinst/defs.h:1.138 src/distrib/utils/sysinst/defs.h:1.139
--- src/distrib/utils/sysinst/defs.h:1.138	Sun Feb 22 11:21:55 2009
+++ src/distrib/utils/sysinst/defs.h	Sat Apr  4 11:04:28 2009
@@ -1,4 +1,4 @@
-/*	$NetBSD: defs.h,v 1.138 2009/02/22 11:21:55 ad Exp $	*/
+/*	$NetBSD: defs.h,v 1.139 2009/04/04 11:04:28 ad Exp $	*/
 
 /*
  * Copyright 1997 Piermont Information Systems Inc.
@@ -420,6 +420,7 @@
 void	init_set_status(int);
 void	customise_sets(void);
 void	umount_mnt2(void);
+uint64_t get_mem_size(void);
 
 /* from target.c */
 const	char *concat_paths(const char *, const char *);

Index: src/distrib/utils/sysinst/util.c
diff -u src/distrib/utils/sysinst/util.c:1.155 src/distrib/utils/sysinst/util.c:1.156
--- src/distrib/utils/sysinst/util.c:1.155	Wed Feb 11 20:33:14 2009
+++ src/distrib/utils/sysinst/util.c	Sat Apr  4 11:04:28 2009
@@ -1,4 +1,4 @@
-/*	$NetBSD: util.c,v 1.155 2009/02/11 20:33:14 abs Exp $	*/
+/*	$NetBSD: util.c,v 1.156 2009/04/04 11:04:28 ad Exp $	*/
 
 /*
  * Copyright 1997 Piermont Information Systems Inc.
@@ -1318,3 +1318,16 @@
 		access("/sbin/mount_lfs", X_OK) == 0 &&
 		access("/sbin/newfs_lfs", X_OK) == 0);
 }
+
+uint64_t
+get_mem_size(void)
+{
+	int mib[2] = { CTL_HW, HW_PHYSMEM64 };
+	uint64_t v;
+	size_t sz;
+
+	v = 128*1024*1024;
+	sz = sizeof(v);
+	(void)sysctl(mib, 2, &v, &sz, NULL, 0);
+	return v;
+}

Index: src/distrib/utils/sysinst/arch/amd64/md.h
diff -u src/distrib/utils/sysinst/arch/amd64/md.h:1.22 src/distrib/utils/sysinst/arch/amd64/md.h:1.23
--- src/distrib/utils/sysinst/arch/amd64/md.h:1.22	Thu Dec 20 23:32:24 2007
+++ src/distrib/utils/sysinst/arch/amd64/md.h	Sat Apr  4 11:04:28 2009
@@ -1,4 +1,4 @@
-/*	$NetBSD: md.h,v 1.22 2007/12/20 23:32:24 ad Exp $	*/
+/*	$NetBSD: md.h,v 1.23 2009/04/04 11:04:28 ad Exp $	*/
 
 /*
  * Copyright 1997 Piermont Information Systems Inc.
@@ -50,7 +50,8 @@
 #include "mbr.h"
 
 /* constants and defines */
-
+#define	DEFUSRSIZE	0
+#define	DEFSWAPSIZE	(-1)
 
 /* Megs required for a full X installation. */
 #define XNEEDMB 50

Index: src/distrib/utils/sysinst/arch/i386/md.h
diff -u src/distrib/utils/sysinst/arch/i386/md.h:1.63 src/distrib/utils/sysinst/arch/i386/md.h:1.64
--- src/distrib/utils/sysinst/arch/i386/md.h:1.63	Wed Apr 30 15:29:11 2008
+++ src/distrib/utils/sysinst/arch/i386/md.h	Sat Apr  4 11:04:28 2009
@@ -1,4 +1,4 @@
-/*	$NetBSD: md.h,v 1.63 2008/04/30 15:29:11 ad Exp $	*/
+/*	$NetBSD: md.h,v 1.64 2009/04/04 11:04:28 ad Exp $	*/
 
 /*
  * Copyright 1997 Piermont Information Systems Inc.
@@ -50,8 +50,9 @@
 #include "mbr.h"
 
 /* constants and defines */
-
-#define DEFROOTSIZE	32
+#define	DEFUSRSIZE	0
+#define	DEFSWAPSIZE	(-1)
+#define	DEFROOTSIZE	32
 
 /* Megs required for a full X installation. */
 #define XNEEDMB 50

Reply via email to