hc
2024-12-19 9370bb92b2d16684ee45cf24e879c93c509162da
kernel/arch/powerpc/include/asm/feature-fixups.h
....@@ -1,13 +1,10 @@
1
+/* SPDX-License-Identifier: GPL-2.0-or-later */
12 #ifndef __ASM_POWERPC_FEATURE_FIXUPS_H
23 #define __ASM_POWERPC_FEATURE_FIXUPS_H
34
45 #include <asm/asm-const.h>
56
67 /*
7
- * This program is free software; you can redistribute it and/or
8
- * modify it under the terms of the GNU General Public License
9
- * as published by the Free Software Foundation; either version
10
- * 2 of the License, or (at your option) any later version.
118 */
129
1310 /*
....@@ -99,6 +96,9 @@
9996
10097 #define END_MMU_FTR_SECTION(msk, val) \
10198 END_MMU_FTR_SECTION_NESTED(msk, val, 97)
99
+
100
+#define END_MMU_FTR_SECTION_NESTED_IFSET(msk, label) \
101
+ END_MMU_FTR_SECTION_NESTED((msk), (msk), label)
102102
103103 #define END_MMU_FTR_SECTION_IFSET(msk) END_MMU_FTR_SECTION((msk), (msk))
104104 #define END_MMU_FTR_SECTION_IFCLR(msk) END_MMU_FTR_SECTION((msk), 0)
....@@ -221,6 +221,14 @@
221221 FTR_ENTRY_OFFSET 957b-958b; \
222222 .popsection;
223223
224
+#define SCV_ENTRY_FLUSH_FIXUP_SECTION \
225
+957: \
226
+ .pushsection __scv_entry_flush_fixup,"a"; \
227
+ .align 2; \
228
+958: \
229
+ FTR_ENTRY_OFFSET 957b-958b; \
230
+ .popsection;
231
+
224232 #define RFI_FLUSH_FIXUP_SECTION \
225233 951: \
226234 .pushsection __rfi_flush_fixup,"a"; \
....@@ -254,10 +262,12 @@
254262
255263 extern long stf_barrier_fallback;
256264 extern long entry_flush_fallback;
265
+extern long scv_entry_flush_fallback;
257266 extern long __start___stf_entry_barrier_fixup, __stop___stf_entry_barrier_fixup;
258267 extern long __start___stf_exit_barrier_fixup, __stop___stf_exit_barrier_fixup;
259268 extern long __start___uaccess_flush_fixup, __stop___uaccess_flush_fixup;
260269 extern long __start___entry_flush_fixup, __stop___entry_flush_fixup;
270
+extern long __start___scv_entry_flush_fixup, __stop___scv_entry_flush_fixup;
261271 extern long __start___rfi_flush_fixup, __stop___rfi_flush_fixup;
262272 extern long __start___barrier_nospec_fixup, __stop___barrier_nospec_fixup;
263273 extern long __start__btb_flush_fixup, __stop__btb_flush_fixup;