kasan.h (8dd06ef34b6e2f41b29fbf5fc1663780f2524285) kasan.h (ca5999fde0a1761665a38e4c9a72dbcd7d190a81)
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
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>
11#include <linux/pgtable.h>
12
13#define KASAN_SHADOW_SCALE_SHIFT 3
14
15#define KASAN_SHADOW_SIZE (UL(1) << (38 - KASAN_SHADOW_SCALE_SHIFT))
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 */
16#define KASAN_SHADOW_START KERN_VIRT_START /* 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
22void kasan_init(void);
23asmlinkage void kasan_early_init(void);
24
25#endif
26#endif
27#endif /* __ASM_KASAN_H */
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
22void kasan_init(void);
23asmlinkage void kasan_early_init(void);
24
25#endif
26#endif
27#endif /* __ASM_KASAN_H */