summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorderaadt <deraadt@openbsd.org>2001-01-31 09:59:50 +0000
committerderaadt <deraadt@openbsd.org>2001-01-31 09:59:50 +0000
commit773fabf19c1d9aab63f617fdfaf10ec23dce3e1e (patch)
tree80d2123b86ec1f71f8dbd6bd5483e89c9de81622
parentstill need pcvt files to build X, for now (diff)
downloadwireguard-openbsd-773fabf19c1d9aab63f617fdfaf10ec23dce3e1e.tar.xz
wireguard-openbsd-773fabf19c1d9aab63f617fdfaf10ec23dce3e1e.zip
add kern.cp_time sysctl, to be used by various things
-rw-r--r--sys/kern/kern_sysctl.c9
-rw-r--r--sys/sys/sysctl.h6
2 files changed, 11 insertions, 4 deletions
diff --git a/sys/kern/kern_sysctl.c b/sys/kern/kern_sysctl.c
index 8b309abeee9..1a049ad54d0 100644
--- a/sys/kern/kern_sysctl.c
+++ b/sys/kern/kern_sysctl.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: kern_sysctl.c,v 1.37 2001/01/04 06:04:42 angelos Exp $ */
+/* $OpenBSD: kern_sysctl.c,v 1.38 2001/01/31 09:59:51 deraadt Exp $ */
/* $NetBSD: kern_sysctl.c,v 1.17 1996/05/20 17:49:05 mrg Exp $ */
/*-
@@ -59,6 +59,7 @@
#include <vm/vm.h>
#include <sys/sysctl.h>
#include <sys/msgbuf.h>
+#include <sys/dkstat.h>
#if defined(UVM)
#include <uvm/uvm_extern.h>
@@ -232,10 +233,11 @@ kern_sysctl(name, namelen, oldp, oldlenp, newp, newlen, p)
extern char ostype[], osrelease[], osversion[], version[];
extern int somaxconn, sominconn;
extern int usermount, nosuidcoredump;
+ extern long cp_time[CPUSTATES];
/* all sysctl names at this level are terminal */
if (namelen != 1 && !(name[0] == KERN_PROC || name[0] == KERN_PROF ||
- name[0] == KERN_MALLOCSTATS))
+ name[0] == KERN_MALLOCSTATS))
return (ENOTDIR); /* overloaded */
switch (name[0]) {
@@ -362,6 +364,9 @@ kern_sysctl(name, namelen, oldp, oldlenp, newp, newlen, p)
case KERN_MALLOCSTATS:
return (sysctl_malloc(name + 1, namelen - 1, oldp, oldlenp,
newp, newlen));
+ case KERN_CPTIME:
+ return (sysctl_rdstruct(oldp, oldlenp, newp, &cp_time,
+ sizeof(cp_time)));
default:
return (EOPNOTSUPP);
}
diff --git a/sys/sys/sysctl.h b/sys/sys/sysctl.h
index 4269863c3b2..a842f83af6c 100644
--- a/sys/sys/sysctl.h
+++ b/sys/sys/sysctl.h
@@ -1,4 +1,4 @@
-/* $OpenBSD: sysctl.h,v 1.33 2001/01/03 19:20:59 angelos Exp $ */
+/* $OpenBSD: sysctl.h,v 1.34 2001/01/31 09:59:50 deraadt Exp $ */
/* $NetBSD: sysctl.h,v 1.16 1996/04/09 20:55:36 cgd Exp $ */
/*
@@ -153,7 +153,8 @@ struct ctlname {
#define KERN_ARND 37 /* int: random integer from arc4rnd */
#define KERN_MSGBUFSIZE 38 /* int: size of message buffer */
#define KERN_MALLOCSTATS 39 /* node: malloc statistics */
-#define KERN_MAXID 40 /* number of valid kern ids */
+#define KERN_CPTIME 40 /* array: cp_time */
+#define KERN_MAXID 41 /* number of valid kern ids */
#define CTL_KERN_NAMES { \
{ 0, 0 }, \
@@ -196,6 +197,7 @@ struct ctlname {
{ "arandom", CTLTYPE_INT }, \
{ "msgbufsize", CTLTYPE_INT }, \
{ "malloc", CTLTYPE_NODE }, \
+ { "cp_time", CTLTYPE_STRUCT }, \
}
/*