]> Zhao Yanbai Git Server - minix.git/commitdiff
Add MKMCONTEXT option
authorArun Thomas <arun@minix3.org>
Tue, 2 Aug 2011 11:57:31 +0000 (13:57 +0200)
committerArun Thomas <arun@minix3.org>
Tue, 2 Aug 2011 11:57:31 +0000 (13:57 +0200)
kernel/Makefile
kernel/config.h
kernel/system/Makefile.inc
servers/pm/Makefile
servers/pm/proto.h
share/mk/bsd.own.mk

index 6cae964ce5ae7b057bb23513f3afe2586bea3018..cae155cd85ef73a415974977a087b0c627bc6fe4 100644 (file)
@@ -59,6 +59,12 @@ SRCS+= apic.c apic_asm.S
 CPPFLAGS+= -DUSE_APIC
 .endif
 
+.if ${USE_MCONTEXT} != "no"
+SRCS+= do_mcontext.c
+CPPFLAGS+= -DUSE_MCONTEXT
+.endif
+
+
 # These come last, so the profiling buffer is at the end of the data segment
 SRCS+= profile.c do_sprofile.c
 
index f235944e345561372779136c7defb43bd14ffc7c..b688f4769c2804d63c49098c284ce595f0ec8532 100644 (file)
@@ -43,7 +43,6 @@
 #define USE_MEMSET        1    /* write char to a given memory area */
 #define USE_RUNCTL         1   /* control stop flags of a process */
 #define USE_UPDATE         1   /* update a process into another */
-#define USE_MCONTEXT       1    /* enable getting and setting of mach context*/
 #define USE_STATECTL       1    /* let a process control its state */
 
 /* Length of program names stored in the process table. This is only used
index 34cf87f5a3a09bee8c0207a7ea9ad170fe78f2ea..ff8a2561365101c92bb7f9cd7f383310871d9acb 100644 (file)
@@ -37,7 +37,6 @@ SRCS+=        \
        do_cprofile.c \
        do_profbuf.c \
        do_vmctl.c \
-       do_mcontext.c \
        do_schedule.c \
        do_schedctl.c \
        do_statectl.c
index 43f53c9766081d6980b803e75b9ece84617a20c5..183d752af2205d12de6dbb14b42e5dc6885a055d 100644 (file)
@@ -1,8 +1,15 @@
+.include <bsd.own.mk>
+
 # Makefile for Process Manager (PM)
 PROG=  pm
 SRCS=  main.c forkexit.c break.c exec.c time.c alarm.c \
        signal.c utility.c table.c trace.c getset.c misc.c \
-       profile.c dma.c mcontext.c schedule.c
+       profile.c dma.c schedule.c
+
+.if ${USE_MCONTEXT} != "no"
+SRCS+= mcontext.c
+CPPFLAGS+= -DUSE_MCONTEXT
+.endif
 
 DPADD+=        ${LIBSYS} ${LIBTIMERS}
 LDADD+=        -lsys -ltimers
index 76d0ef31833cf6a4710b4015ed8ed58100aa29f0..9eb2bd429c3db2978e8c78347b091ccf9f7fd86a 100644 (file)
@@ -49,6 +49,10 @@ _PROTOTYPE( void setreply, (int proc_nr, int result)                 );
 /* mcontext.c */
 _PROTOTYPE( int do_getmcontext, (void)                                 );
 _PROTOTYPE( int do_setmcontext, (void)                                 );
+#if ! USE_MCONTEXT
+#define do_getmcontext no_sys
+#define do_setmcontext no_sys
+#endif
 
 /* misc.c */
 _PROTOTYPE( int do_reboot, (void)                                      );
index 3143a0817376538bf811292b3b368a957f0ee4a1..2c9deb90c6c18fe4168fdf97e4266d057c983c09 100644 (file)
@@ -758,7 +758,7 @@ _MKVARS.yes= \
        MKYP
 #MINIX-specific vars
 _MKVARS.yes+= \
-       MKWATCHDOG MKACPI MKAPIC
+       MKWATCHDOG MKACPI MKAPIC MKMCONTEXT
 .for var in ${_MKVARS.yes}
 ${var}?=       yes
 .endfor
@@ -821,6 +821,7 @@ MKNLS:=             no
 MKWATCHDOG:=   no
 MKACPI:=       no
 MKAPIC:=       no
+MKMCONTEXT:=   no
 .endif
 
 #
@@ -882,7 +883,7 @@ ${var}?= no
 # variable is set to "no".
 #
 .for var in USE_HESIOD USE_INET6 USE_KERBEROS USE_LDAP USE_PAM USE_YP \
-USE_WATCHDOG USE_ACPI USE_APIC
+USE_WATCHDOG USE_ACPI USE_APIC USE_MCONTEXT
 .if (${${var:S/USE_/MK/}} == "no")
 ${var}:= no
 .else