47,6 → 47,38 |
#define MMU_FLAG_ITLB 2 /**< operation applies to ITLB */ |
#define MMU_FLAG_DTLB 1 /**< operation applies to DTLB */ |
|
#ifndef __ASM__ |
|
#include <arch/types.h> |
|
/** Translation Table Entry - Data. */ |
/** SUN4V-OK */ |
union tte_data { |
uint64_t value; |
struct { |
unsigned v : 1; /**< Valid. */ |
unsigned nfo : 1; /**< No-Fault-Only. */ |
unsigned soft : 6; /**< Software defined field. */ |
unsigned long ra : 43; /**< Real address. */ |
unsigned ie : 1; /**< Invert endianess. */ |
unsigned e : 1; /**< Side-effect. */ |
unsigned cp : 1; /**< Cacheable in physically indexed cache. */ |
unsigned cv : 1; /**< Cacheable in virtually indexed cache. */ |
unsigned p : 1; /**< Privileged. */ |
unsigned x : 1; /**< Executable. */ |
unsigned w : 1; /**< Writable. */ |
unsigned soft2 : 2; /**< Software defined field. */ |
unsigned size : 4; /**< Page size. */ |
} __attribute__ ((packed)); |
}; |
|
typedef union tte_data tte_data_t; |
|
// TODO: probably remove once tsb.c exists for both sun4u and sun4v |
#define VA_TAG_PAGE_SHIFT 22 |
|
#endif /* !def __ASM__ */ |
|
#endif |
|
/** @} |