Move a bunch of sysctl nodes from init_sysctl (kitchen sink sysctl file)
to init_sysctl_base (only base kernel defs). Main motivation was to fix sysconf(_SC_NPROCESSORS) for Rumprun. As reported by neeraj on irc, it returned -1 before this fix, so we were doing imaginary computing.
This commit is contained in:
parent
f6f0cd6151
commit
7cc60ed4d8
@ -1,4 +1,4 @@
|
|||||||
/* $NetBSD: init_sysctl.c,v 1.208 2015/07/07 12:38:02 justin Exp $ */
|
/* $NetBSD: init_sysctl.c,v 1.209 2015/08/25 14:52:31 pooka Exp $ */
|
||||||
|
|
||||||
/*-
|
/*-
|
||||||
* Copyright (c) 2003, 2007, 2008, 2009 The NetBSD Foundation, Inc.
|
* Copyright (c) 2003, 2007, 2008, 2009 The NetBSD Foundation, Inc.
|
||||||
@ -30,7 +30,7 @@
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
#include <sys/cdefs.h>
|
#include <sys/cdefs.h>
|
||||||
__KERNEL_RCSID(0, "$NetBSD: init_sysctl.c,v 1.208 2015/07/07 12:38:02 justin Exp $");
|
__KERNEL_RCSID(0, "$NetBSD: init_sysctl.c,v 1.209 2015/08/25 14:52:31 pooka Exp $");
|
||||||
|
|
||||||
#include "opt_sysv.h"
|
#include "opt_sysv.h"
|
||||||
#include "opt_compat_netbsd.h"
|
#include "opt_compat_netbsd.h"
|
||||||
@ -607,82 +607,27 @@ SYSCTL_SETUP(sysctl_kern_setup, "sysctl kern subtree setup")
|
|||||||
CTL_CREATE, CTL_EOL);
|
CTL_CREATE, CTL_EOL);
|
||||||
}
|
}
|
||||||
|
|
||||||
SYSCTL_SETUP(sysctl_hw_setup, "sysctl hw subtree setup")
|
SYSCTL_SETUP(sysctl_hw_misc_setup, "sysctl hw subtree misc setup")
|
||||||
{
|
{
|
||||||
u_int u;
|
|
||||||
u_quad_t q;
|
|
||||||
const char *model = cpu_getmodel();
|
|
||||||
|
|
||||||
sysctl_createv(clog, 0, NULL, NULL,
|
|
||||||
CTLFLAG_PERMANENT,
|
|
||||||
CTLTYPE_STRING, "model",
|
|
||||||
SYSCTL_DESCR("Machine model"),
|
|
||||||
NULL, 0, __UNCONST(model), 0,
|
|
||||||
CTL_HW, HW_MODEL, CTL_EOL);
|
|
||||||
sysctl_createv(clog, 0, NULL, NULL,
|
|
||||||
CTLFLAG_PERMANENT,
|
|
||||||
CTLTYPE_INT, "ncpu",
|
|
||||||
SYSCTL_DESCR("Number of CPUs configured"),
|
|
||||||
NULL, 0, &ncpu, 0,
|
|
||||||
CTL_HW, HW_NCPU, CTL_EOL);
|
|
||||||
sysctl_createv(clog, 0, NULL, NULL,
|
|
||||||
CTLFLAG_PERMANENT|CTLFLAG_IMMEDIATE,
|
|
||||||
CTLTYPE_INT, "byteorder",
|
|
||||||
SYSCTL_DESCR("System byte order"),
|
|
||||||
NULL, BYTE_ORDER, NULL, 0,
|
|
||||||
CTL_HW, HW_BYTEORDER, CTL_EOL);
|
|
||||||
u = ((u_int)physmem > (UINT_MAX / PAGE_SIZE)) ?
|
|
||||||
UINT_MAX : physmem * PAGE_SIZE;
|
|
||||||
sysctl_createv(clog, 0, NULL, NULL,
|
|
||||||
CTLFLAG_PERMANENT|CTLFLAG_IMMEDIATE,
|
|
||||||
CTLTYPE_INT, "physmem",
|
|
||||||
SYSCTL_DESCR("Bytes of physical memory"),
|
|
||||||
NULL, u, NULL, 0,
|
|
||||||
CTL_HW, HW_PHYSMEM, CTL_EOL);
|
|
||||||
sysctl_createv(clog, 0, NULL, NULL,
|
sysctl_createv(clog, 0, NULL, NULL,
|
||||||
CTLFLAG_PERMANENT,
|
CTLFLAG_PERMANENT,
|
||||||
CTLTYPE_INT, "usermem",
|
CTLTYPE_INT, "usermem",
|
||||||
SYSCTL_DESCR("Bytes of non-kernel memory"),
|
SYSCTL_DESCR("Bytes of non-kernel memory"),
|
||||||
sysctl_hw_usermem, 0, NULL, 0,
|
sysctl_hw_usermem, 0, NULL, 0,
|
||||||
CTL_HW, HW_USERMEM, CTL_EOL);
|
CTL_HW, HW_USERMEM, CTL_EOL);
|
||||||
sysctl_createv(clog, 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);
|
|
||||||
sysctl_createv(clog, 0, NULL, NULL,
|
|
||||||
CTLFLAG_PERMANENT|CTLFLAG_IMMEDIATE,
|
|
||||||
CTLTYPE_INT, "alignbytes",
|
|
||||||
SYSCTL_DESCR("Alignment constraint for all possible "
|
|
||||||
"data types"),
|
|
||||||
NULL, ALIGNBYTES, NULL, 0,
|
|
||||||
CTL_HW, HW_ALIGNBYTES, CTL_EOL);
|
|
||||||
sysctl_createv(clog, 0, NULL, NULL,
|
sysctl_createv(clog, 0, NULL, NULL,
|
||||||
CTLFLAG_PERMANENT|CTLFLAG_READWRITE|CTLFLAG_HEX,
|
CTLFLAG_PERMANENT|CTLFLAG_READWRITE|CTLFLAG_HEX,
|
||||||
CTLTYPE_STRING, "cnmagic",
|
CTLTYPE_STRING, "cnmagic",
|
||||||
SYSCTL_DESCR("Console magic key sequence"),
|
SYSCTL_DESCR("Console magic key sequence"),
|
||||||
sysctl_hw_cnmagic, 0, NULL, CNS_LEN,
|
sysctl_hw_cnmagic, 0, NULL, CNS_LEN,
|
||||||
CTL_HW, HW_CNMAGIC, CTL_EOL);
|
CTL_HW, HW_CNMAGIC, CTL_EOL);
|
||||||
q = (u_quad_t)physmem * PAGE_SIZE;
|
|
||||||
sysctl_createv(clog, 0, NULL, NULL,
|
|
||||||
CTLFLAG_PERMANENT|CTLFLAG_IMMEDIATE,
|
|
||||||
CTLTYPE_QUAD, "physmem64",
|
|
||||||
SYSCTL_DESCR("Bytes of physical memory"),
|
|
||||||
NULL, q, NULL, 0,
|
|
||||||
CTL_HW, HW_PHYSMEM64, CTL_EOL);
|
|
||||||
sysctl_createv(clog, 0, NULL, NULL,
|
sysctl_createv(clog, 0, NULL, NULL,
|
||||||
CTLFLAG_PERMANENT,
|
CTLFLAG_PERMANENT,
|
||||||
CTLTYPE_QUAD, "usermem64",
|
CTLTYPE_QUAD, "usermem64",
|
||||||
SYSCTL_DESCR("Bytes of non-kernel memory"),
|
SYSCTL_DESCR("Bytes of non-kernel memory"),
|
||||||
sysctl_hw_usermem, 0, NULL, 0,
|
sysctl_hw_usermem, 0, NULL, 0,
|
||||||
CTL_HW, HW_USERMEM64, CTL_EOL);
|
CTL_HW, HW_USERMEM64, CTL_EOL);
|
||||||
sysctl_createv(clog, 0, NULL, NULL,
|
|
||||||
CTLFLAG_PERMANENT,
|
|
||||||
CTLTYPE_INT, "ncpuonline",
|
|
||||||
SYSCTL_DESCR("Number of CPUs online"),
|
|
||||||
NULL, 0, &ncpuonline, 0,
|
|
||||||
CTL_HW, HW_NCPUONLINE, CTL_EOL);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifdef DEBUG
|
#ifdef DEBUG
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
/* $NetBSD: init_sysctl_base.c,v 1.6 2015/08/25 14:32:34 pooka Exp $ */
|
/* $NetBSD: init_sysctl_base.c,v 1.7 2015/08/25 14:52:31 pooka Exp $ */
|
||||||
|
|
||||||
/*-
|
/*-
|
||||||
* Copyright (c) 2003, 2007, 2008, 2009 The NetBSD Foundation, Inc.
|
* Copyright (c) 2003, 2007, 2008, 2009 The NetBSD Foundation, Inc.
|
||||||
@ -30,7 +30,7 @@
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
#include <sys/cdefs.h>
|
#include <sys/cdefs.h>
|
||||||
__KERNEL_RCSID(0, "$NetBSD: init_sysctl_base.c,v 1.6 2015/08/25 14:32:34 pooka Exp $");
|
__KERNEL_RCSID(0, "$NetBSD: init_sysctl_base.c,v 1.7 2015/08/25 14:52:31 pooka Exp $");
|
||||||
|
|
||||||
#include <sys/types.h>
|
#include <sys/types.h>
|
||||||
#include <sys/param.h>
|
#include <sys/param.h>
|
||||||
@ -185,7 +185,16 @@ SYSCTL_SETUP(sysctl_kernbase_setup, "sysctl kern subtree base setup")
|
|||||||
|
|
||||||
SYSCTL_SETUP(sysctl_hwbase_setup, "sysctl hw subtree base setup")
|
SYSCTL_SETUP(sysctl_hwbase_setup, "sysctl hw subtree base setup")
|
||||||
{
|
{
|
||||||
|
u_int u;
|
||||||
|
u_quad_t q;
|
||||||
|
const char *model = cpu_getmodel();
|
||||||
|
|
||||||
|
sysctl_createv(clog, 0, NULL, NULL,
|
||||||
|
CTLFLAG_PERMANENT,
|
||||||
|
CTLTYPE_STRING, "model",
|
||||||
|
SYSCTL_DESCR("Machine model"),
|
||||||
|
NULL, 0, __UNCONST(model), 0,
|
||||||
|
CTL_HW, HW_MODEL, CTL_EOL);
|
||||||
sysctl_createv(clog, 0, NULL, NULL,
|
sysctl_createv(clog, 0, NULL, NULL,
|
||||||
CTLFLAG_PERMANENT,
|
CTLFLAG_PERMANENT,
|
||||||
CTLTYPE_STRING, "machine",
|
CTLTYPE_STRING, "machine",
|
||||||
@ -198,6 +207,52 @@ SYSCTL_SETUP(sysctl_hwbase_setup, "sysctl hw subtree base setup")
|
|||||||
SYSCTL_DESCR("Machine CPU class"),
|
SYSCTL_DESCR("Machine CPU class"),
|
||||||
NULL, 0, machine_arch, 0,
|
NULL, 0, machine_arch, 0,
|
||||||
CTL_HW, HW_MACHINE_ARCH, CTL_EOL);
|
CTL_HW, HW_MACHINE_ARCH, CTL_EOL);
|
||||||
|
sysctl_createv(clog, 0, NULL, NULL,
|
||||||
|
CTLFLAG_PERMANENT,
|
||||||
|
CTLTYPE_INT, "ncpu",
|
||||||
|
SYSCTL_DESCR("Number of CPUs configured"),
|
||||||
|
NULL, 0, &ncpu, 0,
|
||||||
|
CTL_HW, HW_NCPU, CTL_EOL);
|
||||||
|
sysctl_createv(clog, 0, NULL, NULL,
|
||||||
|
CTLFLAG_PERMANENT|CTLFLAG_IMMEDIATE,
|
||||||
|
CTLTYPE_INT, "byteorder",
|
||||||
|
SYSCTL_DESCR("System byte order"),
|
||||||
|
NULL, BYTE_ORDER, NULL, 0,
|
||||||
|
CTL_HW, HW_BYTEORDER, CTL_EOL);
|
||||||
|
u = ((u_int)physmem > (UINT_MAX / PAGE_SIZE)) ?
|
||||||
|
UINT_MAX : physmem * PAGE_SIZE;
|
||||||
|
sysctl_createv(clog, 0, NULL, NULL,
|
||||||
|
CTLFLAG_PERMANENT|CTLFLAG_IMMEDIATE,
|
||||||
|
CTLTYPE_INT, "physmem",
|
||||||
|
SYSCTL_DESCR("Bytes of physical memory"),
|
||||||
|
NULL, u, NULL, 0,
|
||||||
|
CTL_HW, HW_PHYSMEM, CTL_EOL);
|
||||||
|
sysctl_createv(clog, 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);
|
||||||
|
sysctl_createv(clog, 0, NULL, NULL,
|
||||||
|
CTLFLAG_PERMANENT|CTLFLAG_IMMEDIATE,
|
||||||
|
CTLTYPE_INT, "alignbytes",
|
||||||
|
SYSCTL_DESCR("Alignment constraint for all possible "
|
||||||
|
"data types"),
|
||||||
|
NULL, ALIGNBYTES, NULL, 0,
|
||||||
|
CTL_HW, HW_ALIGNBYTES, CTL_EOL);
|
||||||
|
q = (u_quad_t)physmem * PAGE_SIZE;
|
||||||
|
sysctl_createv(clog, 0, NULL, NULL,
|
||||||
|
CTLFLAG_PERMANENT|CTLFLAG_IMMEDIATE,
|
||||||
|
CTLTYPE_QUAD, "physmem64",
|
||||||
|
SYSCTL_DESCR("Bytes of physical memory"),
|
||||||
|
NULL, q, NULL, 0,
|
||||||
|
CTL_HW, HW_PHYSMEM64, CTL_EOL);
|
||||||
|
sysctl_createv(clog, 0, NULL, NULL,
|
||||||
|
CTLFLAG_PERMANENT,
|
||||||
|
CTLTYPE_INT, "ncpuonline",
|
||||||
|
SYSCTL_DESCR("Number of CPUs online"),
|
||||||
|
NULL, 0, &ncpuonline, 0,
|
||||||
|
CTL_HW, HW_NCPUONLINE, CTL_EOL);
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
Loading…
Reference in New Issue
Block a user