From: Ingo Molnar <mingo@elte.hu>

the attached patch fixes UML on 2.6.2-rc3-mm1:

- x86: reshuffle the way TASK_SIZE is defined on x86. [UML relied 
       on a specific order of definitions within the x86 header files, 
       the  4/4 patch broke this assumption.]

- UML: sys_call_table.c: syscall layout changed

- UML: um_arch.c: handle_sysrq() changed

UML compiles & works fine with this patch applied.



---

 25-akpm/arch/um/kernel/sys_call_table.c |    3 +--
 25-akpm/arch/um/kernel/um_arch.c        |    2 +-
 2 files changed, 2 insertions(+), 3 deletions(-)

diff -puN arch/um/kernel/sys_call_table.c~uml-fixes-2.6.2-rc3-mm1-A2 arch/um/kernel/sys_call_table.c
--- 25/arch/um/kernel/sys_call_table.c~uml-fixes-2.6.2-rc3-mm1-A2	Wed Feb  4 12:31:50 2004
+++ 25-akpm/arch/um/kernel/sys_call_table.c	Wed Feb  4 12:31:50 2004
@@ -151,7 +151,6 @@ extern syscall_handler_t sys_mlockall;
 extern syscall_handler_t sys_munlockall;
 extern syscall_handler_t sys_sched_setparam;
 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_get_priority_max;
 extern syscall_handler_t sys_sched_get_priority_min;
@@ -441,7 +440,7 @@ syscall_handler_t *sys_call_table[] = {
 	[ __NR_munlockall ] = sys_munlockall,
 	[ __NR_sched_setparam ] = sys_sched_setparam,
 	[ __NR_sched_getparam ] = sys_sched_getparam,
-	[ __NR_sched_setscheduler ] = sys_sched_setscheduler,
+	[ __NR_sched_setscheduler ] = (syscall_handler_t *) sys_sched_setscheduler,
 	[ __NR_sched_getscheduler ] = sys_sched_getscheduler,
 	[ __NR_sched_yield ] = (syscall_handler_t *) yield,
 	[ __NR_sched_get_priority_max ] = sys_sched_get_priority_max,
diff -puN arch/um/kernel/um_arch.c~uml-fixes-2.6.2-rc3-mm1-A2 arch/um/kernel/um_arch.c
--- 25/arch/um/kernel/um_arch.c~uml-fixes-2.6.2-rc3-mm1-A2	Wed Feb  4 12:31:50 2004
+++ 25-akpm/arch/um/kernel/um_arch.c	Wed Feb  4 12:32:06 2004
@@ -393,7 +393,7 @@ static int panic_exit(struct notifier_bl
 		      void *unused2)
 {
 #ifdef CONFIG_MAGIC_SYSRQ
-	handle_sysrq('p', &current->thread.regs, NULL, NULL);
+	handle_sysrq('p', &current->thread.regs, NULL);
 #endif
 	machine_halt();
 	return(0);

_