]>
Commit | Line | Data |
---|---|---|
1ab78675 JB |
1 | --- linux-2.6.4-rc2/arch/sparc/kernel/devices.c.orig 2004-03-04 06:17:04.000000000 +0000 |
2 | +++ linux-2.6.4-rc2/arch/sparc/kernel/devices.c 2004-03-05 14:43:27.000000000 +0000 | |
3 | @@ -15,7 +15,7 @@ | |
4 | #include <asm/smp.h> | |
5 | #include <asm/system.h> | |
6 | ||
7 | -struct prom_cpuinfo linux_cpus[32]; | |
8 | +struct prom_cpuinfo linux_cpus[NR_CPUS]; | |
9 | int linux_num_cpus = 0; | |
10 | ||
11 | extern void cpu_probe(void); | |
12 | --- linux-2.6.4-rc2/arch/sparc/kernel/smp.c.orig 2004-03-04 06:16:40.000000000 +0000 | |
9b7096e6 JB |
13 | +++ linux-2.6.4-rc2/arch/sparc/kernel/smp.c 2004-03-05 19:37:41.000000000 +0000 |
14 | @@ -58,6 +58,7 @@ | |
15 | volatile int __cpu_number_map[NR_CPUS]; | |
16 | volatile int __cpu_logical_map[NR_CPUS]; | |
17 | cycles_t cacheflush_time = 0; /* XXX */ | |
18 | +unsigned long cache_decay_ticks = 1; /* XXX */ | |
19 | ||
20 | /* The only guaranteed locking primitive available on all Sparc | |
21 | * processors is 'ldstub [%reg + immediate], %dest_reg' which atomically | |
22 | @@ -248,7 +249,7 @@ | |
1ab78675 JB |
23 | /* Reschedule call back. */ |
24 | void smp_reschedule_irq(void) | |
25 | { | |
26 | - current->work.need_resched = 1; | |
27 | + set_need_resched(); | |
28 | } | |
29 | ||
30 | /* Stopping processors. */ | |
31 | --- linux-2.6.4-rc2/include/asm-sparc/system.h.orig 2004-03-04 06:16:54.000000000 +0000 | |
32 | +++ linux-2.6.4-rc2/include/asm-sparc/system.h 2004-03-05 15:49:07.000000000 +0000 | |
33 | @@ -75,7 +75,7 @@ | |
34 | #ifdef CONFIG_SMP | |
35 | #define SWITCH_ENTER(prv) \ | |
36 | do { \ | |
37 | - if (test_tsk_thread_flag(prv, TIF_USEDFPU) { \ | |
38 | + if (test_tsk_thread_flag(prv, TIF_USEDFPU)) { \ | |
39 | put_psr(get_psr() | PSR_EF); \ | |
40 | fpsave(&(prv)->thread.float_regs[0], &(prv)->thread.fsr, \ | |
41 | &(prv)->thread.fpqueue[0], &(prv)->thread.fpqdepth); \ | |
42 | --- linux-2.6.4-rc2/arch/sparc/kernel/sun4m_smp.c.orig 2004-03-04 06:17:00.000000000 +0000 | |
43 | +++ linux-2.6.4-rc2/arch/sparc/kernel/sun4m_smp.c 2004-03-05 15:19:21.000000000 +0000 | |
44 | @@ -15,6 +15,7 @@ | |
45 | #include <linux/init.h> | |
46 | #include <linux/spinlock.h> | |
47 | #include <linux/mm.h> | |
48 | +#include <linux/swap.h> | |
49 | ||
50 | #include <asm/ptrace.h> | |
51 | #include <asm/atomic.h> | |
52 | @@ -26,6 +27,8 @@ | |
53 | #include <asm/pgtable.h> | |
54 | #include <asm/oplib.h> | |
55 | #include <asm/hardirq.h> | |
56 | +#include <asm/cacheflush.h> | |
57 | +#include <asm/tlbflush.h> | |
58 | ||
59 | #define __KERNEL_SYSCALLS__ | |
60 | #include <linux/unistd.h> | |
61 | @@ -100,8 +103,6 @@ | |
62 | * the SMP initialization the master will be just allowed | |
63 | * to call the scheduler code. | |
64 | */ | |
65 | - init_idle(); | |
66 | - | |
67 | /* Allow master to continue. */ | |
68 | swap((unsigned long *)&cpu_callin_map[cpuid], 1); | |
69 | ||
70 | @@ -166,7 +167,7 @@ | |
71 | mid_xlate[boot_cpu_id] = (linux_cpus[boot_cpu_id].mid & ~8); | |
72 | __cpu_number_map[boot_cpu_id] = 0; | |
73 | __cpu_logical_map[0] = boot_cpu_id; | |
74 | - current->cpu = boot_cpu_id; | |
75 | + current->thread_info->cpu = boot_cpu_id; | |
76 | ||
77 | smp_store_cpu_info(boot_cpu_id); | |
78 | set_irq_udt(mid_xlate[boot_cpu_id]); | |
79 | @@ -191,9 +192,9 @@ | |
80 | ||
81 | p = prev_task(&init_task); | |
82 | ||
83 | - p->cpu = i; | |
84 | + p->thread_info->cpu = i; | |
85 | ||
86 | - current_set[i] = p; | |
87 | + current_set[i] = p->thread_info; | |
88 | ||
89 | unhash_process(p); | |
90 | ||
91 | --- linux-2.6.4-rc2/arch/sparc/kernel/sun4d_smp.c.orig 2004-03-04 06:16:37.000000000 +0000 | |
92 | +++ linux-2.6.4-rc2/arch/sparc/kernel/sun4d_smp.c 2004-03-05 15:29:11.000000000 +0000 | |
93 | @@ -18,6 +18,7 @@ | |
94 | #include <linux/init.h> | |
95 | #include <linux/spinlock.h> | |
96 | #include <linux/mm.h> | |
97 | +#include <linux/swap.h> | |
98 | ||
99 | #include <asm/ptrace.h> | |
100 | #include <asm/atomic.h> | |
101 | @@ -31,6 +32,8 @@ | |
102 | #include <asm/hardirq.h> | |
103 | #include <asm/sbus.h> | |
104 | #include <asm/sbi.h> | |
105 | +#include <asm/cacheflush.h> | |
106 | +#include <asm/tlbflush.h> | |
107 | ||
108 | #define __KERNEL_SYSCALLS__ | |
109 | #include <linux/unistd.h> | |
110 | @@ -103,7 +106,6 @@ | |
111 | * the SMP initialization the master will be just allowed | |
112 | * to call the scheduler code. | |
113 | */ | |
114 | - init_idle(); | |
115 | ||
116 | /* Get our local ticker going. */ | |
117 | smp_setup_percpu_timer(); | |
118 | @@ -193,7 +195,7 @@ | |
119 | mid_xlate[i] = i; | |
120 | __cpu_number_map[boot_cpu_id] = 0; | |
121 | __cpu_logical_map[0] = boot_cpu_id; | |
122 | - current->cpu = boot_cpu_id; | |
123 | + current->thread_info->cpu = boot_cpu_id; | |
124 | smp_store_cpu_info(boot_cpu_id); | |
125 | smp_setup_percpu_timer(); | |
126 | local_flush_cache_all(); | |
127 | @@ -218,9 +220,9 @@ | |
128 | ||
129 | p = prev_task(&init_task); | |
130 | ||
131 | - p->cpu = i; | |
132 | + p->thread_info->cpu = i; | |
133 | ||
134 | - current_set[i] = p; | |
135 | + current_set[i] = p->thread_info; | |
136 | ||
137 | unhash_process(p); | |
138 | ||
139 | --- linux-2.6.4-rc2/arch/sparc/kernel/sparc_ksyms.c.orig 2004-03-04 06:16:36.000000000 +0000 | |
140 | +++ linux-2.6.4-rc2/arch/sparc/kernel/sparc_ksyms.c 2004-03-05 15:34:54.000000000 +0000 | |
141 | @@ -157,7 +157,6 @@ | |
142 | ||
143 | #ifdef CONFIG_SMP | |
144 | /* IRQ implementation. */ | |
145 | -EXPORT_SYMBOL(global_irq_holder); | |
146 | EXPORT_SYMBOL(synchronize_irq); | |
147 | ||
148 | /* Misc SMP information */ | |
9b7096e6 JB |
149 | --- linux-2.6.4-rc2/include/asm-sparc/smp.h.orig 2004-03-04 06:16:39.000000000 +0000 |
150 | +++ linux-2.6.4-rc2/include/asm-sparc/smp.h 2004-03-05 17:44:57.000000000 +0000 | |
151 | @@ -54,6 +54,7 @@ | |
152 | extern unsigned char boot_cpu_id; | |
153 | extern unsigned long cpu_present_map; | |
154 | #define cpu_online_map cpu_present_map | |
155 | +#define cpu_possible_map cpu_present_map | |
156 | ||
157 | typedef void (*smpfunc_t)(unsigned long, unsigned long, unsigned long, | |
158 | unsigned long, unsigned long); | |
159 | --- linux-2.6.4-rc2/arch/sparc/kernel/trampoline.S.orig 2004-03-04 06:17:04.000000000 +0000 | |
160 | +++ linux-2.6.4-rc2/arch/sparc/kernel/trampoline.S 2004-03-05 18:59:45.000000000 +0000 | |
161 | @@ -13,6 +13,7 @@ | |
162 | #include <asm/ptrace.h> | |
163 | #include <asm/vaddrs.h> | |
164 | #include <asm/contregs.h> | |
165 | +#include <asm/thread_info.h> | |
166 | ||
167 | .globl sun4m_cpu_startup, __smp4m_processor_id | |
168 | .globl sun4d_cpu_startup, __smp4d_processor_id | |
169 | --- linux-2.6.4-rc2/arch/sparc/mm/nosun4c.c.orig 2004-03-04 06:17:10.000000000 +0000 | |
170 | +++ linux-2.6.4-rc2/arch/sparc/mm/nosun4c.c 2004-03-05 19:58:10.000000000 +0000 | |
171 | @@ -52,7 +52,7 @@ | |
172 | { | |
173 | } | |
174 | ||
175 | -pte_t *sun4c_pte_offset(pmd_t * dir, unsigned long address) | |
176 | +pte_t *sun4c_pte_offset_kernel(pmd_t * dir, unsigned long address) | |
177 | { | |
178 | return NULL; | |
179 | } |