diff options
author | phk <phk@FreeBSD.org> | 1995-12-04 16:48:58 +0000 |
---|---|---|
committer | phk <phk@FreeBSD.org> | 1995-12-04 16:48:58 +0000 |
commit | 6b7609f9092e6573753d281b9aba2b72653ea42c (patch) | |
tree | b9250271aedd3aef5c0e964555606b5cc6e48d0e /sys/i386 | |
parent | 67e9cc4ace9f1884414dbd0309ecdef08c596c38 (diff) | |
download | FreeBSD-src-6b7609f9092e6573753d281b9aba2b72653ea42c.zip FreeBSD-src-6b7609f9092e6573753d281b9aba2b72653ea42c.tar.gz |
A major sweep over the sysctl stuff.
Move a lot of variables home to their own code (In good time before xmas :-)
Introduce the string descrition of format.
Add a couple more functions to poke into these marvels, while I try to
decide what the correct interface should look like.
Next is adding vars on the fly, and sysctl looking at them too.
Removed a tine bit of defunct and #ifdefed notused code in swapgeneric.
Diffstat (limited to 'sys/i386')
-rw-r--r-- | sys/i386/i386/machdep.c | 41 | ||||
-rw-r--r-- | sys/i386/i386/swapgeneric.c | 32 |
2 files changed, 54 insertions, 19 deletions
diff --git a/sys/i386/i386/machdep.c b/sys/i386/i386/machdep.c index e5538b3..6520a16 100644 --- a/sys/i386/i386/machdep.c +++ b/sys/i386/i386/machdep.c @@ -35,7 +35,7 @@ * SUCH DAMAGE. * * from: @(#)machdep.c 7.4 (Berkeley) 6/3/91 - * $Id: machdep.c,v 1.152 1995/11/20 12:41:24 phk Exp $ + * $Id: machdep.c,v 1.153 1995/11/29 19:57:01 wollman Exp $ */ #include "npx.h" @@ -142,7 +142,10 @@ SYSINIT(cpu, SI_SUB_CPU, SI_ORDER_FIRST, cpu_startup, NULL) static void identifycpu(void); char machine[] = "i386"; +SYSCTL_STRING(_hw, HW_MACHINE, machine, CTLFLAG_RD, machine, 0, ""); + char cpu_model[128]; +SYSCTL_STRING(_hw, HW_MODEL, model, CTLFLAG_RD, cpu_model, 0, ""); struct kern_devconf kdc_cpu0 = { 0, 0, 0, /* filled in by dev_attach */ @@ -174,10 +177,30 @@ int msgbufmapped = 0; /* set when safe to use msgbuf */ int _udatasel, _ucodesel; -/* - * Machine-dependent startup code - */ -int boothowto = 0, bootverbose = 0, Maxmem = 0, badpages = 0, physmem = 0; +int physmem = 0; + +static int +sysctl_hw_physmem SYSCTL_HANDLER_ARGS +{ + int error = sysctl_handle_int(oidp, 0, ctob(physmem), req); + return (error); +} + +SYSCTL_PROC(_hw, HW_PHYSMEM, physmem, CTLTYPE_INT|CTLFLAG_RD, + 0, 0, sysctl_hw_physmem, "I", ""); + +static int +sysctl_hw_usermem SYSCTL_HANDLER_ARGS +{ + int error = sysctl_handle_int(oidp, 0, + ctob(physmem - cnt.v_wire_count), req); + return (error); +} + +SYSCTL_PROC(_hw, HW_USERMEM, usermem, CTLTYPE_INT|CTLFLAG_RD, + 0, 0, sysctl_hw_usermem, "I", ""); + +int boothowto = 0, bootverbose = 0, Maxmem = 0, badpages = 0; long dumplo; extern int bootdev; int biosmem; @@ -1037,8 +1060,8 @@ sysctl_machdep_adjkerntz SYSCTL_HANDLER_ARGS return (error); } -SYSCTL_PROC(_machdep, CPU_ADJKERNTZ, adjkerntz, - CTLTYPE_INT|CTLFLAG_RW, &adjkerntz, 0, sysctl_machdep_adjkerntz, ""); +SYSCTL_PROC(_machdep, CPU_ADJKERNTZ, adjkerntz, CTLTYPE_INT|CTLFLAG_RW, + &adjkerntz, 0, sysctl_machdep_adjkerntz, "I", ""); static int sysctl_machdep_consdev SYSCTL_HANDLER_ARGS @@ -1048,8 +1071,8 @@ sysctl_machdep_consdev SYSCTL_HANDLER_ARGS return (sysctl_handle_opaque(oidp, &consdev, sizeof consdev, req)); } -SYSCTL_PROC(_machdep, CPU_CONSDEV, consdev, - CTLTYPE_OPAQUE|CTLFLAG_RD, 0, 0, sysctl_machdep_consdev, ""); +SYSCTL_PROC(_machdep, CPU_CONSDEV, consdev, CTLTYPE_OPAQUE|CTLFLAG_RD, + 0, 0, sysctl_machdep_consdev, "T,dev_t", ""); SYSCTL_INT(_machdep, CPU_DISRTCSET, disable_rtc_set, CTLFLAG_RW, &disable_rtc_set, 0, ""); diff --git a/sys/i386/i386/swapgeneric.c b/sys/i386/i386/swapgeneric.c index 909d017..0b44893 100644 --- a/sys/i386/i386/swapgeneric.c +++ b/sys/i386/i386/swapgeneric.c @@ -34,7 +34,7 @@ * SUCH DAMAGE. * * from: @(#)swapgeneric.c 5.5 (Berkeley) 5/9/91 - * $Id: swapgeneric.c,v 1.12 1995/10/03 14:49:38 wpaul Exp $ + * $Id: swapgeneric.c,v 1.13 1995/10/31 17:03:26 joerg Exp $ */ #include <sys/param.h> @@ -43,6 +43,8 @@ #include <sys/systm.h> #include <sys/reboot.h> #include <sys/disklabel.h> +#include <sys/kernel.h> +#include <sys/sysctl.h> #include <sys/devconf.h> #include <i386/i386/cons.h> @@ -64,6 +66,24 @@ dev_t rootdev = NODEV; dev_t dumpdev = NODEV; +static int +sysctl_kern_dumpdev SYSCTL_HANDLER_ARGS +{ + int error; + dev_t ndumpdev; + + ndumpdev = dumpdev; + error = sysctl_handle_opaque(oidp, &ndumpdev, sizeof ndumpdev, req); + if (!error && ndumpdev != dumpdev) { + error = setdumpdev(ndumpdev); + } + return (error); +} + +SYSCTL_PROC(_kern, KERN_DUMPDEV, dumpdev, CTLTYPE_OPAQUE|CTLFLAG_RW, + 0, sizeof dumpdev, sysctl_kern_dumpdev, ""); + + #ifdef notused int nswap; struct swdevt swdevt[] = { @@ -123,7 +143,7 @@ void setconf(void) int unit, swaponroot = 0; if (rootdev != NODEV) - goto doswap; + return; if (boothowto & RB_ASKNAME) { char name[128]; retry: @@ -178,14 +198,6 @@ bad: found: gc->gc_root = makedev(major(gc->gc_root), unit * MAXPARTITIONS); rootdev = gc->gc_root; -doswap: -#ifdef notused - swdevt[0].sw_dev = dumpdev = - makedev(major(rootdev), minor(rootdev)+1); - /* swap size and dumplo set during autoconfigure */ - if (swaponroot) - rootdev = dumpdev; -#endif } void gets(cp) |