Subversion Repositories HelenOS-historic

Rev

Rev 1 | Rev 317 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 1 Rev 121
Line 27... Line 27...
27
 */
27
 */
28
 
28
 
29
#ifndef __mips_TLB_H__
29
#ifndef __mips_TLB_H__
30
#define __mips_TLB_H__
30
#define __mips_TLB_H__
31
 
31
 
-
 
32
#define PAGE_UNCACHED           2
-
 
33
#define PAGE_CACHEABLE_EXC_WRITE    5
-
 
34
 
32
struct entry_lo {
35
struct entry_lo {
33
    unsigned g : 1;
36
    unsigned g : 1;     /* global bit */
34
    unsigned v : 1;
37
    unsigned v : 1;     /* valid bit */
35
    unsigned d : 1;
38
    unsigned d : 1;     /* dirty/write-protect bit */
36
    unsigned c : 3;
39
    unsigned c : 3;     /* cache coherency attribute */
37
    unsigned pfn : 24;
40
    unsigned pfn : 24;  /* frame number */
38
    unsigned : 2;
41
    unsigned : 2;
39
} __attribute__ ((packed));
42
} __attribute__ ((packed));
40
 
43
 
41
struct entry_hi {
44
struct entry_hi {
42
    unsigned asid : 8;
45
    unsigned asid : 8;
Line 56... Line 59...
56
    struct entry_lo lo1;
59
    struct entry_lo lo1;
57
    struct entry_hi hi;
60
    struct entry_hi hi;
58
    struct page_mask mask;
61
    struct page_mask mask;
59
} __attribute__ ((packed));
62
} __attribute__ ((packed));
60
 
63
 
-
 
64
typedef struct entry_lo pte_t;
-
 
65
 
61
extern void tlb_refill(void);
66
extern void tlb_refill(void);
62
extern void tlb_invalid(void);
67
extern void tlb_invalid(void);
63
 
68
 
64
#endif
69
#endif