1 /* SPDX-License-Identifier: GPL-2.0 */ 2 #ifndef __ASM_KASAN_H 3 #define __ASM_KASAN_H 4 5 #ifndef __ASSEMBLY__ 6 7 #ifdef CONFIG_KASAN 8 9 #include <linux/kernel.h> 10 #include <linux/sizes.h> 11 #include <asm/kmem_layout.h> 12 13 /* Start of area covered by KASAN */ 14 #define KASAN_START_VADDR __XTENSA_UL_CONST(0x90000000) 15 /* Start of the shadow map */ 16 #define KASAN_SHADOW_START (XCHAL_PAGE_TABLE_VADDR + XCHAL_PAGE_TABLE_SIZE) 17 /* Size of the shadow map */ 18 #define KASAN_SHADOW_SIZE (-KASAN_START_VADDR >> KASAN_SHADOW_SCALE_SHIFT) 19 /* Offset for mem to shadow address transformation */ 20 #define KASAN_SHADOW_OFFSET __XTENSA_UL_CONST(CONFIG_KASAN_SHADOW_OFFSET) 21 22 void __init kasan_early_init(void); 23 void __init kasan_init(void); 24 25 #else 26 27 static inline void kasan_early_init(void) 28 { 29 } 30 31 static inline void kasan_init(void) 32 { 33 } 34 35 #endif 36 #endif 37 #endif 38