]> git.pld-linux.org Git - packages/kernel.git/blame - linux-sparc-smp.patch
- _rel 1.19,
[packages/kernel.git] / linux-sparc-smp.patch
CommitLineData
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 }
This page took 0.070504 seconds and 4 git commands to generate.