⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 patch

📁 MINIX操作系统的内核修改补丁
💻
📖 第 1 页 / 共 2 页
字号:
diff -c -Nr src.clean/include/minix/com.h src/include/minix/com.h*** src.clean/include/minix/com.h	Thu Nov 13 17:54:40 2008--- src/include/minix/com.h	Fri Nov 14 20:38:51 2008****************** 42,50 ****  #define TTY_PROC_NR	  5	/* terminal (TTY) driver */  #define DS_PROC_NR	  6    	/* data store server */  #define INIT_PROC_NR	  7    	/* init -- goes multiuser */    /* Number of processes contained in the system image. */! #define NR_BOOT_PROCS 	(NR_TASKS + INIT_PROC_NR + 1)    /*===========================================================================*   *                	   Kernel notification types                         *--- 42,51 ----  #define TTY_PROC_NR	  5	/* terminal (TTY) driver */  #define DS_PROC_NR	  6    	/* data store server */  #define INIT_PROC_NR	  7    	/* init -- goes multiuser */+ #define SS_PROC_NR	  8    	/* semaphore server */    /* Number of processes contained in the system image. */! #define NR_BOOT_PROCS 	(NR_TASKS + SS_PROC_NR + 1)    /*===========================================================================*   *                	   Kernel notification types                         ******************* 486,491 ****--- 487,510 ----  #  define DS_VAL_L2		m2_l2		/* second long data value */    /*===========================================================================*+  *                Messages for the Semaphore Server			     *+  *===========================================================================*/+ + #define SS_RQ_BASE		0x900+ + #define SEMA_INIT 	(SS_RQ_BASE + 0)	/* create a semaphore */+ #define SEMA_DOWN	(SS_RQ_BASE + 1)	/* down a semaphore */+ #define SEMA_UP		(SS_RQ_BASE + 2)	/* up a semaphore */+ #define SEMA_RELEASE	(SS_RQ_BASE + 3)	/* release the semaphore */+ + #define SEMA_NUM_START 		0		/* support 10 semaphores */+ #define SEMA_NUM_END		9		/* from 0 to 9*/+ + #  define SEMA_NUMBER		m2_i1		/* the number of semaphore */+ #  define START_VALUE		m2_i2		/* starting value */+ + + /*===========================================================================*   *                Miscellaneous messages used by TTY			     *   *===========================================================================*/    diff -c -Nr src.clean/kernel/table.c src/kernel/table.c*** src.clean/kernel/table.c	Thu Nov 13 17:54:41 2008--- src/kernel/table.c	Sat Nov 15 15:34:30 2008****************** 79,84 ****--- 79,85 ----  #define c(n)	(1 << ((n)-KERNEL_CALL))  #define RS_C	~0	  #define DS_C	~0	+ #define SS_C	~0	  #define PM_C	~(c(SYS_DEVIO) | c(SYS_SDEVIO) | c(SYS_VDEVIO) | c(SYS_IRQCTL) | c(SYS_INT86))  #define FS_C	(c(SYS_KILL) | c(SYS_VIRCOPY) | c(SYS_VIRVCOPY) | c(SYS_UMAP) | c(SYS_GETINFO) | c(SYS_EXIT) | c(SYS_TIMES) | c(SYS_SETALARM))  #define DRV_C (FS_C | c(SYS_SEGCTL) | c(SYS_IRQCTL) | c(SYS_INT86) | c(SYS_DEVIO) | c(SYS_SDEVIO) | c(SYS_VDEVIO))****************** 106,115 ****   { FS_PROC_NR,    0, SRV_F, 32,      4, 0,     SRV_T, SRV_M,  FS_C, "fs"    },   { RS_PROC_NR,    0, SRV_F,  4,      3, 0,     SRV_T, SYS_M,  RS_C, "rs"    },   { DS_PROC_NR,    0, SRV_F,  4,      3, 0,     SRV_T, SYS_M,  DS_C, "ds"    },   { TTY_PROC_NR,   0, SRV_F,  4,      1, 0,     SRV_T, SYS_M, TTY_C, "tty"   },   { MEM_PROC_NR,   0, SRV_F,  4,      2, 0,     SRV_T, SYS_M, MEM_C, "mem"   },   { LOG_PROC_NR,   0, SRV_F,  4,      2, 0,     SRV_T, SYS_M, DRV_C, "log"   },!  { INIT_PROC_NR,  0, USR_F,  8, USER_Q, 0,     USR_T, USR_M,     0, "init"  },  };    /* Verify the size of the system image table at compile time. Also verify that --- 107,117 ----   { FS_PROC_NR,    0, SRV_F, 32,      4, 0,     SRV_T, SRV_M,  FS_C, "fs"    },   { RS_PROC_NR,    0, SRV_F,  4,      3, 0,     SRV_T, SYS_M,  RS_C, "rs"    },   { DS_PROC_NR,    0, SRV_F,  4,      3, 0,     SRV_T, SYS_M,  DS_C, "ds"    },+  { SS_PROC_NR,    0, SRV_F,  4,      3, 0,     SRV_T, SRV_M,  SS_C, "ss"    },   { TTY_PROC_NR,   0, SRV_F,  4,      1, 0,     SRV_T, SYS_M, TTY_C, "tty"   },   { MEM_PROC_NR,   0, SRV_F,  4,      2, 0,     SRV_T, SYS_M, MEM_C, "mem"   },   { LOG_PROC_NR,   0, SRV_F,  4,      2, 0,     SRV_T, SYS_M, DRV_C, "log"   },!  { INIT_PROC_NR,  0, USR_F,  8, USER_Q, 0,     USR_T, SRV_M,     0, "init"  },  };    /* Verify the size of the system image table at compile time. Also verify that diff -c -Nr src.clean/servers/Makefile src/servers/Makefile*** src.clean/servers/Makefile	Thu Nov 13 17:54:54 2008--- src/servers/Makefile	Fri Nov 14 18:54:00 2008****************** 19,24 ****--- 19,25 ----  	cd ./fs && $(MAKE) $@  	cd ./rs && $(MAKE) $@  	cd ./ds && $(MAKE) $@+ 	cd ./ss && $(MAKE) $@  	cd ./is && $(MAKE) $@  	cd ./init && $(MAKE) $@  	cd ./inet && $(MAKE) $@****************** 28,33 ****--- 29,35 ----  	cd ./fs && $(MAKE) EXTRA_OPTS=$(EXTRA_OPTS) build  	cd ./rs && $(MAKE) EXTRA_OPTS=$(EXTRA_OPTS) build  	cd ./ds && $(MAKE) EXTRA_OPTS=$(EXTRA_OPTS) build+ 	cd ./ss && $(MAKE) EXTRA_OPTS=$(EXTRA_OPTS) build  	cd ./init && $(MAKE) EXTRA_OPTS=$(EXTRA_OPTS) build    diff -c -Nr src.clean/servers/ss/.depend src/servers/ss/.depend*** src.clean/servers/ss/.depend	Thu Jan  1 00:00:00 1970--- src/servers/ss/.depend	Fri Nov 14 18:46:13 2008****************** 0 ****--- 1,56 ----+ + main.o:	/usr/include/ansi.h+ main.o:	/usr/include/errno.h+ main.o:	/usr/include/limits.h+ main.o:	/usr/include/minix/bitmap.h+ main.o:	/usr/include/minix/callnr.h+ main.o:	/usr/include/minix/com.h+ main.o:	/usr/include/minix/config.h+ main.o:	/usr/include/minix/const.h+ main.o:	/usr/include/minix/devio.h+ main.o:	/usr/include/minix/ipc.h+ main.o:	/usr/include/minix/keymap.h+ main.o:	/usr/include/minix/sys_config.h+ main.o:	/usr/include/minix/syslib.h+ main.o:	/usr/include/minix/sysutil.h+ main.o:	/usr/include/minix/type.h+ main.o:	/usr/include/signal.h+ main.o:	/usr/include/stdio.h+ main.o:	/usr/include/stdlib.h+ main.o:	/usr/include/string.h+ main.o:	/usr/include/sys/dir.h+ main.o:	/usr/include/sys/types.h+ main.o:	/usr/include/unistd.h+ main.o:	glo.h+ main.o:	inc.h+ main.o:	main.c+ main.o:	proto.h+ main.o:	store.h+ + store.o:	/usr/include/ansi.h+ store.o:	/usr/include/errno.h+ store.o:	/usr/include/limits.h+ store.o:	/usr/include/minix/bitmap.h+ store.o:	/usr/include/minix/callnr.h+ store.o:	/usr/include/minix/com.h+ store.o:	/usr/include/minix/config.h+ store.o:	/usr/include/minix/const.h+ store.o:	/usr/include/minix/devio.h+ store.o:	/usr/include/minix/ipc.h+ store.o:	/usr/include/minix/keymap.h+ store.o:	/usr/include/minix/sys_config.h+ store.o:	/usr/include/minix/syslib.h+ store.o:	/usr/include/minix/sysutil.h+ store.o:	/usr/include/minix/type.h+ store.o:	/usr/include/signal.h+ store.o:	/usr/include/stdio.h+ store.o:	/usr/include/stdlib.h+ store.o:	/usr/include/string.h+ store.o:	/usr/include/sys/dir.h+ store.o:	/usr/include/sys/types.h+ store.o:	/usr/include/unistd.h+ store.o:	glo.h+ store.o:	inc.h+ store.o:	proto.h+ store.o:	store.c+ store.o:	store.hdiff -c -Nr src.clean/servers/ss/Makefile src/servers/ss/Makefile*** src.clean/servers/ss/Makefile	Thu Jan  1 00:00:00 1970--- src/servers/ss/Makefile	Fri Nov 14 18:47:12 2008****************** 0 ****--- 1,42 ----+ # Makefile for Data Store Server (DS)+ SERVER = ss+ + # directories+ u = /usr+ i = $u/include+ s = $i/sys+ m = $i/minix+ b = $i/ibm+ k = $u/src/kernel+ p = $u/src/servers/pm+ f = $u/src/servers/fs+ + # programs, flags, etc.+ CC =	exec cc+ CFLAGS = -I$i+ LDFLAGS = -i+ LIBS = -lsys -lsysutil + + OBJ = main.o store.o + + # build local binary+ all build:	$(SERVER)+ $(SERVER):	$(OBJ)+ 	$(CC) -o $@ $(LDFLAGS) $(OBJ) $(LIBS)+ 	install -S 16k $@+ + # install with other servers+ install: $(SERVER)+ 	install -o root -c $? /sbin/$(SERVER)+ #	install -o root -cs $? $@+ + # clean up local files+ clean:+ 	rm -f $(SERVER) *.o *.bak + + depend: + 	/usr/bin/mkdep "$(CC) -E $(CPPFLAGS)" *.c > .depend+ + # Include generated dependencies.+ include .depend+ diff -c -Nr src.clean/servers/ss/glo.h src/servers/ss/glo.h*** src.clean/servers/ss/glo.h	Thu Jan  1 00:00:00 1970--- src/servers/ss/glo.h	Fri Nov 14 18:46:13 2008****************** 0 ****--- 1,7 ----+ /* Global variables. */+ + /* The parameters of the call are kept here. */+ extern int who;			/* caller's proc number */+ extern int callnr;		/* system call number */+ extern int dont_reply;		/* normally 0; set to 1 to inhibit reply */+ diff -c -Nr src.clean/servers/ss/inc.h src/servers/ss/inc.h*** src.clean/servers/ss/inc.h	Thu Jan  1 00:00:00 1970--- src/servers/ss/inc.h	Fri Nov 14 18:46:13 2008****************** 0 ****--- 1,30 ----+ /* Header file including all needed system headers. */+ + #define _SYSTEM            1    /* get OK and negative error codes */+ #define _MINIX             1	/* tell headers to include MINIX stuff */+ + #include <ansi.h>+ #include <sys/types.h>+ #include <limits.h>+ #include <errno.h>+ + #include <minix/callnr.h>+ #include <minix/config.h>+ #include <minix/type.h>+ #include <minix/const.h>+ #include <minix/com.h>+ #include <minix/syslib.h>+ #include <minix/sysutil.h>+ #include <minix/keymap.h>+ #include <minix/bitmap.h>+ + #include <stdlib.h>+ #include <stdio.h>+ #include <string.h>+ #include <unistd.h>+ #include <signal.h>+ + #include "proto.h"+ #include "glo.h"+ #include "store.h"+ diff -c -Nr src.clean/servers/ss/main.c src/servers/ss/main.c*** src.clean/servers/ss/main.c	Thu Jan  1 00:00:00 1970--- src/servers/ss/main.c	Sat Nov 15 15:38:20 2008****************** 0 ****--- 1,153 ----+ /* Data Store Server. +  * This service implements a little publish/subscribe data store that is +  * crucial for the system's fault tolerance. Components that require state+  * can store it here, for later retrieval, e.g., after a crash and subsequent+  * restart by the reincarnation server. +  * +  * Created:+  *   Oct 19, 2005	by Jorrit N. Herder+  */+ + #include "inc.h"	/* include master header file */+ + /* Allocate space for the global variables. */+ int who_e;		/* caller's proc number */+ int callnr;		/* system call number */+ int sys_panic;		/* flag to indicate system-wide panic */+ + extern int errno;	/* error number set by system library */+ + /* Declare some local functions. */+ FORWARD _PROTOTYPE(void init_server, (int argc, char **argv)		);+ FORWARD _PROTOTYPE(void exit_server, (void)				);+ FORWARD _PROTOTYPE(void sig_handler, (void)				);+ FORWARD _PROTOTYPE(void get_work, (message *m_ptr)			);+ FORWARD _PROTOTYPE(void reply, (int whom, message *m_ptr)		);+ + /*===========================================================================*+  *				main                                         *+  *===========================================================================*/+ PUBLIC int main(int argc, char **argv)+ {+ /* This is the main routine of this service. The main loop consists of +  * three major activities: getting new work, processing the work, and+  * sending the reply. The loop never terminates, unless a panic occurs.+  */+   message m;+   int result;                 +   sigset_t sigset;+ +   /* Initialize the server, then go to work. */+   init_server(argc, argv);

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -