162306a36Sopenharmony_ci/* SPDX-License-Identifier: GPL-2.0-only */ 262306a36Sopenharmony_ci/* 362306a36Sopenharmony_ci * Based on arch/arm/include/asm/system_misc.h 462306a36Sopenharmony_ci * 562306a36Sopenharmony_ci * Copyright (C) 2012 ARM Ltd. 662306a36Sopenharmony_ci */ 762306a36Sopenharmony_ci#ifndef __ASM_SYSTEM_MISC_H 862306a36Sopenharmony_ci#define __ASM_SYSTEM_MISC_H 962306a36Sopenharmony_ci 1062306a36Sopenharmony_ci#ifndef __ASSEMBLY__ 1162306a36Sopenharmony_ci 1262306a36Sopenharmony_ci#include <linux/compiler.h> 1362306a36Sopenharmony_ci#include <linux/linkage.h> 1462306a36Sopenharmony_ci#include <linux/irqflags.h> 1562306a36Sopenharmony_ci#include <linux/signal.h> 1662306a36Sopenharmony_ci#include <linux/ratelimit.h> 1762306a36Sopenharmony_ci#include <linux/reboot.h> 1862306a36Sopenharmony_ci 1962306a36Sopenharmony_cistruct pt_regs; 2062306a36Sopenharmony_ci 2162306a36Sopenharmony_civoid die(const char *msg, struct pt_regs *regs, long err); 2262306a36Sopenharmony_ci 2362306a36Sopenharmony_cistruct siginfo; 2462306a36Sopenharmony_civoid arm64_notify_die(const char *str, struct pt_regs *regs, 2562306a36Sopenharmony_ci int signo, int sicode, unsigned long far, 2662306a36Sopenharmony_ci unsigned long err); 2762306a36Sopenharmony_ci 2862306a36Sopenharmony_civoid hook_debug_fault_code(int nr, int (*fn)(unsigned long, unsigned long, 2962306a36Sopenharmony_ci struct pt_regs *), 3062306a36Sopenharmony_ci int sig, int code, const char *name); 3162306a36Sopenharmony_ci 3262306a36Sopenharmony_cistruct mm_struct; 3362306a36Sopenharmony_ciextern void __show_regs(struct pt_regs *); 3462306a36Sopenharmony_ci 3562306a36Sopenharmony_ci#endif /* __ASSEMBLY__ */ 3662306a36Sopenharmony_ci 3762306a36Sopenharmony_ci#endif /* __ASM_SYSTEM_MISC_H */ 38