aboutsummaryrefslogtreecommitdiffstats
path: root/arch/powerpc/kernel/cputable.c
diff options
context:
space:
mode:
Diffstat (limited to 'arch/powerpc/kernel/cputable.c')
-rw-r--r--arch/powerpc/kernel/cputable.c11
1 files changed, 5 insertions, 6 deletions
diff --git a/arch/powerpc/kernel/cputable.c b/arch/powerpc/kernel/cputable.c
index 6fdfaa4a82b8..bfd499ee3753 100644
--- a/arch/powerpc/kernel/cputable.c
+++ b/arch/powerpc/kernel/cputable.c
@@ -1202,14 +1202,13 @@ struct cpu_spec *identify_cpu(unsigned long offset)
1202 return NULL; 1202 return NULL;
1203} 1203}
1204 1204
1205void do_feature_fixups(unsigned long offset, unsigned long value, 1205void do_feature_fixups(unsigned long value, void *fixup_start, void *fixup_end)
1206 void *fixup_start, void *fixup_end)
1207{ 1206{
1208 struct fixup_entry { 1207 struct fixup_entry {
1209 unsigned long mask; 1208 unsigned long mask;
1210 unsigned long value; 1209 unsigned long value;
1211 unsigned int *start; 1210 long start_off;
1212 unsigned int *end; 1211 long end_off;
1213 } *fcur, *fend; 1212 } *fcur, *fend;
1214 1213
1215 fcur = fixup_start; 1214 fcur = fixup_start;
@@ -1224,8 +1223,8 @@ void do_feature_fixups(unsigned long offset, unsigned long value,
1224 /* These PTRRELOCs will disappear once the new scheme for 1223 /* These PTRRELOCs will disappear once the new scheme for
1225 * modules and vdso is implemented 1224 * modules and vdso is implemented
1226 */ 1225 */
1227 pstart = PTRRELOC(fcur->start); 1226 pstart = ((unsigned int *)fcur) + (fcur->start_off / 4);
1228 pend = PTRRELOC(fcur->end); 1227 pend = ((unsigned int *)fcur) + (fcur->end_off / 4);
1229 1228
1230 for (p = pstart; p < pend; p++) { 1229 for (p = pstart; p < pend; p++) {
1231 *p = 0x60000000u; 1230 *p = 0x60000000u;