diff options
| author | pooka <pooka@NetBSD.org> | 2010-04-28 00:43:16 +0000 |
|---|---|---|
| committer | pooka <pooka@NetBSD.org> | 2010-04-28 00:43:16 +0000 |
| commit | 1456f9b65f4db61e7526e42ad40e514b682d3dd0 (patch) | |
| tree | 221ee5c1a40e485ac4174b9ad207286819ead00e | |
| parent | 52e4f6355adf058994b31d8f9fa9f003796126bb (diff) | |
Make number of virtual CPUs match number of host CPUs on NetBSD/x86 hosts.
| -rw-r--r-- | sys/rump/librump/rumpkern/rump.c | 15 |
1 files changed, 10 insertions, 5 deletions
diff --git a/sys/rump/librump/rumpkern/rump.c b/sys/rump/librump/rumpkern/rump.c index c356b00348f..cb64ed394a7 100644 --- a/sys/rump/librump/rumpkern/rump.c +++ b/sys/rump/librump/rumpkern/rump.c @@ -1,4 +1,4 @@ -/* $NetBSD: rump.c,v 1.165 2010/04/27 23:30:30 pooka Exp $ */ +/* $NetBSD: rump.c,v 1.166 2010/04/28 00:43:16 pooka Exp $ */ /* * Copyright (c) 2007 Antti Kantee. All Rights Reserved. @@ -28,7 +28,7 @@ */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: rump.c,v 1.165 2010/04/27 23:30:30 pooka Exp $"); +__KERNEL_RCSID(0, "$NetBSD: rump.c,v 1.166 2010/04/28 00:43:16 pooka Exp $"); #include <sys/systm.h> #define ELFSIZE ARCH_ELFSIZE @@ -203,7 +203,7 @@ rump__init(int rump_version) uint64_t sec, nsec; struct proc *p; struct lwp *l; - int i; + int i, numcpu; int error; /* not reentrant */ @@ -219,8 +219,13 @@ rump__init(int rump_version) boothowto = AB_VERBOSE; } - /* get our CPUs initialized */ - rump_cpus_bootstrap(1); + /* non-x86 is missing CPU_INFO_FOREACH() support */ +#if defined(__i386__) || defined(__x86_64__) + numcpu = rumpuser_getnhostcpu(); +#else + numcpu = 1; +#endif + rump_cpus_bootstrap(numcpu); rumpuser_gettime(&sec, &nsec, &error); boottime.tv_sec = sec; |
