Add MKMCONTEXT option

This commit is contained in:
Arun Thomas 2011-08-02 13:57:31 +02:00
parent 989934b37c
commit aaefc6f838
6 changed files with 21 additions and 5 deletions

View file

@ -59,6 +59,12 @@ SRCS+= apic.c apic_asm.S
CPPFLAGS+= -DUSE_APIC CPPFLAGS+= -DUSE_APIC
.endif .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 # These come last, so the profiling buffer is at the end of the data segment
SRCS+= profile.c do_sprofile.c SRCS+= profile.c do_sprofile.c

View file

@ -43,7 +43,6 @@
#define USE_MEMSET 1 /* write char to a given memory area */ #define USE_MEMSET 1 /* write char to a given memory area */
#define USE_RUNCTL 1 /* control stop flags of a process */ #define USE_RUNCTL 1 /* control stop flags of a process */
#define USE_UPDATE 1 /* update a process into another */ #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 */ #define USE_STATECTL 1 /* let a process control its state */
/* Length of program names stored in the process table. This is only used /* Length of program names stored in the process table. This is only used

View file

@ -37,7 +37,6 @@ SRCS+= \
do_cprofile.c \ do_cprofile.c \
do_profbuf.c \ do_profbuf.c \
do_vmctl.c \ do_vmctl.c \
do_mcontext.c \
do_schedule.c \ do_schedule.c \
do_schedctl.c \ do_schedctl.c \
do_statectl.c do_statectl.c

View file

@ -1,8 +1,15 @@
.include <bsd.own.mk>
# Makefile for Process Manager (PM) # Makefile for Process Manager (PM)
PROG= pm PROG= pm
SRCS= main.c forkexit.c break.c exec.c time.c alarm.c \ 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 \ 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} DPADD+= ${LIBSYS} ${LIBTIMERS}
LDADD+= -lsys -ltimers LDADD+= -lsys -ltimers

View file

@ -49,6 +49,10 @@ _PROTOTYPE( void setreply, (int proc_nr, int result) );
/* mcontext.c */ /* mcontext.c */
_PROTOTYPE( int do_getmcontext, (void) ); _PROTOTYPE( int do_getmcontext, (void) );
_PROTOTYPE( int do_setmcontext, (void) ); _PROTOTYPE( int do_setmcontext, (void) );
#if ! USE_MCONTEXT
#define do_getmcontext no_sys
#define do_setmcontext no_sys
#endif
/* misc.c */ /* misc.c */
_PROTOTYPE( int do_reboot, (void) ); _PROTOTYPE( int do_reboot, (void) );

View file

@ -758,7 +758,7 @@ _MKVARS.yes= \
MKYP MKYP
#MINIX-specific vars #MINIX-specific vars
_MKVARS.yes+= \ _MKVARS.yes+= \
MKWATCHDOG MKACPI MKAPIC MKWATCHDOG MKACPI MKAPIC MKMCONTEXT
.for var in ${_MKVARS.yes} .for var in ${_MKVARS.yes}
${var}?= yes ${var}?= yes
.endfor .endfor
@ -821,6 +821,7 @@ MKNLS:= no
MKWATCHDOG:= no MKWATCHDOG:= no
MKACPI:= no MKACPI:= no
MKAPIC:= no MKAPIC:= no
MKMCONTEXT:= no
.endif .endif
# #
@ -882,7 +883,7 @@ ${var}?= no
# variable is set to "no". # 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 USE_ACPI USE_APIC USE_WATCHDOG USE_ACPI USE_APIC USE_MCONTEXT
.if (${${var:S/USE_/MK/}} == "no") .if (${${var:S/USE_/MK/}} == "no")
${var}:= no ${var}:= no
.else .else