blob: 0e2a0ecaf484276427d4ce21cbe135e620d0f6da [file] [log] [blame]
Catalin Marinas10b663a2012-03-05 11:49:34 +00001/*
2 * Based on arch/arm/include/asm/system_misc.h
3 *
4 * Copyright (C) 2012 ARM Ltd.
5 *
6 * This program is free software; you can redistribute it and/or modify
7 * it under the terms of the GNU General Public License version 2 as
8 * published by the Free Software Foundation.
9 *
10 * This program is distributed in the hope that it will be useful,
11 * but WITHOUT ANY WARRANTY; without even the implied warranty of
12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 * GNU General Public License for more details.
14 *
15 * You should have received a copy of the GNU General Public License
16 * along with this program. If not, see <http://www.gnu.org/licenses/>.
17 */
18#ifndef __ASM_SYSTEM_MISC_H
19#define __ASM_SYSTEM_MISC_H
20
21#ifndef __ASSEMBLY__
22
23#include <linux/compiler.h>
24#include <linux/linkage.h>
25#include <linux/irqflags.h>
Vladimir Murzin86dca362015-06-19 15:28:03 +010026#include <linux/signal.h>
27#include <linux/ratelimit.h>
Marc Zyngierff701302013-07-11 12:13:00 +010028#include <linux/reboot.h>
Catalin Marinas10b663a2012-03-05 11:49:34 +000029
30struct pt_regs;
31
32void die(const char *msg, struct pt_regs *regs, int err);
33
34struct siginfo;
35void arm64_notify_die(const char *str, struct pt_regs *regs,
Eric W. Biederman6fa998e2018-09-21 17:24:40 +020036 int signo, int sicode, void __user *addr,
37 int err);
Catalin Marinas10b663a2012-03-05 11:49:34 +000038
39void hook_debug_fault_code(int nr, int (*fn)(unsigned long, unsigned int,
40 struct pt_regs *),
41 int sig, int code, const char *name);
42
43struct mm_struct;
Kristina Martsenko67ce16e2017-06-09 16:35:52 +010044extern void show_pte(unsigned long addr);
Catalin Marinas10b663a2012-03-05 11:49:34 +000045extern void __show_regs(struct pt_regs *);
46
Marc Zyngierff701302013-07-11 12:13:00 +010047extern void (*arm_pm_restart)(enum reboot_mode reboot_mode, const char *cmd);
Catalin Marinas10b663a2012-03-05 11:49:34 +000048
Tyler Baicar621f48e2017-06-21 12:17:14 -060049int handle_guest_sea(phys_addr_t addr, unsigned int esr);
50
Catalin Marinas10b663a2012-03-05 11:49:34 +000051#endif /* __ASSEMBLY__ */
52
53#endif /* __ASM_SYSTEM_MISC_H */