hc
2023-12-11 d2ccde1c8e90d38cee87a1b0309ad2827f3fd30d
kernel/arch/powerpc/kernel/vector.S
....@@ -21,6 +21,7 @@
2121 REST_32VRS(0,r4,r3)
2222 blr
2323 EXPORT_SYMBOL(load_vr_state)
24
+_ASM_NOKPROBE_SYMBOL(load_vr_state); /* used by restore_math */
2425
2526 /*
2627 * Store VMX state into memory, including VSCR.
....@@ -66,15 +67,16 @@
6667 #ifdef CONFIG_PPC32
6768 mfspr r5,SPRN_SPRG_THREAD /* current task's THREAD (phys) */
6869 oris r9,r9,MSR_VEC@h
70
+#ifdef CONFIG_VMAP_STACK
71
+ tovirt(r5, r5)
72
+#endif
6973 #else
7074 ld r4,PACACURRENT(r13)
7175 addi r5,r4,THREAD /* Get THREAD */
7276 oris r12,r12,MSR_VEC@h
7377 std r12,_MSR(r1)
7478 #endif
75
- /* Don't care if r4 overflows, this is desired behaviour */
76
- lbz r4,THREAD_LOAD_VEC(r5)
77
- addi r4,r4,1
79
+ li r4,1
7880 stb r4,THREAD_LOAD_VEC(r5)
7981 addi r6,r5,THREAD_VRSTATE
8082 li r4,1
....@@ -85,6 +87,7 @@
8587 REST_32VRS(0,r4,r6)
8688 /* restore registers and return */
8789 blr
90
+_ASM_NOKPROBE_SYMBOL(load_up_altivec)
8891
8992 /*
9093 * save_altivec(tsk)
....@@ -130,7 +133,7 @@
130133 /* enable use of VSX after return */
131134 oris r12,r12,MSR_VSX@h
132135 std r12,_MSR(r1)
133
- b fast_exception_return
136
+ b fast_interrupt_return
134137
135138 #endif /* CONFIG_VSX */
136139