]> git.pld-linux.org Git - packages/kernel.git/blob - linux-sparc-smp.patch
- update for cset 20040707_...
[packages/kernel.git] / linux-sparc-smp.patch
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
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 @@
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 */
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.264145 seconds and 3 git commands to generate.