diff -urNp uml-ref/arch/um/config.in uml/arch/um/config.in --- uml-ref/arch/um/config.in Wed May 29 20:13:23 2002 +++ uml/arch/um/config.in Wed May 29 20:14:06 2002 @@ -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 @@ -22,6 +20,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 diff -urNp uml-ref/arch/um/include/2_5compat.h uml/arch/um/include/2_5compat.h --- uml-ref/arch/um/include/2_5compat.h Wed May 29 20:13:23 2002 +++ uml/arch/um/include/2_5compat.h Wed May 29 20:13:36 2002 @@ -37,12 +37,9 @@ #define IS_WRITE(req) ((req)->cmd == WRITE) #define IS_READ(req) ((req)->cmd == READ) -#define CPU(task) ((task)->processor) +#define CPU(task) ((task)->cpu) -#define yield() do { current->policy |= SCHED_YIELD; schedule(); } while(0) - -#define SET_PRI(task) \ - do { (task)->nice = 20; (task)->counter = -100; } while(0); +#define SET_PRI(task) do { } while(0) #else diff -urNp uml-ref/arch/um/kernel/time.c uml/arch/um/kernel/time.c --- uml-ref/arch/um/kernel/time.c Wed May 29 20:13:23 2002 +++ uml/arch/um/kernel/time.c Wed May 29 20:13:36 2002 @@ -17,7 +17,7 @@ #include "process.h" #include "signal_user.h" -extern struct timeval xtime; +extern volatile struct timeval xtime; void timer_handler(int sig, struct uml_pt_regs *regs) { diff -urNp uml-ref/arch/um/kernel/trap_kern.c uml/arch/um/kernel/trap_kern.c --- uml-ref/arch/um/kernel/trap_kern.c Wed May 29 20:13:23 2002 +++ uml/arch/um/kernel/trap_kern.c Wed May 29 20:13:36 2002 @@ -48,7 +48,7 @@ unsigned long segv(unsigned long address if(!vma) goto bad; else if(vma->vm_start <= address) goto good_area; else if(!(vma->vm_flags & VM_GROWSDOWN)) goto bad; - else if(expand_stack(vma, address)) goto bad; + else if(expand_stack(vma, address, NULL)) goto bad; good_area: si.si_code = SEGV_ACCERR; diff -urNp uml-ref/include/asm-um/page.h uml/include/asm-um/page.h --- uml-ref/include/asm-um/page.h Wed May 29 20:13:23 2002 +++ uml/include/asm-um/page.h Wed May 29 20:13:36 2002 @@ -47,4 +47,7 @@ extern struct page *page_mem_map(struct 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 uml-ref/include/asm-um/pgtable.h uml/include/asm-um/pgtable.h --- uml-ref/include/asm-um/pgtable.h Wed May 29 20:13:23 2002 +++ uml/include/asm-um/pgtable.h Wed May 29 20:13:36 2002 @@ -15,6 +15,7 @@ extern pgd_t swapper_pg_dir[1024]; #define flush_dcache_page(page) do ; while (0) #define flush_icache_range(from, to) do ; while (0) #define flush_icache_page(vma,pg) do ; while (0) +#define flush_icache_user_range(vma,pg,adr,len) do { } while (0) extern void pte_free(pte_t *pte); diff -urNp uml-ref/include/asm-um/rwsem.h uml/include/asm-um/rwsem.h --- uml-ref/include/asm-um/rwsem.h Wed May 29 20:13:23 2002 +++ uml/include/asm-um/rwsem.h Thu Jan 1 01:00:00 1970 @@ -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 uml-ref/include/asm-um/rwsem_xchgadd.h uml/include/asm-um/rwsem_xchgadd.h --- uml-ref/include/asm-um/rwsem_xchgadd.h Thu Jan 1 01:00:00 1970 +++ uml/include/asm-um/rwsem_xchgadd.h Wed May 29 20:13:36 2002 @@ -0,0 +1,6 @@ +#ifndef __UM_RWSEM_H__ +#define __UM_RWSEM_H__ + +#include "asm/arch/rwsem_xchgadd.h" + +#endif --- 2.4.19pre9aa1/include/asm-um/smp.h.~1~ Wed May 29 22:54:46 2002 +++ 2.4.19pre9aa1/include/asm-um/smp.h Thu May 30 00:03:33 2002 @@ -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 */