Module Name: src Committed By: thorpej Date: Tue Jan 2 16:59:14 UTC 2024
Modified Files: src/sys/arch/virt68k/include: bootinfo.h src/sys/arch/virt68k/virt68k: autoconf.c bootinfo.c Log Message: Move the initrd setup into bootinfo.c To generate a diff of this commit: cvs rdiff -u -r1.1 -r1.2 src/sys/arch/virt68k/include/bootinfo.h cvs rdiff -u -r1.2 -r1.3 src/sys/arch/virt68k/virt68k/autoconf.c cvs rdiff -u -r1.1 -r1.2 src/sys/arch/virt68k/virt68k/bootinfo.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/arch/virt68k/include/bootinfo.h diff -u src/sys/arch/virt68k/include/bootinfo.h:1.1 src/sys/arch/virt68k/include/bootinfo.h:1.2 --- src/sys/arch/virt68k/include/bootinfo.h:1.1 Tue Jan 2 07:41:00 2024 +++ src/sys/arch/virt68k/include/bootinfo.h Tue Jan 2 16:59:14 2024 @@ -1,4 +1,4 @@ -/* $NetBSD: bootinfo.h,v 1.1 2024/01/02 07:41:00 thorpej Exp $ */ +/* $NetBSD: bootinfo.h,v 1.2 2024/01/02 16:59:14 thorpej Exp $ */ /*- * Copyright (c) 2023 The NetBSD Foundation, Inc. @@ -153,6 +153,8 @@ void bootinfo_enumerate(bool (*)(struc void *); bool bootinfo_addr_is_console(paddr_t); +void bootinfo_setup_initrd(void); + void bootinfo_md_cnattach(void (*)(bus_space_tag_t, bus_space_handle_t), paddr_t, psize_t); Index: src/sys/arch/virt68k/virt68k/autoconf.c diff -u src/sys/arch/virt68k/virt68k/autoconf.c:1.2 src/sys/arch/virt68k/virt68k/autoconf.c:1.3 --- src/sys/arch/virt68k/virt68k/autoconf.c:1.2 Tue Jan 2 16:48:01 2024 +++ src/sys/arch/virt68k/virt68k/autoconf.c Tue Jan 2 16:59:14 2024 @@ -1,4 +1,4 @@ -/* $NetBSD: autoconf.c,v 1.2 2024/01/02 16:48:01 thorpej Exp $ */ +/* $NetBSD: autoconf.c,v 1.3 2024/01/02 16:59:14 thorpej Exp $ */ /* * Copyright (c) 1988 University of Utah. @@ -45,9 +45,7 @@ */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: autoconf.c,v 1.2 2024/01/02 16:48:01 thorpej Exp $"); - -#include "opt_md.h" +__KERNEL_RCSID(0, "$NetBSD: autoconf.c,v 1.3 2024/01/02 16:59:14 thorpej Exp $"); #include <sys/param.h> #include <sys/systm.h> @@ -56,10 +54,6 @@ __KERNEL_RCSID(0, "$NetBSD: autoconf.c,v #include <sys/reboot.h> #include <sys/device.h> -#ifdef MEMORY_DISK_DYNAMIC -#include <dev/md.h> -#endif - #include <machine/bootinfo.h> #include <machine/intr.h> @@ -84,21 +78,7 @@ cpu_configure(void) void cpu_rootconf(void) { -#ifdef MEMORY_DISK_DYNAMIC - struct bi_record *bi; - - /* - * Look for a RAMDISK bootinfo record. If we have one, - * hook is up to the memory disk and set it as the root - * file system. - */ - bi = bootinfo_find(BI_RAMDISK); - if (bi != NULL) { - struct bi_mem_info *rd = bootinfo_dataptr(bi); - md_root_setconf((void *)rd->mem_addr, rd->mem_size); - } -#endif /* MEMORY_DISK_DYNAMIC */ - + bootinfo_setup_initrd(); rootconf(); } Index: src/sys/arch/virt68k/virt68k/bootinfo.c diff -u src/sys/arch/virt68k/virt68k/bootinfo.c:1.1 src/sys/arch/virt68k/virt68k/bootinfo.c:1.2 --- src/sys/arch/virt68k/virt68k/bootinfo.c:1.1 Tue Jan 2 07:41:02 2024 +++ src/sys/arch/virt68k/virt68k/bootinfo.c Tue Jan 2 16:59:14 2024 @@ -1,4 +1,4 @@ -/* $NetBSD: bootinfo.c,v 1.1 2024/01/02 07:41:02 thorpej Exp $ */ +/* $NetBSD: bootinfo.c,v 1.2 2024/01/02 16:59:14 thorpej Exp $ */ /*- * Copyright (c) 2023 The NetBSD Foundation, Inc. @@ -30,11 +30,17 @@ */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: bootinfo.c,v 1.1 2024/01/02 07:41:02 thorpej Exp $"); +__KERNEL_RCSID(0, "$NetBSD: bootinfo.c,v 1.2 2024/01/02 16:59:14 thorpej Exp $"); + +#include "opt_md.h" #include <sys/types.h> #include <sys/cpu.h> +#ifdef MEMORY_DISK_DYNAMIC +#include <dev/md.h> +#endif + #include <machine/bootinfo.h> #include <machine/vmparam.h> @@ -270,3 +276,20 @@ bootinfo_addr_is_console(paddr_t pa) { return bootinfo_console_addr_valid && bootinfo_console_addr == pa; } + +/* + * bootinfo_setup_initrd -- + * Check for a BI_RAMDISK record and, if found, set it as + * the root file system. + */ +void +bootinfo_setup_initrd(void) +{ +#ifdef MEMORY_DISK_DYNAMIC + struct bi_record *bi = bootinfo_find(BI_RAMDISK); + if (bi != NULL) { + struct bi_mem_info *rd = bootinfo_dataptr(bi); + md_root_setconf((void *)rd->mem_addr, rd->mem_size); + } +#endif /* MEMORY_DISK_DYNAMIC */ +}