1# -*- mode:python -*-
2
3# Copyright (c) 2009 ARM Limited
4# All rights reserved.
5#
6# The license below extends only to copyright in the software and shall
7# not be construed as granting a license to any other intellectual
8# property including but not limited to intellectual property relating

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

32# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
33# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
34# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
35# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
36# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
37#
38# Authors: Ali Saidi
39
40from m5.defines import buildEnv
40from m5.SimObject import SimObject
41from m5.params import *
42from m5.proxy import *
43from MemObject import MemObject
44
45if buildEnv['FULL_SYSTEM']:
46 from MemObject import MemObject
45class ArmTableWalker(MemObject):
46 type = 'ArmTableWalker'
47 cxx_class = 'ArmISA::TableWalker'
48 port = Port("Port for TableWalker to do walk the translation with")
49 sys = Param.System(Parent.any, "system object parameter")
50 min_backoff = Param.Tick(0, "Minimum backoff delay after failed send")
51 max_backoff = Param.Tick(100000, "Minimum backoff delay after failed send")
52
48 class ArmTableWalker(MemObject):
49 type = 'ArmTableWalker'
50 cxx_class = 'ArmISA::TableWalker'
51 port = Port("Port for TableWalker to do walk the translation with")
52 sys = Param.System(Parent.any, "system object parameter")
53 min_backoff = Param.Tick(0, "Minimum backoff delay after failed send")
54 max_backoff = Param.Tick(100000, "Minimum backoff delay after failed send")
53
56
54class ArmTLB(SimObject):
55 type = 'ArmTLB'
56 cxx_class = 'ArmISA::TLB'
57 size = Param.Int(64, "TLB size")
61 if buildEnv['FULL_SYSTEM']:
62 walker = Param.ArmTableWalker(ArmTableWalker(), "HW Table walker")
58 walker = Param.ArmTableWalker(ArmTableWalker(), "HW Table walker")