diff options
Diffstat (limited to 'arch/powerpc/kernel/cputable.c')
-rw-r--r-- | arch/powerpc/kernel/cputable.c | 11 |
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 | ||
1205 | void do_feature_fixups(unsigned long offset, unsigned long value, | 1205 | void 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; |