feature-fixups.c (c74a7469f97c0f40b46e82ee979f9fb1bb6e847c) feature-fixups.c (179ab1cbf883575c3a585bcfc0f2160f1d22a149)
1/*
2 * Copyright (C) 2001 Ben. Herrenschmidt (benh@kernel.crashing.org)
3 *
4 * Modifications for ppc64:
5 * Copyright (C) 2003 Dave Engebretsen <engebret@us.ibm.com>
6 *
7 * Copyright 2008 Michael Ellerman, IBM Corporation.
8 *

--- 290 unchanged lines hidden (view full) ---

299
300 pr_devel("patching dest %lx\n", (unsigned long)dest);
301 patch_instruction(dest, instr);
302 }
303
304 printk(KERN_DEBUG "barrier-nospec: patched %d locations\n", i);
305}
306
1/*
2 * Copyright (C) 2001 Ben. Herrenschmidt (benh@kernel.crashing.org)
3 *
4 * Modifications for ppc64:
5 * Copyright (C) 2003 Dave Engebretsen <engebret@us.ibm.com>
6 *
7 * Copyright 2008 Michael Ellerman, IBM Corporation.
8 *

--- 290 unchanged lines hidden (view full) ---

299
300 pr_devel("patching dest %lx\n", (unsigned long)dest);
301 patch_instruction(dest, instr);
302 }
303
304 printk(KERN_DEBUG "barrier-nospec: patched %d locations\n", i);
305}
306
307#endif /* CONFIG_PPC_BOOK3S_64 */
308
309#ifdef CONFIG_PPC_BARRIER_NOSPEC
307void do_barrier_nospec_fixups(bool enable)
308{
309 void *start, *end;
310
311 start = PTRRELOC(&__start___barrier_nospec_fixup),
312 end = PTRRELOC(&__stop___barrier_nospec_fixup);
313
314 do_barrier_nospec_fixups_range(enable, start, end);
315}
310void do_barrier_nospec_fixups(bool enable)
311{
312 void *start, *end;
313
314 start = PTRRELOC(&__start___barrier_nospec_fixup),
315 end = PTRRELOC(&__stop___barrier_nospec_fixup);
316
317 do_barrier_nospec_fixups_range(enable, start, end);
318}
319#endif /* CONFIG_PPC_BARRIER_NOSPEC */
316
320
317#endif /* CONFIG_PPC_BOOK3S_64 */
318
319void do_lwsync_fixups(unsigned long value, void *fixup_start, void *fixup_end)
320{
321 long *start, *end;
322 unsigned int *dest;
323
324 if (!(value & CPU_FTR_LWSYNC))
325 return ;
326

--- 328 unchanged lines hidden ---
321void do_lwsync_fixups(unsigned long value, void *fixup_start, void *fixup_end)
322{
323 long *start, *end;
324 unsigned int *dest;
325
326 if (!(value & CPU_FTR_LWSYNC))
327 return ;
328

--- 328 unchanged lines hidden ---