xref: /openbmc/linux/arch/riscv/include/asm/kasan.h (revision acd46a6b)
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 #define KASAN_SHADOW_SCALE_SHIFT	3
12 
13 #define KASAN_SHADOW_SIZE	(UL(1) << (38 - KASAN_SHADOW_SCALE_SHIFT))
14 #define KASAN_SHADOW_START	KERN_VIRT_START /* 2^64 - 2^38 */
15 #define KASAN_SHADOW_END	(KASAN_SHADOW_START + KASAN_SHADOW_SIZE)
16 
17 #define KASAN_SHADOW_OFFSET	(KASAN_SHADOW_END - (1ULL << \
18 					(64 - KASAN_SHADOW_SCALE_SHIFT)))
19 
20 void kasan_init(void);
21 asmlinkage void kasan_early_init(void);
22 
23 #endif
24 #endif
25 #endif /* __ASM_KASAN_H */
26