Merge branch 'for-linus' of git://git390.marist.edu/pub/scm/linux-2.6
[linux-2.6] / arch / microblaze / include / asm / cache.h
1 /*
2  * Cache operations
3  *
4  * Copyright (C) 2007-2009 Michal Simek <monstr@monstr.eu>
5  * Copyright (C) 2007-2009 PetaLogix
6  * Copyright (C) 2003 John Williams <jwilliams@itee.uq.edu.au>
7  *
8  * This file is subject to the terms and conditions of the GNU General
9  * Public License. See the file COPYING in the main directory of this
10  * archive for more details.
11  */
12
13 #ifndef _ASM_MICROBLAZE_CACHE_H
14 #define _ASM_MICROBLAZE_CACHE_H
15
16 #include <asm/registers.h>
17
18 #define L1_CACHE_SHIFT  2
19 /* word-granular cache in microblaze */
20 #define L1_CACHE_BYTES  (1 << L1_CACHE_SHIFT)
21
22 #define SMP_CACHE_BYTES L1_CACHE_BYTES
23
24 void _enable_icache(void);
25 void _disable_icache(void);
26 void _invalidate_icache(unsigned int addr);
27
28 #define __enable_icache()               _enable_icache()
29 #define __disable_icache()              _disable_icache()
30 #define __invalidate_icache(addr)       _invalidate_icache(addr)
31
32 void _enable_dcache(void);
33 void _disable_dcache(void);
34 void _invalidate_dcache(unsigned int addr);
35
36 #define __enable_dcache()               _enable_dcache()
37 #define __disable_dcache()              _disable_dcache()
38 #define __invalidate_dcache(addr)       _invalidate_dcache(addr)
39
40 #endif /* _ASM_MICROBLAZE_CACHE_H */