diff options
Diffstat (limited to 'arch/m68k/include/asm/processor.h')
-rw-r--r-- | arch/m68k/include/asm/processor.h | 18 |
1 files changed, 10 insertions, 8 deletions
diff --git a/arch/m68k/include/asm/processor.h b/arch/m68k/include/asm/processor.h index 568facf30276..46460fa15d5c 100644 --- a/arch/m68k/include/asm/processor.h +++ b/arch/m68k/include/asm/processor.h | |||
@@ -48,10 +48,12 @@ static inline void wrusp(unsigned long usp) | |||
48 | * so don't change it unless you know what you are doing. | 48 | * so don't change it unless you know what you are doing. |
49 | */ | 49 | */ |
50 | #ifdef CONFIG_MMU | 50 | #ifdef CONFIG_MMU |
51 | #ifndef CONFIG_SUN3 | 51 | #if defined(CONFIG_COLDFIRE) |
52 | #define TASK_SIZE (0xF0000000UL) | 52 | #define TASK_SIZE (0xC0000000UL) |
53 | #else | 53 | #elif defined(CONFIG_SUN3) |
54 | #define TASK_SIZE (0x0E000000UL) | 54 | #define TASK_SIZE (0x0E000000UL) |
55 | #else | ||
56 | #define TASK_SIZE (0xF0000000UL) | ||
55 | #endif | 57 | #endif |
56 | #else | 58 | #else |
57 | #define TASK_SIZE (0xFFFFFFFFUL) | 59 | #define TASK_SIZE (0xFFFFFFFFUL) |
@@ -66,10 +68,12 @@ static inline void wrusp(unsigned long usp) | |||
66 | * space during mmap's. | 68 | * space during mmap's. |
67 | */ | 69 | */ |
68 | #ifdef CONFIG_MMU | 70 | #ifdef CONFIG_MMU |
69 | #ifndef CONFIG_SUN3 | 71 | #if defined(CONFIG_COLDFIRE) |
70 | #define TASK_UNMAPPED_BASE 0xC0000000UL | 72 | #define TASK_UNMAPPED_BASE 0x60000000UL |
71 | #else | 73 | #elif defined(CONFIG_SUN3) |
72 | #define TASK_UNMAPPED_BASE 0x0A000000UL | 74 | #define TASK_UNMAPPED_BASE 0x0A000000UL |
75 | #else | ||
76 | #define TASK_UNMAPPED_BASE 0xC0000000UL | ||
73 | #endif | 77 | #endif |
74 | #define TASK_UNMAPPED_ALIGN(addr, off) PAGE_ALIGN(addr) | 78 | #define TASK_UNMAPPED_ALIGN(addr, off) PAGE_ALIGN(addr) |
75 | #else | 79 | #else |
@@ -88,14 +92,12 @@ struct thread_struct { | |||
88 | unsigned long fp[8*3]; | 92 | unsigned long fp[8*3]; |
89 | unsigned long fpcntl[3]; /* fp control regs */ | 93 | unsigned long fpcntl[3]; /* fp control regs */ |
90 | unsigned char fpstate[FPSTATESIZE]; /* floating point state */ | 94 | unsigned char fpstate[FPSTATESIZE]; /* floating point state */ |
91 | struct thread_info info; | ||
92 | }; | 95 | }; |
93 | 96 | ||
94 | #define INIT_THREAD { \ | 97 | #define INIT_THREAD { \ |
95 | .ksp = sizeof(init_stack) + (unsigned long) init_stack, \ | 98 | .ksp = sizeof(init_stack) + (unsigned long) init_stack, \ |
96 | .sr = PS_S, \ | 99 | .sr = PS_S, \ |
97 | .fs = __KERNEL_DS, \ | 100 | .fs = __KERNEL_DS, \ |
98 | .info = INIT_THREAD_INFO(init_task), \ | ||
99 | } | 101 | } |
100 | 102 | ||
101 | #ifdef CONFIG_MMU | 103 | #ifdef CONFIG_MMU |