Module Name:    src
Committed By:   uebayasi
Date:           Sun Aug 30 05:24:04 UTC 2015

Modified Files:
        src/sys/conf: Makefile.kern.inc files
        src/sys/dev: md_root.c
Added Files:
        src/sys/conf: mdroot.mk

Log Message:
Put back MEMORY_DISK_IMAGE logic, but use generated opt_memory_root_image.h
and don't polute Makefile.kern.inc.


To generate a diff of this commit:
cvs rdiff -u -r1.212 -r1.213 src/sys/conf/Makefile.kern.inc
cvs rdiff -u -r1.1141 -r1.1142 src/sys/conf/files
cvs rdiff -u -r0 -r1.1 src/sys/conf/mdroot.mk
cvs rdiff -u -r1.18 -r1.19 src/sys/dev/md_root.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/conf/Makefile.kern.inc
diff -u src/sys/conf/Makefile.kern.inc:1.212 src/sys/conf/Makefile.kern.inc:1.213
--- src/sys/conf/Makefile.kern.inc:1.212	Sun Aug 30 05:12:00 2015
+++ src/sys/conf/Makefile.kern.inc	Sun Aug 30 05:24:04 2015
@@ -1,4 +1,4 @@
-#	$NetBSD: Makefile.kern.inc,v 1.212 2015/08/30 05:12:00 uebayasi Exp $
+#	$NetBSD: Makefile.kern.inc,v 1.213 2015/08/30 05:24:04 uebayasi Exp $
 #
 # This file contains common `MI' targets and definitions and it is included
 # at the bottom of each `MD' ${MACHINE}/conf/Makefile.${MACHINE}.
@@ -484,6 +484,7 @@ install-kernel-${MACHINE_NAME}:
 .endif
 .endif
 
+.include "${S}/conf/mdroot.mk"
 .include "${S}/conf/lint.mk"
 .include "${S}/conf/cscope.mk"
 .include "${S}/conf/gdbinit.mk"

Index: src/sys/conf/files
diff -u src/sys/conf/files:1.1141 src/sys/conf/files:1.1142
--- src/sys/conf/files:1.1141	Sun Aug 30 05:12:00 2015
+++ src/sys/conf/files	Sun Aug 30 05:24:04 2015
@@ -1,4 +1,4 @@
-#	$NetBSD: files,v 1.1141 2015/08/30 05:12:00 uebayasi Exp $
+#	$NetBSD: files,v 1.1142 2015/08/30 05:24:04 uebayasi Exp $
 #	@(#)files.newconf	7.5 (Berkeley) 5/10/93
 
 version 	20150832
@@ -290,6 +290,7 @@ defflag	opt_md.h		MEMORY_DISK_HOOKS MEMO
 				MEMORY_DISK_DYNAMIC
 defparam opt_md.h		MEMORY_DISK_SERVER=1 MEMORY_DISK_ROOT_SIZE
 				MEMORY_DISK_RBFLAGS
+defparam opt_memory_disk_image	makeoptions_MEMORY_DISK_IMAGE
 
 defflag opt_tftproot.h		TFTPROOT TFTPROOT_DEBUG
 

Index: src/sys/dev/md_root.c
diff -u src/sys/dev/md_root.c:1.18 src/sys/dev/md_root.c:1.19
--- src/sys/dev/md_root.c:1.18	Sat Aug 29 15:51:53 2015
+++ src/sys/dev/md_root.c	Sun Aug 30 05:24:03 2015
@@ -1,4 +1,4 @@
-/*	$NetBSD: md_root.c,v 1.18 2015/08/29 15:51:53 uebayasi Exp $	*/
+/*	$NetBSD: md_root.c,v 1.19 2015/08/30 05:24:03 uebayasi Exp $	*/
 
 /*-
  * Copyright (c) 1996 The NetBSD Foundation, Inc.
@@ -30,9 +30,10 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: md_root.c,v 1.18 2015/08/29 15:51:53 uebayasi Exp $");
+__KERNEL_RCSID(0, "$NetBSD: md_root.c,v 1.19 2015/08/30 05:24:03 uebayasi Exp $");
 
 #include "opt_md.h"
+#include "opt_memory_disk_image.h"
 
 #include <sys/param.h>
 #include <sys/systm.h>
@@ -41,10 +42,23 @@ __KERNEL_RCSID(0, "$NetBSD: md_root.c,v 
 #include <dev/md.h>
 
 #ifdef MEMORY_DISK_DYNAMIC
+#ifdef makeoptions_MEMORY_DISK_IMAGE
+#error MEMORY_DISK_DYNAMIC is not compatible with MEMORY_DISK_IMAGE
+#endif
 size_t md_root_size;
 char *md_root_image;
 #else /* MEMORY_DISK_DYNAMIC */
 
+#ifdef makeoptions_MEMORY_DISK_IMAGE
+#ifdef MEMORY_DISK_ROOT_SIZE
+#error MEMORY_DISK_ROOT_SIZE is not compatible with MEMORY_DISK_IMAGE
+#endif
+char md_root_image[] = {
+#include "md_root_image.h"
+};
+uint32_t md_root_size = sizeof(md_root_image) & ~(DEV_BSIZE - 1);
+
+#else /* makeoptions_MEMORY_DISK_IMAGE */
 
 #ifndef MEMORY_DISK_ROOT_SIZE
 #define MEMORY_DISK_ROOT_SIZE 512
@@ -57,6 +71,7 @@ char *md_root_image;
  */
 uint32_t md_root_size = ROOTBYTES;
 char md_root_image[ROOTBYTES] = "|This is the root ramdisk!\n";
+#endif /* makeoptions_MEMORY_DISK_IMAGE */
 #endif /* MEMORY_DISK_DYNAMIC */
 
 #ifndef MEMORY_DISK_RBFLAGS

Added files:

Index: src/sys/conf/mdroot.mk
diff -u /dev/null src/sys/conf/mdroot.mk:1.1
--- /dev/null	Sun Aug 30 05:24:04 2015
+++ src/sys/conf/mdroot.mk	Sun Aug 30 05:24:04 2015
@@ -0,0 +1,8 @@
+# $NetBSD: mdroot.mk,v 1.1 2015/08/30 05:24:04 uebayasi Exp $
+
+.if defined(MEMORY_DISK_IMAGE)
+md_root_image.h: ${MEMORY_DISK_IMAGE}
+	${_MKTARGET_CREATE}
+	${TOOL_HEXDUMP} -v -e '"\t" 8/1 "0x%02x, " "\n"' ${.ALLSRC} > ${.TARGET}
+md_root.o: md_root_image.h
+.endif

Reply via email to