]> Zhao Yanbai Git Server - minix.git/commitdiff
Add MKWATCHDOG option
authorArun Thomas <arun@minix3.org>
Fri, 29 Jul 2011 18:36:42 +0000 (20:36 +0200)
committerArun Thomas <arun@minix3.org>
Fri, 29 Jul 2011 18:37:39 +0000 (20:37 +0200)
kernel/Makefile
kernel/arch/i386/Makefile.inc
kernel/arch/i386/apic.c
kernel/arch/i386/memory.c
kernel/arch/i386/mpx.S
kernel/clock.c
kernel/kernel.h
kernel/main.c
kernel/start.c
share/mk/bsd.own.mk
share/mk/sys.mk

index ee76ca38af8f2bc993180d0d562fb43d270fe90a..b098f1772a4c850883adbc1a22093c6719301a15 100644 (file)
@@ -7,7 +7,7 @@ PROG=   kernel
 SRCS=  mpx.S
 SRCS+= start.c table.c main.c proc.c \
        system.c clock.c utility.c debug.c interrupt.c \
-       watchdog.c cpulocals.c
+       cpulocals.c
 
 .ifdef CONFIG_SMP
 SRCS += smp.c
@@ -44,6 +44,11 @@ MAN=
 .include "system/Makefile.inc"
 .include "arch/${ARCH}/Makefile.inc"
 
+.if ${USE_WATCHDOG} != "no"
+SRCS+= watchdog.c arch_watchdog.c
+CPPFLAGS+= -DUSE_WATCHDOG
+.endif
+
 # These come last, so the profiling buffer is at the end of the data segment
 SRCS+= profile.c do_sprofile.c
 
index 5e6972e3effafefdecece65db24bf6cb48644237..f64341bbe57b355fce673f5388b84c9f6d240368 100644 (file)
@@ -29,7 +29,6 @@ SRCS+=        arch_do_vmctl.c \
        arch_system.c \
        apic.c \
        apic_asm.S \
-       arch_watchdog.c \
        pre_init.c \
        acpi.c
 
index 01eb9e2bdc2929a4ee42d3df32c7dbbe9a964e6d..a7f9218184e8fa83b65a6503e4aeea6301381eee 100644 (file)
@@ -24,7 +24,7 @@
 
 #include "acpi.h"
 
-#ifdef CONFIG_WATCHDOG
+#ifdef USE_WATCHDOG
 #include "kernel/watchdog.h"
 #endif
 
index 66beddfef4dcd934acf2cf3928ad6c1a4da0a174..fd49ff2702ae816d18ce38ff9b0348a7c553dcad 100644 (file)
@@ -22,7 +22,7 @@
 
 #ifdef CONFIG_APIC
 #include "apic.h"
-#ifdef CONFIG_WATCHDOG
+#ifdef USE_WATCHDOG
 #include "kernel/watchdog.h"
 #endif
 #endif
@@ -1046,7 +1046,7 @@ PUBLIC int arch_enable_paging(struct proc * caller, const message * m_ptr)
 #endif
 #endif
 
-#ifdef CONFIG_WATCHDOG
+#ifdef USE_WATCHDOG
        /*
         * We make sure that we don't enable the watchdog until paging is turned
         * on as we might get an NMI while switching and we might still use wrong
index deab7175b0bac32f2c01ad3ebb43203e03b52a2d..c5cccea381b89a201146529bf25f54754c549498 100644 (file)
@@ -507,7 +507,7 @@ LABEL(single_step_exception)
        EXCEPTION_NO_ERR_CODE(DEBUG_VECTOR)
 
 LABEL(nmi)
-#ifndef CONFIG_WATCHDOG
+#ifndef USE_WATCHDOG
        EXCEPTION_NO_ERR_CODE(NMI_VECTOR)
 #else
        /*
index 4f2b3464c0c4d5b831d430ffa1a266d826139e9a..cb41aed29b8940be85201bebb40e6c8d1a71da5e 100644 (file)
@@ -36,7 +36,7 @@
 
 #include "clock.h"
 
-#ifdef CONFIG_WATCHDOG
+#ifdef USE_WATCHDOG
 #include "watchdog.h"
 #endif
 
@@ -74,7 +74,7 @@ PUBLIC int timer_int_handler(void)
        struct proc * p, * billp;
 
        /* FIXME watchdog for slave cpus! */
