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