table_walker.cc (12392:e0dbdf30a2a5) table_walker.cc (12406:86bde4a026b5)
1/*
2 * Copyright (c) 2010, 2012-2017 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

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

1785 delete currState;
1786 }
1787 else if (!currState->delayed) {
1788 // delay is not set so there is no L2 to do
1789 // Don't finish the translation if a stage 2 look up is underway
1790 if (!currState->doingStage2) {
1791 statWalkServiceTime.sample(curTick() - currState->startTime);
1792 DPRINTF(TLBVerbose, "calling translateTiming again\n");
1/*
2 * Copyright (c) 2010, 2012-2017 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

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

1785 delete currState;
1786 }
1787 else if (!currState->delayed) {
1788 // delay is not set so there is no L2 to do
1789 // Don't finish the translation if a stage 2 look up is underway
1790 if (!currState->doingStage2) {
1791 statWalkServiceTime.sample(curTick() - currState->startTime);
1792 DPRINTF(TLBVerbose, "calling translateTiming again\n");
1793 currState->fault = tlb->translateTiming(currState->req, currState->tc,
1794 currState->transState, currState->mode);
1793 tlb->translateTiming(currState->req, currState->tc,
1794 currState->transState, currState->mode);
1795 statWalksShortTerminatedAtLevel[0]++;
1796 }
1797
1798 pending = false;
1799 nextWalk(currState->tc);
1800
1801 currState->req = NULL;
1802 currState->tc = NULL;

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

1830 currState->tc, currState->mode);
1831 statWalksShortTerminatedAtLevel[1]++;
1832 }
1833 else {
1834 // Don't finish the translation if a stage 2 look up is underway
1835 if (!currState->doingStage2) {
1836 statWalkServiceTime.sample(curTick() - currState->startTime);
1837 DPRINTF(TLBVerbose, "calling translateTiming again\n");
1795 statWalksShortTerminatedAtLevel[0]++;
1796 }
1797
1798 pending = false;
1799 nextWalk(currState->tc);
1800
1801 currState->req = NULL;
1802 currState->tc = NULL;

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

1830 currState->tc, currState->mode);
1831 statWalksShortTerminatedAtLevel[1]++;
1832 }
1833 else {
1834 // Don't finish the translation if a stage 2 look up is underway
1835 if (!currState->doingStage2) {
1836 statWalkServiceTime.sample(curTick() - currState->startTime);
1837 DPRINTF(TLBVerbose, "calling translateTiming again\n");
1838 currState->fault = tlb->translateTiming(currState->req,
1839 currState->tc, currState->transState, currState->mode);
1838 tlb->translateTiming(currState->req, currState->tc,
1839 currState->transState, currState->mode);
1840 statWalksShortTerminatedAtLevel[1]++;
1841 }
1842 }
1843
1844
1845 stateQueues[L2].pop_front();
1846 pending = false;
1847 nextWalk(currState->tc);

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

1910 currState->delayed = false;
1911 delete currState;
1912 } else if (!currState->delayed) {
1913 // No additional lookups required
1914 // Don't finish the translation if a stage 2 look up is underway
1915 if (!currState->doingStage2) {
1916 DPRINTF(TLBVerbose, "calling translateTiming again\n");
1917 statWalkServiceTime.sample(curTick() - currState->startTime);
1840 statWalksShortTerminatedAtLevel[1]++;
1841 }
1842 }
1843
1844
1845 stateQueues[L2].pop_front();
1846 pending = false;
1847 nextWalk(currState->tc);

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

1910 currState->delayed = false;
1911 delete currState;
1912 } else if (!currState->delayed) {
1913 // No additional lookups required
1914 // Don't finish the translation if a stage 2 look up is underway
1915 if (!currState->doingStage2) {
1916 DPRINTF(TLBVerbose, "calling translateTiming again\n");
1917 statWalkServiceTime.sample(curTick() - currState->startTime);
1918 currState->fault = tlb->translateTiming(currState->req, currState->tc,
1919 currState->transState,
1920 currState->mode);
1918 tlb->translateTiming(currState->req, currState->tc,
1919 currState->transState, currState->mode);
1921 statWalksLongTerminatedAtLevel[(unsigned) curr_lookup_level]++;
1922 }
1923
1924 pending = false;
1925 nextWalk(currState->tc);
1926
1927 currState->req = NULL;
1928 currState->tc = NULL;

--- 340 unchanged lines hidden ---
1920 statWalksLongTerminatedAtLevel[(unsigned) curr_lookup_level]++;
1921 }
1922
1923 pending = false;
1924 nextWalk(currState->tc);
1925
1926 currState->req = NULL;
1927 currState->tc = NULL;

--- 340 unchanged lines hidden ---