diff options
| author | Linus Torvalds <torvalds@g5.osdl.org> | 2006-01-14 19:43:21 -0800 |
|---|---|---|
| committer | Linus Torvalds <torvalds@g5.osdl.org> | 2006-01-14 19:43:21 -0800 |
| commit | 8d5c315059460e665c804d5a9b641f7f0a1e9dd7 (patch) | |
| tree | b9c598b2ac7a4fd7cf121ce733b98b0f18b8a1df /include/asm-arm/processor.h | |
| parent | a9df3d0f312f4b1aefec76ae5ee86cccbf7cd4e0 (diff) | |
| parent | 3f471126ee53feb5e9b210ea2f525ed3bb9b7a7f (diff) | |
Merge master.kernel.org:/home/rmk/linux-2.6-arm
Diffstat (limited to 'include/asm-arm/processor.h')
| -rw-r--r-- | include/asm-arm/processor.h | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/include/asm-arm/processor.h b/include/asm-arm/processor.h index 31290694648b..04f4d34c6317 100644 --- a/include/asm-arm/processor.h +++ b/include/asm-arm/processor.h @@ -49,6 +49,12 @@ struct thread_struct { #define INIT_THREAD { } +#ifdef CONFIG_MMU +#define nommu_start_thread(regs) do { } while (0) +#else +#define nommu_start_thread(regs) regs->ARM_r10 = current->mm->start_data +#endif + #define start_thread(regs,pc,sp) \ ({ \ unsigned long *stack = (unsigned long *)sp; \ @@ -65,6 +71,7 @@ struct thread_struct { regs->ARM_r2 = stack[2]; /* r2 (envp) */ \ regs->ARM_r1 = stack[1]; /* r1 (argv) */ \ regs->ARM_r0 = stack[0]; /* r0 (argc) */ \ + nommu_start_thread(regs); \ }) /* Forward declaration, a strange C thing */ |
