Module Name: src Committed By: thorpej Date: Tue Jan 2 17:13:03 UTC 2024
Modified Files: src/sys/arch/virt68k/include: bootinfo.h src/sys/arch/virt68k/virt68k: bootinfo.c machdep.c Log Message: Detect a RND seed passed in by the loader. XXX We don't actually *do* anything with it yet. To generate a diff of this commit: cvs rdiff -u -r1.2 -r1.3 src/sys/arch/virt68k/include/bootinfo.h cvs rdiff -u -r1.2 -r1.3 src/sys/arch/virt68k/virt68k/bootinfo.c cvs rdiff -u -r1.1 -r1.2 src/sys/arch/virt68k/virt68k/machdep.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.2 src/sys/arch/virt68k/include/bootinfo.h:1.3 --- src/sys/arch/virt68k/include/bootinfo.h:1.2 Tue Jan 2 16:59:14 2024 +++ src/sys/arch/virt68k/include/bootinfo.h Tue Jan 2 17:13:03 2024 @@ -1,4 +1,4 @@ -/* $NetBSD: bootinfo.h,v 1.2 2024/01/02 16:59:14 thorpej Exp $ */ +/* $NetBSD: bootinfo.h,v 1.3 2024/01/02 17:13:03 thorpej Exp $ */ /*- * Copyright (c) 2023 The NetBSD Foundation, Inc. @@ -154,6 +154,7 @@ void bootinfo_enumerate(bool (*)(struc bool bootinfo_addr_is_console(paddr_t); void bootinfo_setup_initrd(void); +void bootinfo_setup_rndseed(void); void bootinfo_md_cnattach(void (*)(bus_space_tag_t, bus_space_handle_t), Index: src/sys/arch/virt68k/virt68k/bootinfo.c diff -u src/sys/arch/virt68k/virt68k/bootinfo.c:1.2 src/sys/arch/virt68k/virt68k/bootinfo.c:1.3 --- src/sys/arch/virt68k/virt68k/bootinfo.c:1.2 Tue Jan 2 16:59:14 2024 +++ src/sys/arch/virt68k/virt68k/bootinfo.c Tue Jan 2 17:13:03 2024 @@ -1,4 +1,4 @@ -/* $NetBSD: bootinfo.c,v 1.2 2024/01/02 16:59:14 thorpej Exp $ */ +/* $NetBSD: bootinfo.c,v 1.3 2024/01/02 17:13:03 thorpej Exp $ */ /*- * Copyright (c) 2023 The NetBSD Foundation, Inc. @@ -30,12 +30,13 @@ */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: bootinfo.c,v 1.2 2024/01/02 16:59:14 thorpej Exp $"); +__KERNEL_RCSID(0, "$NetBSD: bootinfo.c,v 1.3 2024/01/02 17:13:03 thorpej Exp $"); #include "opt_md.h" #include <sys/types.h> #include <sys/cpu.h> +#include <sys/rnd.h> #ifdef MEMORY_DISK_DYNAMIC #include <dev/md.h> @@ -293,3 +294,23 @@ bootinfo_setup_initrd(void) } #endif /* MEMORY_DISK_DYNAMIC */ } + +/* + * bootinfo_setup_rndseed -- + * Check for a BI_RNG_SEED record and, if found, use it to + * seed the kenrnel entropy pool. + */ +void +bootinfo_setup_rndseed(void) +{ + struct bi_record *bi = bootinfo_find(BI_RNG_SEED); + if (bi != NULL) { + struct bi_data *rnd = bootinfo_dataptr(bi); +#if 0 /* XXX */ + rnd_seed(rnd->data_bytes, rnd->data_length); +#else + printf("WARNING: ignored %u bytes of RND_SEED data @ %p\n", + rnd->data_length, rnd->data_bytes); +#endif + } +} Index: src/sys/arch/virt68k/virt68k/machdep.c diff -u src/sys/arch/virt68k/virt68k/machdep.c:1.1 src/sys/arch/virt68k/virt68k/machdep.c:1.2 --- src/sys/arch/virt68k/virt68k/machdep.c:1.1 Tue Jan 2 07:41:02 2024 +++ src/sys/arch/virt68k/virt68k/machdep.c Tue Jan 2 17:13:03 2024 @@ -1,4 +1,4 @@ -/* $NetBSD: machdep.c,v 1.1 2024/01/02 07:41:02 thorpej Exp $ */ +/* $NetBSD: machdep.c,v 1.2 2024/01/02 17:13:03 thorpej Exp $ */ /* * Copyright (c) 1988 University of Utah. @@ -39,7 +39,7 @@ */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: machdep.c,v 1.1 2024/01/02 07:41:02 thorpej Exp $"); +__KERNEL_RCSID(0, "$NetBSD: machdep.c,v 1.2 2024/01/02 17:13:03 thorpej Exp $"); #include "opt_ddb.h" #include "opt_m060sp.h" @@ -204,6 +204,9 @@ virt68k_init(void) } initmsgbuf(msgbufaddr, round_page(MSGBUFSIZE)); pmap_update(pmap_kernel()); + + /* Check for RND seed from the loader. */ + bootinfo_setup_rndseed(); } /*