isa.cc (10653:e3fc6bc7f97e) | isa.cc (10709:890269a13188) |
---|---|
1/* 2 * Copyright (c) 2010-2014 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 --- 1372 unchanged lines hidden (view full) --- 1381 target_el = 1; // el 0 and 1 are handled together 1382 scr = readMiscReg(MISCREG_SCR, tc); 1383 secure_lookup = haveSecurity && !scr.ns; 1384 sys = tc->getSystemPtr(); 1385 for (x = 0; x < sys->numContexts(); x++) { 1386 oc = sys->getThreadContext(x); 1387 assert(oc->getITBPtr() && oc->getDTBPtr()); 1388 asid = bits(newVal, 63, 48); | 1/* 2 * Copyright (c) 2010-2014 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 --- 1372 unchanged lines hidden (view full) --- 1381 target_el = 1; // el 0 and 1 are handled together 1382 scr = readMiscReg(MISCREG_SCR, tc); 1383 secure_lookup = haveSecurity && !scr.ns; 1384 sys = tc->getSystemPtr(); 1385 for (x = 0; x < sys->numContexts(); x++) { 1386 oc = sys->getThreadContext(x); 1387 assert(oc->getITBPtr() && oc->getDTBPtr()); 1388 asid = bits(newVal, 63, 48); |
1389 if (haveLargeAsid64) | 1389 if (!haveLargeAsid64) |
1390 asid &= mask(8); 1391 oc->getITBPtr()->flushAsid(asid, secure_lookup, target_el); 1392 oc->getDTBPtr()->flushAsid(asid, secure_lookup, target_el); 1393 CheckerCPU *checker = oc->getCheckerCpuPtr(); 1394 if (checker) { 1395 checker->getITBPtr()->flushAsid(asid, 1396 secure_lookup, target_el); 1397 checker->getDTBPtr()->flushAsid(asid, --- 538 unchanged lines hidden (view full) --- 1936 if (checker) { 1937 checker->getDTBPtr()->allCpusCaching(); 1938 checker->getITBPtr()->allCpusCaching(); 1939 } 1940 } 1941} 1942 1943void | 1390 asid &= mask(8); 1391 oc->getITBPtr()->flushAsid(asid, secure_lookup, target_el); 1392 oc->getDTBPtr()->flushAsid(asid, secure_lookup, target_el); 1393 CheckerCPU *checker = oc->getCheckerCpuPtr(); 1394 if (checker) { 1395 checker->getITBPtr()->flushAsid(asid, 1396 secure_lookup, target_el); 1397 checker->getDTBPtr()->flushAsid(asid, --- 538 unchanged lines hidden (view full) --- 1936 if (checker) { 1937 checker->getDTBPtr()->allCpusCaching(); 1938 checker->getITBPtr()->allCpusCaching(); 1939 } 1940 } 1941} 1942 1943void |
1944ISA::tlbiVA(ThreadContext *tc, MiscReg newVal, uint8_t asid, bool secure_lookup, 1945 uint8_t target_el) | 1944ISA::tlbiVA(ThreadContext *tc, MiscReg newVal, uint16_t asid, 1945 bool secure_lookup, uint8_t target_el) |
1946{ | 1946{ |
1947 if (haveLargeAsid64) | 1947 if (!haveLargeAsid64) |
1948 asid &= mask(8); 1949 Addr va = ((Addr) bits(newVal, 43, 0)) << 12; 1950 System *sys = tc->getSystemPtr(); 1951 for (int x = 0; x < sys->numContexts(); x++) { 1952 ThreadContext *oc = sys->getThreadContext(x); 1953 assert(oc->getITBPtr() && oc->getDTBPtr()); 1954 oc->getITBPtr()->flushMvaAsid(va, asid, 1955 secure_lookup, target_el); --- 104 unchanged lines hidden --- | 1948 asid &= mask(8); 1949 Addr va = ((Addr) bits(newVal, 43, 0)) << 12; 1950 System *sys = tc->getSystemPtr(); 1951 for (int x = 0; x < sys->numContexts(); x++) { 1952 ThreadContext *oc = sys->getThreadContext(x); 1953 assert(oc->getITBPtr() && oc->getDTBPtr()); 1954 oc->getITBPtr()->flushMvaAsid(va, asid, 1955 secure_lookup, target_el); --- 104 unchanged lines hidden --- |