Module Name: src
Committed By: pooka
Date: Wed Sep 4 17:56:08 UTC 2013
Modified Files:
src/sys/rump/librump/rumpkern: rump.c
Log Message:
Also create hw.pagesize, makes sysconf(_SC_PAGESIZE) return a more
sensible result.
To generate a diff of this commit:
cvs rdiff -u -r1.272 -r1.273 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/rump/librump/rumpkern/rump.c
diff -u src/sys/rump/librump/rumpkern/rump.c:1.272 src/sys/rump/librump/rumpkern/rump.c:1.273
--- src/sys/rump/librump/rumpkern/rump.c:1.272 Tue Sep 3 19:55:13 2013
+++ src/sys/rump/librump/rumpkern/rump.c Wed Sep 4 17:56:08 2013
@@ -1,4 +1,4 @@
-/* $NetBSD: rump.c,v 1.272 2013/09/03 19:55:13 pooka Exp $ */
+/* $NetBSD: rump.c,v 1.273 2013/09/04 17:56:08 pooka 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.272 2013/09/03 19:55:13 pooka Exp $");
+__KERNEL_RCSID(0, "$NetBSD: rump.c,v 1.273 2013/09/04 17:56:08 pooka Exp $");
#include <sys/systm.h>
#define ELFSIZE ARCH_ELFSIZE
@@ -158,23 +158,37 @@ rump_proc_vfs_release_fn rump_proc_vfs_r
static void add_linkedin_modules(const struct modinfo *const *, size_t);
/*
- * Create kern.hostname. why only this you ask. well, init_sysctl
+ * Create some sysctl nodes. why only this you ask. well, init_sysctl
* is a kitchen sink in need of some gardening. but i want to use
- * kern.hostname today.
+ * others today. Furthermore, creating a whole kitchen sink full of
+ * sysctl nodes is a waste of cycles for rump kernel bootstrap.
*/
static void
mksysctls(void)
{
+ /* kern.hostname */
sysctl_createv(NULL, 0, NULL, NULL,
CTLFLAG_PERMANENT, CTLTYPE_NODE, "kern", NULL,
NULL, 0, NULL, 0, CTL_KERN, CTL_EOL);
-
/* XXX: setting hostnamelen is missing */
sysctl_createv(NULL, 0, NULL, NULL,
CTLFLAG_PERMANENT|CTLFLAG_READWRITE, CTLTYPE_STRING, "hostname",
SYSCTL_DESCR("System hostname"), NULL, 0,
hostname, MAXHOSTNAMELEN, CTL_KERN, KERN_HOSTNAME, CTL_EOL);
+
+ /* hw.pagesize */
+ sysctl_createv(NULL, 0, NULL, NULL,
+ CTLFLAG_PERMANENT,
+ CTLTYPE_NODE, "hw", NULL,
+ NULL, 0, NULL, 0,
+ CTL_HW, CTL_EOL);
+ sysctl_createv(NULL, 0, NULL, NULL,
+ CTLFLAG_PERMANENT|CTLFLAG_IMMEDIATE,
+ CTLTYPE_INT, "pagesize",
+ SYSCTL_DESCR("Software page size"),
+ NULL, PAGE_SIZE, NULL, 0,
+ CTL_HW, HW_PAGESIZE, CTL_EOL);
}
/* there's no convenient kernel entry point for this, so just craft out own */