Module Name: src
Committed By: martin
Date: Fri Aug 15 12:58:45 UTC 2014
Modified Files:
src/sys/kern [netbsd-7]: init_main.c
src/sys/rump/librump/rumpkern [netbsd-7]: rump.c
Log Message:
Pull up following revision(s) (requested by riastradh in ticket #23):
sys/rump/librump/rumpkern/rump.c: revision 1.310
sys/rump/librump/rumpkern/rump.c: revision 1.309
sys/kern/init_main.c: revision 1.459
Defer cprng_fast_init until CPUs are detected.
Restore placement of percpu_init in rump_init.
Probably doesn't matter, but let's avoid needless churn around the
real bug fix.
To generate a diff of this commit:
cvs rdiff -u -r1.458 -r1.458.2.1 src/sys/kern/init_main.c
cvs rdiff -u -r1.308 -r1.308.2.1 src/sys/rump/librump/rumpkern/rump.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/kern/init_main.c
diff -u src/sys/kern/init_main.c:1.458 src/sys/kern/init_main.c:1.458.2.1
--- src/sys/kern/init_main.c:1.458 Sun Aug 10 16:44:36 2014
+++ src/sys/kern/init_main.c Fri Aug 15 12:58:45 2014
@@ -1,4 +1,4 @@
-/* $NetBSD: init_main.c,v 1.458 2014/08/10 16:44:36 tls Exp $ */
+/* $NetBSD: init_main.c,v 1.458.2.1 2014/08/15 12:58:45 martin Exp $ */
/*-
* Copyright (c) 2008, 2009 The NetBSD Foundation, Inc.
@@ -97,7 +97,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: init_main.c,v 1.458 2014/08/10 16:44:36 tls Exp $");
+__KERNEL_RCSID(0, "$NetBSD: init_main.c,v 1.458.2.1 2014/08/15 12:58:45 martin Exp $");
#include "opt_ddb.h"
#include "opt_ipsec.h"
@@ -501,8 +501,6 @@ main(void)
kern_cprng = cprng_strong_create("kernel", IPL_VM,
CPRNG_INIT_ANY|CPRNG_REKEY_ANY);
- cprng_fast_init();
-
/* Initialize interfaces. */
ifinit1();
@@ -514,6 +512,9 @@ main(void)
/* Configure the system hardware. This will enable interrupts. */
configure();
+ /* Once all CPUs are detected, initialize the per-CPU cprng_fast. */
+ cprng_fast_init();
+
ssp_init();
ubc_init(); /* must be after autoconfig */
Index: src/sys/rump/librump/rumpkern/rump.c
diff -u src/sys/rump/librump/rumpkern/rump.c:1.308 src/sys/rump/librump/rumpkern/rump.c:1.308.2.1
--- src/sys/rump/librump/rumpkern/rump.c:1.308 Mon Aug 11 04:27:24 2014
+++ src/sys/rump/librump/rumpkern/rump.c Fri Aug 15 12:58:45 2014
@@ -1,4 +1,4 @@
-/* $NetBSD: rump.c,v 1.308 2014/08/11 04:27:24 ozaki-r Exp $ */
+/* $NetBSD: rump.c,v 1.308.2.1 2014/08/15 12:58:45 martin Exp $ */
/*
* Copyright (c) 2007-2011 Antti Kantee. All Rights Reserved.
@@ -26,7 +26,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: rump.c,v 1.308 2014/08/11 04:27:24 ozaki-r Exp $");
+__KERNEL_RCSID(0, "$NetBSD: rump.c,v 1.308.2.1 2014/08/15 12:58:45 martin Exp $");
#include <sys/systm.h>
#define ELFSIZE ARCH_ELFSIZE
@@ -286,8 +286,6 @@ rump_init(void)
uvm_ra_init();
uao_init();
- percpu_init();
-
mutex_obj_init();
callout_startup();
@@ -305,7 +303,6 @@ rump_init(void)
kern_cprng = cprng_strong_create("kernel", IPL_VM,
CPRNG_INIT_ANY|CPRNG_REKEY_ANY);
- cprng_fast_init();
rump_hyperentropy_init();
procinit();
@@ -328,6 +325,7 @@ rump_init(void)
rump_schedule();
bootlwp = curlwp;
+ percpu_init();
inittimecounter();
ntp_init();
@@ -364,6 +362,9 @@ rump_init(void)
aprint_verbose("cpu%d at thinair0: rump virtual cpu\n", i);
}
+ /* Once all CPUs are detected, initialize the per-CPU cprng_fast. */
+ cprng_fast_init();
+
/* CPUs are up. allow kernel threads to run */
rump_thread_allow(NULL);