table_walker.hh (7404:bfc74724914e) table_walker.hh (7406:ddc26bd4ea7d)
1/*
2 * Copyright (c) 2010 ARM Limited
3 * All rights reserved
4 *
5 * The license below extends only to copyright in the software and shall
6 * not be construed as granting a license to any other intellectual
7 * property including but not limited to intellectual property relating
8 * to a hardware implementation of the functionality of the software

--- 86 unchanged lines hidden (view full) ---

95 if (supersection())
96 panic("Super sections not implemented\n");
97 return bits(data, 31,20);
98 }
99
100 /** Is the translation global (no asid used)? */
101 bool global() const
102 {
1/*
2 * Copyright (c) 2010 ARM Limited
3 * All rights reserved
4 *
5 * The license below extends only to copyright in the software and shall
6 * not be construed as granting a license to any other intellectual
7 * property including but not limited to intellectual property relating
8 * to a hardware implementation of the functionality of the software

--- 86 unchanged lines hidden (view full) ---

95 if (supersection())
96 panic("Super sections not implemented\n");
97 return bits(data, 31,20);
98 }
99
100 /** Is the translation global (no asid used)? */
101 bool global() const
102 {
103 return bits(data, 17);
103 return bits(data, 4);
104 }
105
106 /** Is the translation not allow execution? */
107 bool xn() const
108 {
109 return bits(data, 17);
110 }
111

--- 13 unchanged lines hidden (view full) ---

125 Addr l2Addr() const
126 {
127 return mbits(data, 31,10);
128 }
129
130 /** Memory region attributes: ARM DDI 0406B: B3-32 */
131 uint8_t texcb() const
132 {
104 }
105
106 /** Is the translation not allow execution? */
107 bool xn() const
108 {
109 return bits(data, 17);
110 }
111

--- 13 unchanged lines hidden (view full) ---

125 Addr l2Addr() const
126 {
127 return mbits(data, 31,10);
128 }
129
130 /** Memory region attributes: ARM DDI 0406B: B3-32 */
131 uint8_t texcb() const
132 {
133 return bits(data, 2) | bits(data,3) << 1 | bits(data, 12, 14) << 2;
133 return bits(data, 2) | bits(data,3) << 1 | bits(data, 14, 12) << 2;
134 }
135
136 };
137
138 /** Level 2 page table descriptor */
139 struct L2Descriptor {
140
141 uint32_t data;

--- 27 unchanged lines hidden (view full) ---

169 {
170 return bits(data, 5, 4) | (bits(data, 9) << 2);
171 }
172
173 /** Memory region attributes: ARM DDI 0406B: B3-32 */
174 uint8_t texcb() const
175 {
176 return large() ?
134 }
135
136 };
137
138 /** Level 2 page table descriptor */
139 struct L2Descriptor {
140
141 uint32_t data;

--- 27 unchanged lines hidden (view full) ---

169 {
170 return bits(data, 5, 4) | (bits(data, 9) << 2);
171 }
172
173 /** Memory region attributes: ARM DDI 0406B: B3-32 */
174 uint8_t texcb() const
175 {
176 return large() ?
177 (bits(data, 2) | (bits(data,3) << 1) | (bits(data, 12, 14) << 2)) :
178 (bits(data, 2) | (bits(data,3) << 1) | (bits(data, 6, 8) << 2));
177 (bits(data, 2) | (bits(data,3) << 1) | (bits(data, 14, 12) << 2)) :
178 (bits(data, 2) | (bits(data,3) << 1) | (bits(data, 8, 6) << 2));
179 }
180
181 /** Return the physical frame, bits shifted right */
182 Addr pfn() const
183 {
184 return large() ? bits(data, 31, 16) : bits(data, 31, 12);
185 }
186

--- 86 unchanged lines hidden ---
179 }
180
181 /** Return the physical frame, bits shifted right */
182 Addr pfn() const
183 {
184 return large() ? bits(data, 31, 16) : bits(data, 31, 12);
185 }
186

--- 86 unchanged lines hidden ---