18c2ecf20Sopenharmony_ci/* SPDX-License-Identifier: GPL-2.0 */ 28c2ecf20Sopenharmony_ci// Copyright (C) 2018 Hangzhou C-SKY Microsystems co.,ltd. 38c2ecf20Sopenharmony_ci 48c2ecf20Sopenharmony_ci#ifndef __ASM_CSKY_BUG_H 58c2ecf20Sopenharmony_ci#define __ASM_CSKY_BUG_H 68c2ecf20Sopenharmony_ci 78c2ecf20Sopenharmony_ci#include <linux/compiler.h> 88c2ecf20Sopenharmony_ci#include <linux/const.h> 98c2ecf20Sopenharmony_ci#include <linux/types.h> 108c2ecf20Sopenharmony_ci 118c2ecf20Sopenharmony_ci#define BUG() \ 128c2ecf20Sopenharmony_cido { \ 138c2ecf20Sopenharmony_ci asm volatile ("bkpt\n"); \ 148c2ecf20Sopenharmony_ci unreachable(); \ 158c2ecf20Sopenharmony_ci} while (0) 168c2ecf20Sopenharmony_ci 178c2ecf20Sopenharmony_ci#define HAVE_ARCH_BUG 188c2ecf20Sopenharmony_ci 198c2ecf20Sopenharmony_ci#include <asm-generic/bug.h> 208c2ecf20Sopenharmony_ci 218c2ecf20Sopenharmony_cistruct pt_regs; 228c2ecf20Sopenharmony_ci 238c2ecf20Sopenharmony_civoid die(struct pt_regs *regs, const char *str); 248c2ecf20Sopenharmony_civoid show_regs(struct pt_regs *regs); 258c2ecf20Sopenharmony_civoid show_code(struct pt_regs *regs); 268c2ecf20Sopenharmony_ci 278c2ecf20Sopenharmony_ci#endif /* __ASM_CSKY_BUG_H */ 28