X-Git-Url: https://err.no/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=include%2Fasm-arm%2Fprocessor.h;h=04f4d34c63170736e9f6301f63a3b666c06f6303;hb=71d530cd1b6d97094481002a04c77fea1c8e1c22;hp=31290694648b095d2a4595c91a9b2825bb72bf6b;hpb=32d39a9355780bc9aadcf76a2d2004bdbe0f4665;p=linux-2.6 diff --git a/include/asm-arm/processor.h b/include/asm-arm/processor.h index 3129069464..04f4d34c63 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 */