xref: /openbmc/linux/arch/riscv/include/asm/kasan.h (revision dc6a81c3)
1 /* SPDX-License-Identifier: GPL-2.0 */
2 /* Copyright (C) 2019 Andes Technology Corporation */
3 
4 #ifndef __ASM_KASAN_H
5 #define __ASM_KASAN_H
6 
7 #ifndef __ASSEMBLY__
8 
9 #ifdef CONFIG_KASAN
10 
11 #include <asm/pgtable.h>
12 
13 #define KASAN_SHADOW_SCALE_SHIFT	3
14 
15 #define KASAN_SHADOW_SIZE	(UL(1) << (38 - KASAN_SHADOW_SCALE_SHIFT))
16 #define KASAN_SHADOW_START	0xffffffc000000000 /* 2^64 - 2^38 */
17 #define KASAN_SHADOW_END	(KASAN_SHADOW_START + KASAN_SHADOW_SIZE)
18 
19 #define KASAN_SHADOW_OFFSET	(KASAN_SHADOW_END - (1ULL << \
20 					(64 - KASAN_SHADOW_SCALE_SHIFT)))
21 
22 void kasan_init(void);
23 asmlinkage void kasan_early_init(void);
24 
25 #endif
26 #endif
27 #endif /* __ASM_KASAN_H */
28