diff options
author | Tony Luck <tony.luck@intel.com> | 2005-05-09 16:44:53 -0700 |
---|---|---|
committer | Tony Luck <tony.luck@intel.com> | 2005-05-09 16:44:53 -0700 |
commit | a84f5770170232a48e753e02ee5f0f17ee17b791 (patch) | |
tree | 4efbd8a990df4437fb178c8a705dadc36812f98a /arch/um/kernel/process_kern.c | |
parent | 66302f211a21bb9439a2ae7f7b6a4c386bb10ecd (diff) | |
parent | 88d7bd8cb9eb8d64bf7997600b0d64f7834047c5 (diff) | |
download | op-kernel-dev-a84f5770170232a48e753e02ee5f0f17ee17b791.zip op-kernel-dev-a84f5770170232a48e753e02ee5f0f17ee17b791.tar.gz |
Merge with /home/aegl/GIT/linus
Diffstat (limited to 'arch/um/kernel/process_kern.c')
-rw-r--r-- | arch/um/kernel/process_kern.c | 20 |
1 files changed, 9 insertions, 11 deletions
diff --git a/arch/um/kernel/process_kern.c b/arch/um/kernel/process_kern.c index 7a94369..c1adf7b 100644 --- a/arch/um/kernel/process_kern.c +++ b/arch/um/kernel/process_kern.c @@ -115,16 +115,6 @@ int kernel_thread(int (*fn)(void *), void * arg, unsigned long flags) return(pid); } -void switch_mm(struct mm_struct *prev, struct mm_struct *next, - struct task_struct *tsk) -{ - int cpu = smp_processor_id(); - - if (prev != next) - cpu_clear(cpu, prev->cpu_vm_mask); - cpu_set(cpu, next->cpu_vm_mask); -} - void set_current(void *t) { struct task_struct *task = t; @@ -152,7 +142,6 @@ void release_thread(struct task_struct *task) void exit_thread(void) { - CHOOSE_MODE(exit_thread_tt(), exit_thread_skas()); unprotect_stack((unsigned long) current_thread); } @@ -476,12 +465,21 @@ int singlestepping(void * t) return 2; } +/* + * Only x86 and x86_64 have an arch_align_stack(). + * All other arches have "#define arch_align_stack(x) (x)" + * in their asm/system.h + * As this is included in UML from asm-um/system-generic.h, + * we can use it to behave as the subarch does. + */ +#ifndef arch_align_stack unsigned long arch_align_stack(unsigned long sp) { if (randomize_va_space) sp -= get_random_int() % 8192; return sp & ~0xf; } +#endif /* |