isa.cc (13826:34a9929c35eb) | isa.cc (13881:955558193370) |
---|---|
1/* 2 * Copyright (c) 2010-2018 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 --- 1205 unchanged lines hidden (view full) --- 1214 // in the tlb the last level of lookup only. 1215 // TLB Invalidate by VA, Hyp mode 1216 case MISCREG_TLBIMVAH: 1217 case MISCREG_TLBIMVALH: 1218 { 1219 assert32(tc); 1220 scr = readMiscReg(MISCREG_SCR, tc); 1221 | 1/* 2 * Copyright (c) 2010-2018 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 --- 1205 unchanged lines hidden (view full) --- 1214 // in the tlb the last level of lookup only. 1215 // TLB Invalidate by VA, Hyp mode 1216 case MISCREG_TLBIMVAH: 1217 case MISCREG_TLBIMVALH: 1218 { 1219 assert32(tc); 1220 scr = readMiscReg(MISCREG_SCR, tc); 1221 |
1222 TLBIMVAA tlbiOp(EL1, haveSecurity && !scr.ns, | 1222 TLBIMVAA tlbiOp(EL2, haveSecurity && !scr.ns, |
1223 mbits(newVal, 31,12), true); 1224 1225 tlbiOp(tc); 1226 return; 1227 } 1228 // TLB Invalidate by VA, Hyp mode, Inner Shareable 1229 case MISCREG_TLBIMVAHIS: 1230 case MISCREG_TLBIMVALHIS: 1231 { 1232 assert32(tc); 1233 scr = readMiscReg(MISCREG_SCR, tc); 1234 | 1223 mbits(newVal, 31,12), true); 1224 1225 tlbiOp(tc); 1226 return; 1227 } 1228 // TLB Invalidate by VA, Hyp mode, Inner Shareable 1229 case MISCREG_TLBIMVAHIS: 1230 case MISCREG_TLBIMVALHIS: 1231 { 1232 assert32(tc); 1233 scr = readMiscReg(MISCREG_SCR, tc); 1234 |
1235 TLBIMVAA tlbiOp(EL1, haveSecurity && !scr.ns, | 1235 TLBIMVAA tlbiOp(EL2, haveSecurity && !scr.ns, |
1236 mbits(newVal, 31,12), true); 1237 1238 tlbiOp.broadcast(tc); 1239 return; 1240 } 1241 // mcr tlbiipas2l(is) is invalidating all matching entries 1242 // regardless of the level of lookup, since in gem5 we cache 1243 // in the tlb the last level of lookup only. --- 98 unchanged lines hidden (view full) --- 1342 tlbiOp.broadcast(tc); 1343 return; 1344 } 1345 // TLB Invalidate All, Hyp mode 1346 case MISCREG_TLBIALLH: 1347 { 1348 assert32(tc); 1349 | 1236 mbits(newVal, 31,12), true); 1237 1238 tlbiOp.broadcast(tc); 1239 return; 1240 } 1241 // mcr tlbiipas2l(is) is invalidating all matching entries 1242 // regardless of the level of lookup, since in gem5 we cache 1243 // in the tlb the last level of lookup only. --- 98 unchanged lines hidden (view full) --- 1342 tlbiOp.broadcast(tc); 1343 return; 1344 } 1345 // TLB Invalidate All, Hyp mode 1346 case MISCREG_TLBIALLH: 1347 { 1348 assert32(tc); 1349 |
1350 TLBIALLN tlbiOp(EL1, true); | 1350 TLBIALLN tlbiOp(EL2, true); |
1351 tlbiOp(tc); 1352 return; 1353 } 1354 // TLB Invalidate All, Hyp mode, Inner Shareable 1355 case MISCREG_TLBIALLHIS: 1356 { 1357 assert32(tc); 1358 | 1351 tlbiOp(tc); 1352 return; 1353 } 1354 // TLB Invalidate All, Hyp mode, Inner Shareable 1355 case MISCREG_TLBIALLHIS: 1356 { 1357 assert32(tc); 1358 |
1359 TLBIALLN tlbiOp(EL1, true); | 1359 TLBIALLN tlbiOp(EL2, true); |
1360 tlbiOp.broadcast(tc); 1361 return; 1362 } 1363 // AArch64 TLB Invalidate All, EL3 1364 case MISCREG_TLBI_ALLE3: 1365 { 1366 assert64(tc); 1367 --- 773 unchanged lines hidden --- | 1360 tlbiOp.broadcast(tc); 1361 return; 1362 } 1363 // AArch64 TLB Invalidate All, EL3 1364 case MISCREG_TLBI_ALLE3: 1365 { 1366 assert64(tc); 1367 --- 773 unchanged lines hidden --- |