pagetable.hh (10037:5cac77888310) pagetable.hh (10558:426665ec11a9)
1/*
2 * Copyright (c) 2010, 2012-2013 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

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

142 bool shareable;
143 bool outerShareable;
144
145 // Access permissions
146 bool xn; // Execute Never
147 bool pxn; // Privileged Execute Never (LPAE only)
148
149 //Construct an entry that maps to physical address addr for SE mode
1/*
2 * Copyright (c) 2010, 2012-2013 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

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

142 bool shareable;
143 bool outerShareable;
144
145 // Access permissions
146 bool xn; // Execute Never
147 bool pxn; // Privileged Execute Never (LPAE only)
148
149 //Construct an entry that maps to physical address addr for SE mode
150 TlbEntry(Addr _asn, Addr _vaddr, Addr _paddr) :
150 TlbEntry(Addr _asn, Addr _vaddr, Addr _paddr,
151 bool uncacheable, bool read_only) :
151 pfn(_paddr >> PageShift), size(PageBytes - 1), vpn(_vaddr >> PageShift),
152 attributes(0), lookupLevel(L1), asid(_asn), vmid(0), N(0),
152 pfn(_paddr >> PageShift), size(PageBytes - 1), vpn(_vaddr >> PageShift),
153 attributes(0), lookupLevel(L1), asid(_asn), vmid(0), N(0),
153 innerAttrs(0), outerAttrs(0), ap(0), hap(0x3),
154 innerAttrs(0), outerAttrs(0), ap(read_only ? 0x3 : 0), hap(0x3),
154 domain(DomainType::Client), mtype(MemoryType::StronglyOrdered),
155 longDescFormat(false), isHyp(false), global(false), valid(true),
155 domain(DomainType::Client), mtype(MemoryType::StronglyOrdered),
156 longDescFormat(false), isHyp(false), global(false), valid(true),
156 ns(true), nstid(true), el(0), nonCacheable(false), shareable(false),
157 outerShareable(false), xn(0), pxn(0)
157 ns(true), nstid(true), el(0), nonCacheable(uncacheable),
158 shareable(false), outerShareable(false), xn(0), pxn(0)
158 {
159 // no restrictions by default, hap = 0x3
160
161 // @todo Check the memory type
159 {
160 // no restrictions by default, hap = 0x3
161
162 // @todo Check the memory type
163 if (read_only)
164 warn("ARM TlbEntry does not support read-only mappings\n");
162 }
163
164 TlbEntry() :
165 pfn(0), size(0), vpn(0), attributes(0), lookupLevel(L1), asid(0),
166 vmid(0), N(0), innerAttrs(0), outerAttrs(0), ap(0), hap(0x3),
167 domain(DomainType::Client), mtype(MemoryType::StronglyOrdered),
168 longDescFormat(false), isHyp(false), global(false), valid(true),
169 ns(true), nstid(true), el(0), nonCacheable(false),

--- 182 unchanged lines hidden ---
165 }
166
167 TlbEntry() :
168 pfn(0), size(0), vpn(0), attributes(0), lookupLevel(L1), asid(0),
169 vmid(0), N(0), innerAttrs(0), outerAttrs(0), ap(0), hap(0x3),
170 domain(DomainType::Client), mtype(MemoryType::StronglyOrdered),
171 longDescFormat(false), isHyp(false), global(false), valid(true),
172 ns(true), nstid(true), el(0), nonCacheable(false),

--- 182 unchanged lines hidden ---