-#ifdef CONFIG_WATCHDOG
+#ifdef USE_WATCHDOG
        /*
         * we need to know whether local timer ticks are happening or whether
         * the kernel is locked up. We don't care about overflows as we only
index 0e1e621927636712e58b329b3e3f0a91f94bfa40..030f60860ae922075b75b1dee6d1c8127bdb46b8 100644 (file)
@@ -7,11 +7,6 @@
 #endif
 /* boot verbose */
 #define CONFIG_BOOT_VERBOSE
-/*
- * compile in the nmi watchdog by default. It is not enabled until watchdog=1
- * (non-zero) is set in monitor
- */
-#define CONFIG_WATCHDOG
 
 #ifndef CONFIG_MAX_CPUS
 #define CONFIG_MAX_CPUS        1
index e7d767e9655631b5ae4ad6eb228d8d013e0afe58..8eed78dc8e7f1f6837fb926a2b8a5680a96ba4d8 100644 (file)
@@ -25,7 +25,7 @@
 #ifdef CONFIG_SMP
 #include "smp.h"
 #endif
-#ifdef CONFIG_WATCHDOG
+#ifdef USE_WATCHDOG
 #include "watchdog.h"
 #endif
 #include "spinlock.h"
index 3c73c23d905097c4c5f32d0ac6b68828b7703db3..8b2e0eb3a31a45a0cd2c4f96c9a5dede78c4ff6f 100644 (file)
@@ -7,7 +7,7 @@
 #include <string.h>
 #include "proto.h"
 
-#ifdef CONFIG_WATCHDOG
+#ifdef USE_WATCHDOG
 #include "watchdog.h"
 #endif
 
@@ -106,7 +106,7 @@ PUBLIC void cstart(
        config_apic_timer_x = 1;
 #endif
 
-#ifdef CONFIG_WATCHDOG
+#ifdef USE_WATCHDOG
   value = env_get("watchdog");
   if (value)
          watchdog_enabled = atoi(value);
index 55814d340ef96193ea6ac34a09056a925cf86454..46a1928c78a8335ec62f1431dd17efeb29eb0bbd 100644 (file)
@@ -756,6 +756,9 @@ _MKVARS.yes= \
        MKSHARE MKSKEY MKSTATICLIB \
        MKX11FONTS \
        MKYP
+#MINIX-specific vars
+_MKVARS.yes+= \
+       MKWATCHDOG
 .for var in ${_MKVARS.yes}
 ${var}?=       yes
 .endfor
@@ -813,6 +816,11 @@ MKMAN:=            no
 MKNLS:=                no
 .endif
 
+# MINIX
+.if ${MKEMBED} == "yes"
+MKWATCHDOG:=   no
+.endif
+
 #
 # install(1) parameters.
 #
@@ -871,7 +879,8 @@ ${var}?= no
 # USE_* options which default to "yes" unless their corresponding MK*
 # variable is set to "no".
 #
-.for var in USE_HESIOD USE_INET6 USE_KERBEROS USE_LDAP USE_PAM USE_YP
+.for var in USE_HESIOD USE_INET6 USE_KERBEROS USE_LDAP USE_PAM USE_YP \
+USE_WATCHDOG
 .if (${${var:S/USE_/MK/}} == "no")
 ${var}:= no
 .else
index e0aa8e7c4700df5e535d9509e9ce9130b429e86a..a2c32966fd2e22bc72a8a84775bb76da29e6aba1 100644 (file)
@@ -236,12 +236,6 @@ AR?=       aal
 .elif !empty(CC:M*gcc) || !empty(CC:M*clang) || !empty(CC:M*pcc)
 COMPILER_TYPE=gnu
 AR?=   ar
-
-.if defined(MKEMBED) && ${MKEMBED} == "yes"
-DBG=   -Os
-CFLAGS+= -DNDEBUG=1
-.endif
-
 .endif
 
 # Set NBSD_LIBC to either "yes" or "no".
@@ -250,3 +244,8 @@ NBSD_LIBC=  no
 .else
 NBSD_LIBC=     yes
 .endif
+
+.if ${COMPILER_TYPE} == "gnu" && defined(MKEMBED) && ${MKEMBED} == "yes"
+DBG=   -Os
+CFLAGS+= -DNDEBUG=1
+.endif