Rev 1702 | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed
| Rev 1702 | Rev 1780 | ||
|---|---|---|---|
| Line 37... | Line 37... | ||
| 37 | 37 | ||
| 38 | #include <arch/types.h> |
38 | #include <arch/types.h> |
| 39 | 39 | ||
| 40 | /** Translation Table Entry - Tag. */ |
40 | /** Translation Table Entry - Tag. */ |
| 41 | union tte_tag { |
41 | union tte_tag { |
| 42 | __u64 value; |
42 | uint64_t value; |
| 43 | struct { |
43 | struct { |
| 44 | unsigned g : 1; /**< Global. */ |
44 | unsigned g : 1; /**< Global. */ |
| 45 | unsigned : 2; /**< Reserved. */ |
45 | unsigned : 2; /**< Reserved. */ |
| 46 | unsigned context : 13; /**< Context identifier. */ |
46 | unsigned context : 13; /**< Context identifier. */ |
| 47 | unsigned : 6; /**< Reserved. */ |
47 | unsigned : 6; /**< Reserved. */ |
| 48 | __u64 va_tag : 42; /**< Virtual Address Tag, bits 63:22. */ |
48 | uint64_t va_tag : 42; /**< Virtual Address Tag, bits 63:22. */ |
| 49 | } __attribute__ ((packed)); |
49 | } __attribute__ ((packed)); |
| 50 | }; |
50 | }; |
| 51 | 51 | ||
| 52 | typedef union tte_tag tte_tag_t; |
52 | typedef union tte_tag tte_tag_t; |
| 53 | 53 | ||
| 54 | /** Translation Table Entry - Data. */ |
54 | /** Translation Table Entry - Data. */ |
| 55 | union tte_data { |
55 | union tte_data { |
| 56 | __u64 value; |
56 | uint64_t value; |
| 57 | struct { |
57 | struct { |
| 58 | unsigned v : 1; /**< Valid. */ |
58 | unsigned v : 1; /**< Valid. */ |
| 59 | unsigned size : 2; /**< Page size of this entry. */ |
59 | unsigned size : 2; /**< Page size of this entry. */ |
| 60 | unsigned nfo : 1; /**< No-Fault-Only. */ |
60 | unsigned nfo : 1; /**< No-Fault-Only. */ |
| 61 | unsigned ie : 1; /**< Invert Endianness. */ |
61 | unsigned ie : 1; /**< Invert Endianness. */ |