.. | .. |
---|
| 1 | +/* SPDX-License-Identifier: GPL-2.0-or-later */ |
---|
1 | 2 | #ifndef __ASM_POWERPC_FEATURE_FIXUPS_H |
---|
2 | 3 | #define __ASM_POWERPC_FEATURE_FIXUPS_H |
---|
3 | 4 | |
---|
4 | 5 | #include <asm/asm-const.h> |
---|
5 | 6 | |
---|
6 | 7 | /* |
---|
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. |
---|
11 | 8 | */ |
---|
12 | 9 | |
---|
13 | 10 | /* |
---|
.. | .. |
---|
99 | 96 | |
---|
100 | 97 | #define END_MMU_FTR_SECTION(msk, val) \ |
---|
101 | 98 | 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) |
---|
102 | 102 | |
---|
103 | 103 | #define END_MMU_FTR_SECTION_IFSET(msk) END_MMU_FTR_SECTION((msk), (msk)) |
---|
104 | 104 | #define END_MMU_FTR_SECTION_IFCLR(msk) END_MMU_FTR_SECTION((msk), 0) |
---|
.. | .. |
---|
221 | 221 | FTR_ENTRY_OFFSET 957b-958b; \ |
---|
222 | 222 | .popsection; |
---|
223 | 223 | |
---|
| 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 | + |
---|
224 | 232 | #define RFI_FLUSH_FIXUP_SECTION \ |
---|
225 | 233 | 951: \ |
---|
226 | 234 | .pushsection __rfi_flush_fixup,"a"; \ |
---|
.. | .. |
---|
254 | 262 | |
---|
255 | 263 | extern long stf_barrier_fallback; |
---|
256 | 264 | extern long entry_flush_fallback; |
---|
| 265 | +extern long scv_entry_flush_fallback; |
---|
257 | 266 | extern long __start___stf_entry_barrier_fixup, __stop___stf_entry_barrier_fixup; |
---|
258 | 267 | extern long __start___stf_exit_barrier_fixup, __stop___stf_exit_barrier_fixup; |
---|
259 | 268 | extern long __start___uaccess_flush_fixup, __stop___uaccess_flush_fixup; |
---|
260 | 269 | extern long __start___entry_flush_fixup, __stop___entry_flush_fixup; |
---|
| 270 | +extern long __start___scv_entry_flush_fixup, __stop___scv_entry_flush_fixup; |
---|
261 | 271 | extern long __start___rfi_flush_fixup, __stop___rfi_flush_fixup; |
---|
262 | 272 | extern long __start___barrier_nospec_fixup, __stop___barrier_nospec_fixup; |
---|
263 | 273 | extern long __start__btb_flush_fixup, __stop__btb_flush_fixup; |
---|