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 */
+}