summaryrefslogtreecommitdiffstats
path: root/sys/i386
diff options
context:
space:
mode:
authorphk <phk@FreeBSD.org>1995-12-04 16:48:58 +0000
committerphk <phk@FreeBSD.org>1995-12-04 16:48:58 +0000
commit6b7609f9092e6573753d281b9aba2b72653ea42c (patch)
treeb9250271aedd3aef5c0e964555606b5cc6e48d0e /sys/i386
parent67e9cc4ace9f1884414dbd0309ecdef08c596c38 (diff)
downloadFreeBSD-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.c41
-rw-r--r--sys/i386/i386/swapgeneric.c32
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)
OpenPOWER on IntegriCloud