2.6.8-rc4-mm1 - UML updates
PATCH 2/3 2.6.8-rc4-mm1 - UML updates
The patch below brings UML up to date with interface changes and the like
irq.c includes profile.h to bring in a missing definition use the cpu_{set,clear} interface
use the new get_signal_to_deliver interface
define instruction_pointer
Jeff
arch/um/kernel/irq.c +1 -0
@@ -18,6 +18,7 @@#include "linux/proc_fs.h" #include "linux/init.h" #include "linux/seq_file.h" +#include "linux/profile.h" #include "asm/irq.h" #include "asm/hw_irq.h" #include "asm/hardirq.h"
arch/um/kernel/process_kern.c +4 -3
@@ -114,10 +114,11 @@void switch_mm (struct mm_struct *prev,struct mm_struct *next,struct task_struct *tsk) { -unsigned cpu =smp_processor_id (); +int cpu =smp_processor_id (); +if (prev != next) -clear_bit (cpu, &prev->cpu_vm_mask); -set_bit (cpu, &next->cpu_vm_mask); +cpu_clear (cpu, prev->cpu_vm_mask); +cpu_set (cpu, next->cpu_vm_mask); }void set_current (void *t)
arch/um/kernel/signal_kern.c +5 -5
@@ -130,21 +130,21 @@static int kern_do_signal (struct pt_regs *regs,sigset_t *oldset,int error) { +struct k_sigaction ka_copy;siginfo_t info; -struct k_sigaction *ka;int err, sig;if (!oldset) oldset = ¤t->blocked; - sig =get_signal_to_deliver (&info, regs,NULL ); + sig =get_signal_to_deliver (&info, &ka_copy, regs,NULL );if (sig ==0 )return (0 );/* Whee! Actually deliver the signal. */ - ka = ¤t->sighand->action[sig -1 ]; - err =handle_signal (regs, sig, ka, &info, oldset, error); -if (!err)return (1 ); + err =handle_signal (regs, sig, &ka_copy, &info, oldset, error); +if (!err) +return (1 );/* Did we come from a system call? */ if (PT_REGS_SYSCALL_NR (regs) >=0 ){
include/asm-um/ptrace-generic.h +2 -0
@@ -45,6 +45,8 @@#define PT_REGS_SC (r) UPT_SC(&(r)->regs) +#define instruction_pointer (regs) PT_REGS_IP(regs) +struct task_struct ;extern unsigned long getreg (struct task_struct *child,int regno);