diff -urNp --exclude CVS --exclude BitKeeper x-ref/arch/um/config.in x/arch/um/config.in --- x-ref/arch/um/config.in 2003-06-01 16:30:42.000000000 +0200 +++ x/arch/um/config.in 2003-06-01 16:30:44.000000000 +0200 @@ -8,8 +8,6 @@ define_bool CONFIG_PCI n define_bool CONFIG_UID16 y -define_bool CONFIG_RWSEM_XCHGADD_ALGORITHM y - mainmenu_option next_comment comment 'Code maturity level options' bool 'Prompt for development and/or incomplete code/drivers' CONFIG_EXPERIMENTAL @@ -34,6 +32,8 @@ bool 'Networking support' CONFIG_NET bool 'System V IPC' CONFIG_SYSVIPC bool 'BSD Process Accounting' CONFIG_BSD_PROCESS_ACCT bool 'Sysctl support' CONFIG_SYSCTL +int 'Maximum User Real-Time Priority' CONFIG_MAX_USER_RT_PRIO 100 +int 'Maximum Kernel Real-time Priority' CONFIG_MAX_RT_PRIO 0 tristate 'Kernel support for a.out binaries' CONFIG_BINFMT_AOUT tristate 'Kernel support for ELF binaries' CONFIG_BINFMT_ELF tristate 'Kernel support for MISC binaries' CONFIG_BINFMT_MISC @@ -102,3 +102,5 @@ fi dep_bool 'Enable gprof support' CONFIG_GPROF $CONFIG_DEBUGSYM dep_bool 'Enable gcov support' CONFIG_GCOV $CONFIG_DEBUGSYM endmenu + +source lib/Config.in diff -urNp --exclude CVS --exclude BitKeeper x-ref/arch/um/kernel/sys_call_table.c x/arch/um/kernel/sys_call_table.c --- x-ref/arch/um/kernel/sys_call_table.c 2003-06-01 16:30:42.000000000 +0200 +++ x/arch/um/kernel/sys_call_table.c 2003-06-01 16:30:44.000000000 +0200 @@ -153,6 +153,7 @@ extern syscall_handler_t sys_sched_setpa extern syscall_handler_t sys_sched_getparam; extern syscall_handler_t sys_sched_setscheduler; extern syscall_handler_t sys_sched_getscheduler; +extern syscall_handler_t sys_sched_yield; extern syscall_handler_t sys_sched_get_priority_max; extern syscall_handler_t sys_sched_get_priority_min; extern syscall_handler_t sys_sched_rr_get_interval; @@ -261,7 +262,7 @@ syscall_handler_t *sys_call_table[] = { /* declared differently in kern_util.h */ [ __NR_execve ] = (syscall_handler_t *) sys_execve, - [ __NR_chdir ] = sys_chdir, + [ __NR_chdir ] = (syscall_handler_t *) sys_chdir, [ __NR_time ] = um_time, [ __NR_mknod ] = sys_mknod, [ __NR_chmod ] = sys_chmod, @@ -306,15 +307,15 @@ syscall_handler_t *sys_call_table[] = { [ __NR_umount2 ] = sys_umount, [ __NR_lock ] = sys_ni_syscall, [ __NR_ioctl ] = sys_ioctl, - [ __NR_fcntl ] = sys_fcntl, + [ __NR_fcntl ] = (syscall_handler_t *) sys_fcntl, [ __NR_mpx ] = sys_ni_syscall, [ __NR_setpgid ] = sys_setpgid, [ __NR_ulimit ] = sys_ni_syscall, [ __NR_oldolduname ] = sys_olduname, [ __NR_umask ] = sys_umask, - [ __NR_chroot ] = sys_chroot, + [ __NR_chroot ] = (syscall_handler_t *) sys_chroot, [ __NR_ustat ] = sys_ustat, - [ __NR_dup2 ] = sys_dup2, + [ __NR_dup2 ] = (syscall_handler_t *) sys_dup2, [ __NR_getppid ] = sys_getppid, [ __NR_getpgrp ] = sys_getpgrp, [ __NR_setsid ] = (syscall_handler_t *) sys_setsid, diff -urNp --exclude CVS --exclude BitKeeper x-ref/arch/um/kernel/time.c x/arch/um/kernel/time.c --- x-ref/arch/um/kernel/time.c 2003-06-01 16:30:42.000000000 +0200 +++ x/arch/um/kernel/time.c 2003-06-01 16:32:07.000000000 +0200 @@ -16,7 +16,7 @@ #include "signal_user.h" #include "time_user.h" -extern struct timeval xtime; +extern volatile struct timeval xtime; struct timeval local_offset = { 0, 0 }; diff -urNp --exclude CVS --exclude BitKeeper x-ref/arch/um/kernel/trap_kern.c x/arch/um/kernel/trap_kern.c --- x-ref/arch/um/kernel/trap_kern.c 2003-06-01 16:30:42.000000000 +0200 +++ x/arch/um/kernel/trap_kern.c 2003-06-01 16:30:44.000000000 +0200 @@ -42,7 +42,7 @@ unsigned long handle_page_fault(unsigned goto good_area; else if(!(vma->vm_flags & VM_GROWSDOWN)) goto out; - else if(expand_stack(vma, address)) + else if(expand_stack(vma, address, NULL)) goto out; good_area: diff -urNp --exclude CVS --exclude BitKeeper x-ref/include/asm-um/page.h x/include/asm-um/page.h --- x-ref/include/asm-um/page.h 2003-06-01 16:30:42.000000000 +0200 +++ x/include/asm-um/page.h 2003-06-01 16:30:44.000000000 +0200 @@ -50,4 +50,7 @@ extern struct page *pfn_to_page(unsigned extern struct page *arch_validate(struct page *page, int mask, int order); #define HAVE_ARCH_VALIDATE +#define VM_DATA_DEFAULT_FLAGS (VM_READ | VM_WRITE | VM_EXEC | \ + VM_MAYREAD | VM_MAYWRITE | VM_MAYEXEC) + #endif diff -urNp --exclude CVS --exclude BitKeeper x-ref/include/asm-um/rwsem.h x/include/asm-um/rwsem.h --- x-ref/include/asm-um/rwsem.h 2003-06-01 16:30:42.000000000 +0200 +++ x/include/asm-um/rwsem.h 1970-01-01 01:00:00.000000000 +0100 @@ -1,10 +0,0 @@ -#ifndef __UM_RWSEM_H__ -#define __UM_RWSEM_H__ - -#if __GNUC__ < 2 || (__GNUC__ == 2 && __GNUC_MINOR__ < 96) -#define __builtin_expect(exp,c) (exp) -#endif - -#include "asm/arch/rwsem.h" - -#endif diff -urNp --exclude CVS --exclude BitKeeper x-ref/include/asm-um/rwsem_xchgadd.h x/include/asm-um/rwsem_xchgadd.h --- x-ref/include/asm-um/rwsem_xchgadd.h 1970-01-01 01:00:00.000000000 +0100 +++ x/include/asm-um/rwsem_xchgadd.h 2003-06-01 16:30:44.000000000 +0200 @@ -0,0 +1,6 @@ +#ifndef __UM_RWSEM_H__ +#define __UM_RWSEM_H__ + +#include "asm/arch/rwsem_xchgadd.h" + +#endif diff -urNp --exclude CVS --exclude BitKeeper x-ref/include/asm-um/smp.h x/include/asm-um/smp.h --- x-ref/include/asm-um/smp.h 2003-06-01 16:30:42.000000000 +0200 +++ x/include/asm-um/smp.h 2003-06-01 16:30:44.000000000 +0200 @@ -6,7 +6,7 @@ #include "linux/config.h" #include "asm/current.h" -#define smp_processor_id() (current->processor) +#define smp_processor_id() (current->cpu) #define cpu_logical_map(n) (n) #define cpu_number_map(n) (n) #define PROC_CHANGE_PENALTY 15 /* Pick a number, any number */ --- 2.4.22pre7aa1/include/asm-um/param.h.~1~ 2003-07-19 02:33:52.000000000 +0200 +++ 2.4.22pre7aa1/include/asm-um/param.h 2003-07-28 03:43:53.000000000 +0200 @@ -18,6 +18,8 @@ #define MAXHOSTNAMELEN 64 /* max length of hostname */ #ifdef __KERNEL__ +# define USER_HZ 100 /* some user interfaces are in ticks */ +# define jiffies_to_clock_t(x) ((x) / ((HZ) / (USER_HZ))) # define CLOCKS_PER_SEC 100 /* frequency at which times() counts */ #endif