1 /* $Id: s3c2410_mmu.h,v 1.3 2008/12/11 12:18:17 ecd Exp $
2  */
3 
4 #ifndef _S3C2410_MMU_H
5 #define _S3C2410_MMU_H 1
6 
7 #define S3C2410_MMU_TLB_SIZE	64
8 #define S3C2410_MMU_TLB_MASK	(S3C2410_MMU_TLB_SIZE - 1)
9 
10 typedef struct {
11 	uint32_t		mva;
12 	uint32_t		mask;
13 	uint32_t		pa;
14 	uint32_t		dac;
15 	int		valid;
16 } TLB_entry_t;
17 
18 typedef struct {
19 	int		victim;
20 	int		base;
21 	int		index0;
22 	int		index1;
23 	unsigned long	hit0;
24 	unsigned long	hit1;
25 	unsigned long	search;
26 	unsigned long	nsearch;
27 	unsigned long	walk;
28 	TLB_entry_t	data[S3C2410_MMU_TLB_SIZE];
29 } TLB_t;
30 
31 typedef struct {
32 	uint32_t		MMUReg[16];
33 	TLB_t		iTLB;
34 	TLB_t		dTLB;
35 } s3c2410_mmu_t;
36 
37 #endif /* !(_S3C2410_MMU_H) */
38