^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1) /* SPDX-License-Identifier: GPL-2.0 */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2) #ifndef __ASM_TRAPS_H
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3) #define __ASM_TRAPS_H
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 5) #define PARISC_ITLB_TRAP 6 /* defined by architecture. Do not change. */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 6)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 7) #if !defined(__ASSEMBLY__)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 8) struct pt_regs;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 9)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 10) /* traps.c */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 11) void parisc_terminate(char *msg, struct pt_regs *regs,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 12) int code, unsigned long offset) __noreturn __cold;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 13)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 14) void die_if_kernel(char *str, struct pt_regs *regs, long err);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 15)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 16) /* mm/fault.c */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 17) const char *trap_name(unsigned long code);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 18) void do_page_fault(struct pt_regs *regs, unsigned long code,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 19) unsigned long address);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 20) int handle_nadtlb_fault(struct pt_regs *regs);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 21) #endif
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 22)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 23) #endif