Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
awilliam
GitHub Repository: awilliam/linux-vfio
Path: blob/master/arch/avr32/include/asm/cache.h
10819 views
1
#ifndef __ASM_AVR32_CACHE_H
2
#define __ASM_AVR32_CACHE_H
3
4
#define L1_CACHE_SHIFT 5
5
#define L1_CACHE_BYTES (1 << L1_CACHE_SHIFT)
6
7
/*
8
* Memory returned by kmalloc() may be used for DMA, so we must make
9
* sure that all such allocations are cache aligned. Otherwise,
10
* unrelated code may cause parts of the buffer to be read into the
11
* cache before the transfer is done, causing old data to be seen by
12
* the CPU.
13
*/
14
#define ARCH_DMA_MINALIGN L1_CACHE_BYTES
15
16
#ifndef __ASSEMBLER__
17
struct cache_info {
18
unsigned int ways;
19
unsigned int sets;
20
unsigned int linesz;
21
};
22
#endif /* __ASSEMBLER */
23
24
/* Cache operation constants */
25
#define ICACHE_FLUSH 0x00
26
#define ICACHE_INVALIDATE 0x01
27
#define ICACHE_LOCK 0x02
28
#define ICACHE_UNLOCK 0x03
29
#define ICACHE_PREFETCH 0x04
30
31
#define DCACHE_FLUSH 0x08
32
#define DCACHE_LOCK 0x09
33
#define DCACHE_UNLOCK 0x0a
34
#define DCACHE_INVALIDATE 0x0b
35
#define DCACHE_CLEAN 0x0c
36
#define DCACHE_CLEAN_INVAL 0x0d
37
38
#endif /* __ASM_AVR32_CACHE_H */
39
40