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