Subversion Repositories HelenOS

Rev

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

Rev 3743 Rev 3862
Line 45... Line 45...
45
#define TTE_SZ_SHIFT    0   /**< size */
45
#define TTE_SZ_SHIFT    0   /**< size */
46
 
46
 
47
#define MMU_FLAG_ITLB   2   /**< operation applies to ITLB */
47
#define MMU_FLAG_ITLB   2   /**< operation applies to ITLB */
48
#define MMU_FLAG_DTLB   1   /**< operation applies to DTLB */
48
#define MMU_FLAG_DTLB   1   /**< operation applies to DTLB */
49
 
49
 
-
 
50
#ifndef __ASM__
-
 
51
 
-
 
52
#include <arch/types.h>
-
 
53
 
-
 
54
/** Translation Table Entry - Data. */
-
 
55
/** SUN4V-OK */
-
 
56
union tte_data {
-
 
57
    uint64_t value;
-
 
58
    struct {
-
 
59
        unsigned v : 1;     /**< Valid. */
-
 
60
        unsigned nfo : 1;   /**< No-Fault-Only. */
-
 
61
        unsigned soft : 6;  /**< Software defined field. */
-
 
62
        unsigned long ra : 43;  /**< Real address. */
-
 
63
        unsigned ie : 1;    /**< Invert endianess. */
-
 
64
        unsigned e : 1;     /**< Side-effect. */
-
 
65
        unsigned cp : 1;    /**< Cacheable in physically indexed cache. */
-
 
66
        unsigned cv : 1;    /**< Cacheable in virtually indexed cache. */
-
 
67
        unsigned p : 1;     /**< Privileged. */
-
 
68
        unsigned x : 1;     /**< Executable. */
-
 
69
        unsigned w : 1;     /**< Writable. */
-
 
70
        unsigned soft2 : 2; /**< Software defined field. */
-
 
71
        unsigned size : 4;  /**< Page size. */
-
 
72
    } __attribute__ ((packed));
-
 
73
};
-
 
74
 
-
 
75
typedef union tte_data tte_data_t;
-
 
76
 
-
 
77
// TODO: probably remove once tsb.c exists for both sun4u and sun4v
-
 
78
#define VA_TAG_PAGE_SHIFT   22
-
 
79
 
-
 
80
#endif /* !def __ASM__ */
-
 
81
 
50
#endif
82
#endif
51
 
83
 
52
/** @}
84
/** @}
53
 */
85
 */