ArmTLB.py (7404:bfc74724914e) ArmTLB.py (8756:cce8cf3906ca)
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
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
41from m5.SimObject import SimObject
42from m5.params import *
43from m5.proxy import *
40from m5.SimObject import SimObject
41from m5.params import *
42from m5.proxy import *
43from MemObject import MemObject
44
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")
47
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")
55
53
56
57class ArmTLB(SimObject):
58 type = 'ArmTLB'
59 cxx_class = 'ArmISA::TLB'
60 size = Param.Int(64, "TLB size")
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")