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 ---