1 /* SPDX-License-Identifier: GPL-2.0 */
2 #ifndef __ASM_SH_UNCACHED_H
3 #define __ASM_SH_UNCACHED_H
7 #ifdef CONFIG_UNCACHED_MAPPING
8 extern unsigned long cached_to_uncached
;
9 extern unsigned long uncached_size
;
10 extern unsigned long uncached_start
, uncached_end
;
12 extern int virt_addr_uncached(unsigned long kaddr
);
13 extern void uncached_init(void);
14 extern void uncached_resize(unsigned long size
);
17 * Jump to uncached area.
18 * When handling TLB or caches, we need to do it from an uncached area.
20 #define jump_to_uncached() \
22 unsigned long __dummy; \
24 __asm__ __volatile__( \
32 : "r" (cached_to_uncached)); \
36 * Back to cached area.
38 #define back_to_cached() \
40 unsigned long __dummy; \
42 __asm__ __volatile__( \
52 #define virt_addr_uncached(kaddr) (0)
53 #define uncached_init() do { } while (0)
54 #define uncached_resize(size) BUG()
55 #define jump_to_uncached() do { } while (0)
56 #define back_to_cached() do { } while (0)
59 #endif /* __ASM_SH_UNCACHED_H */