Subversion Repositories HelenOS-historic

Compare Revisions

Ignore whitespace Rev 848 → Rev 849

/kernel/trunk/arch/mips32/include/mm/tlb.h
53,12 → 53,21
 
union entry_lo {
struct {
#ifdef BIG_ENDIAN
unsigned : 2; /* zero */
unsigned pfn : 24; /* frame number */
unsigned c : 3; /* cache coherency attribute */
unsigned d : 1; /* dirty/write-protect bit */
unsigned v : 1; /* valid bit */
unsigned g : 1; /* global bit */
#else
unsigned g : 1; /* global bit */
unsigned v : 1; /* valid bit */
unsigned d : 1; /* dirty/write-protect bit */
unsigned c : 3; /* cache coherency attribute */
unsigned pfn : 24; /* frame number */
unsigned : 2; /* zero */
#endif
} __attribute__ ((packed));
__u32 value;
};
65,7 → 74,18
 
/** Page Table Entry. */
struct pte {
#ifdef BIG_ENDIAN
unsigned a : 1; /**< Accessed bit. */
unsigned w : 1; /**< Page writable bit. */
unsigned pfn : 24; /**< Physical frame number. */
unsigned soft_valid : 1; /**< Valid content even if not present. */
unsigned : 1; /**< Unused. */
unsigned cacheable : 1; /**< Cacheable bit. */
unsigned d : 1; /**< Dirty bit. */
unsigned p : 1; /**< Present bit. */
unsigned g : 1; /**< Global bit. */
#else
unsigned g : 1; /**< Global bit. */
unsigned p : 1; /**< Present bit. */
unsigned d : 1; /**< Dirty bit. */
unsigned cacheable : 1; /**< Cacheable bit. */
74,13 → 94,20
unsigned pfn : 24; /**< Physical frame number. */
unsigned w : 1; /**< Page writable bit. */
unsigned a : 1; /**< Accessed bit. */
#endif
};
 
union entry_hi {
struct {
#ifdef BIG_ENDIAN
unsigned vpn2 : 19;
unsigned : 5;
unsigned asid : 8;
#else
unsigned asid : 8;
unsigned : 5;
unsigned vpn2 : 19;
#endif
} __attribute__ ((packed));
__u32 value;
};
87,9 → 114,15
 
union page_mask {
struct {
#ifdef BIG_ENDIAN
unsigned : 7;
unsigned mask : 12;
unsigned : 13;
#else
unsigned : 13;
unsigned mask : 12;
unsigned : 7;
#endif
} __attribute__ ((packed));
__u32 value;
};
96,9 → 129,15
 
union index {
struct {
#ifdef BIG_ENDIAN
unsigned p : 1;
unsigned : 27;
unsigned index : 4;
#else
unsigned index : 4;
unsigned : 27;
unsigned p : 1;
#endif
} __attribute__ ((packed));
__u32 value;
};