system_misc.h (1005B)
1/* SPDX-License-Identifier: GPL-2.0 */ 2#ifndef __ASM_ARM_SYSTEM_MISC_H 3#define __ASM_ARM_SYSTEM_MISC_H 4 5#ifndef __ASSEMBLY__ 6 7#include <linux/compiler.h> 8#include <linux/linkage.h> 9#include <linux/irqflags.h> 10#include <linux/reboot.h> 11#include <linux/percpu.h> 12 13extern void cpu_init(void); 14 15void soft_restart(unsigned long); 16extern void (*arm_pm_idle)(void); 17 18#ifdef CONFIG_HARDEN_BRANCH_PREDICTOR 19typedef void (*harden_branch_predictor_fn_t)(void); 20DECLARE_PER_CPU(harden_branch_predictor_fn_t, harden_branch_predictor_fn); 21static inline void harden_branch_predictor(void) 22{ 23 harden_branch_predictor_fn_t fn = per_cpu(harden_branch_predictor_fn, 24 smp_processor_id()); 25 if (fn) 26 fn(); 27} 28#else 29#define harden_branch_predictor() do { } while (0) 30#endif 31 32#define UDBG_UNDEFINED (1 << 0) 33#define UDBG_SYSCALL (1 << 1) 34#define UDBG_BADABORT (1 << 2) 35#define UDBG_SEGV (1 << 3) 36#define UDBG_BUS (1 << 4) 37 38extern unsigned int user_debug; 39 40#endif /* !__ASSEMBLY__ */ 41 42#endif /* __ASM_ARM_SYSTEM_MISC_H */