1/* SPDX-License-Identifier: GPL-2.0-or-later */
2#ifndef ARCH_POWERPC_MM_BOOK3S64_INTERNAL_H
3#define ARCH_POWERPC_MM_BOOK3S64_INTERNAL_H
4
5#include <linux/jump_label.h>
6
7extern bool stress_slb_enabled;
8
9DECLARE_STATIC_KEY_FALSE(stress_slb_key);
10
11static inline bool stress_slb(void)
12{
13	return static_branch_unlikely(&stress_slb_key);
14}
15
16extern bool stress_hpt_enabled;
17
18DECLARE_STATIC_KEY_FALSE(stress_hpt_key);
19
20static inline bool stress_hpt(void)
21{
22	return static_branch_unlikely(&stress_hpt_key);
23}
24
25void hpt_do_stress(unsigned long ea, unsigned long hpte_group);
26
27void slb_setup_new_exec(void);
28
29void exit_lazy_flush_tlb(struct mm_struct *mm, bool always_flush);
30
31#endif /* ARCH_POWERPC_MM_BOOK3S64_INTERNAL_H */
32