powerpc/cell: Fix GDB watchpoints, again

An earlier patch from Jens Osterkamp attempted to fix GDB
watchpoints by enabling the DABRX register at boot time.
Unfortunately, this did not work on SMP setups, where
secondary CPUs were still using the power-on DABRX value.

This introduces the same change for secondary CPUs on cell
as well.

Reported-by: Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
Tested-by: Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Signed-off-by: Paul Mackerras <paulus@samba.org>

authored by Arnd Bergmann and committed by Paul Mackerras 960cedb4 cc353c30

+7 -2
+7 -2
arch/powerpc/platforms/cell/smp.c
··· 129 return cpus_weight(cpu_possible_map); 130 } 131 132 - static void __devinit smp_iic_setup_cpu(int cpu) 133 { 134 if (cpu != boot_cpuid) 135 iic_setup_cpu(); 136 } 137 138 static DEFINE_SPINLOCK(timebase_lock); ··· 197 .message_pass = smp_iic_message_pass, 198 .probe = smp_iic_probe, 199 .kick_cpu = smp_cell_kick_cpu, 200 - .setup_cpu = smp_iic_setup_cpu, 201 .cpu_bootable = smp_cell_cpu_bootable, 202 }; 203
··· 129 return cpus_weight(cpu_possible_map); 130 } 131 132 + static void __devinit smp_cell_setup_cpu(int cpu) 133 { 134 if (cpu != boot_cpuid) 135 iic_setup_cpu(); 136 + 137 + /* 138 + * change default DABRX to allow user watchpoints 139 + */ 140 + mtspr(SPRN_DABRX, DABRX_KERNEL | DABRX_USER); 141 } 142 143 static DEFINE_SPINLOCK(timebase_lock); ··· 192 .message_pass = smp_iic_message_pass, 193 .probe = smp_iic_probe, 194 .kick_cpu = smp_cell_kick_cpu, 195 + .setup_cpu = smp_cell_setup_cpu, 196 .cpu_bootable = smp_cell_cpu_bootable, 197 }; 198