cachepc-linux

Fork of AMDESE/linux with modifications for CachePC side-channel attack
git clone https://git.sinitax.com/sinitax/cachepc-linux
Log | Files | Refs | README | LICENSE | sfeed.txt

asm-bug.h (935B)


      1/* SPDX-License-Identifier: GPL-2.0-only */
      2#ifndef __ASM_ASM_BUG_H
      3/*
      4 * Copyright (C) 2017  ARM Limited
      5 */
      6#define __ASM_ASM_BUG_H
      7
      8#include <asm/brk-imm.h>
      9
     10#ifdef CONFIG_DEBUG_BUGVERBOSE
     11#define _BUGVERBOSE_LOCATION(file, line) __BUGVERBOSE_LOCATION(file, line)
     12#define __BUGVERBOSE_LOCATION(file, line)			\
     13		.pushsection .rodata.str,"aMS",@progbits,1;	\
     14	14472:	.string file;					\
     15		.popsection;					\
     16								\
     17		.long 14472b - .;				\
     18		.short line;
     19#else
     20#define _BUGVERBOSE_LOCATION(file, line)
     21#endif
     22
     23#ifdef CONFIG_GENERIC_BUG
     24
     25#define __BUG_ENTRY(flags) 				\
     26		.pushsection __bug_table,"aw";		\
     27		.align 2;				\
     28	14470:	.long 14471f - .;			\
     29_BUGVERBOSE_LOCATION(__FILE__, __LINE__)		\
     30		.short flags; 				\
     31		.popsection;				\
     32	14471:
     33#else
     34#define __BUG_ENTRY(flags)
     35#endif
     36
     37#define ASM_BUG_FLAGS(flags)				\
     38	__BUG_ENTRY(flags)				\
     39	brk	BUG_BRK_IMM
     40
     41#define ASM_BUG()	ASM_BUG_FLAGS(0)
     42
     43#endif /* __ASM_ASM_BUG_H */