Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
torvalds
GitHub Repository: torvalds/linux
Path: blob/master/arch/xtensa/include/asm/kasan.h
26451 views
1
/* SPDX-License-Identifier: GPL-2.0 */
2
#ifndef __ASM_KASAN_H
3
#define __ASM_KASAN_H
4
5
#ifndef __ASSEMBLER__
6
7
#ifdef CONFIG_KASAN
8
9
#include <linux/kernel.h>
10
#include <linux/sizes.h>
11
#include <asm/kmem_layout.h>
12
13
#define KASAN_SHADOW_SCALE_SHIFT 3
14
15
/* Start of area covered by KASAN */
16
#define KASAN_START_VADDR __XTENSA_UL_CONST(0x90000000)
17
/* Start of the shadow map */
18
#define KASAN_SHADOW_START (XCHAL_PAGE_TABLE_VADDR + XCHAL_PAGE_TABLE_SIZE)
19
/* Size of the shadow map */
20
#define KASAN_SHADOW_SIZE (-KASAN_START_VADDR >> KASAN_SHADOW_SCALE_SHIFT)
21
/* End of the shadow map */
22
#define KASAN_SHADOW_END (KASAN_SHADOW_START + KASAN_SHADOW_SIZE)
23
/* Offset for mem to shadow address transformation */
24
#define KASAN_SHADOW_OFFSET __XTENSA_UL_CONST(CONFIG_KASAN_SHADOW_OFFSET)
25
26
void __init kasan_early_init(void);
27
void __init kasan_init(void);
28
29
#else
30
31
static inline void kasan_early_init(void)
32
{
33
}
34
35
static inline void kasan_init(void)
36
{
37
}
38
39
#endif
40
#endif
41
#endif
42
43