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