Commit 8a01960f authored by Christophe Leroy's avatar Christophe Leroy Committed by Michael Ellerman

powerpc/smp: Use code patching to restore reset vector

Instead of hardcoding reset vector restore, use patch_instruction()
Signed-off-by: default avatarChristophe Leroy <christophe.leroy@c-s.fr>
Signed-off-by: default avatarMichael Ellerman <mpe@ellerman.id.au>
parent 6c16816b
...@@ -86,8 +86,7 @@ smp_86xx_kick_cpu(int nr) ...@@ -86,8 +86,7 @@ smp_86xx_kick_cpu(int nr)
mdelay(1); mdelay(1);
/* Restore the exception vector */ /* Restore the exception vector */
*vector = save_vector; patch_instruction(vector, save_vector);
flush_icache_range((unsigned long) vector, (unsigned long) vector + 4);
local_irq_restore(flags); local_irq_restore(flags);
......
...@@ -832,8 +832,7 @@ static int smp_core99_kick_cpu(int nr) ...@@ -832,8 +832,7 @@ static int smp_core99_kick_cpu(int nr)
mdelay(1); mdelay(1);
/* Restore our exception vector */ /* Restore our exception vector */
*vector = save_vector; patch_instruction(vector, save_vector);
flush_icache_range((unsigned long) vector, (unsigned long) vector + 4);
local_irq_restore(flags); local_irq_restore(flags);
if (ppc_md.progress) ppc_md.progress("smp_core99_kick_cpu done", 0x347); if (ppc_md.progress) ppc_md.progress("smp_core99_kick_cpu done", 0x347);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment