SMMUv3.py (14068:9d3dd2493669) | SMMUv3.py (14252:1659a606447f) |
---|---|
1# Copyright (c) 2013, 2018-2019 ARM Limited 2# All rights reserved 3# 4# The license below extends only to copyright in the software and shall 5# not be construed as granting a license to any other intellectual 6# property including but not limited to intellectual property relating 7# to a hardware implementation of the functionality of the software 8# licensed hereunder. You may use the software subject to the license --- 26 unchanged lines hidden (view full) --- 35# 36# Authors: Stan Czerniawski 37# Giacomo Travaglini 38 39from m5.params import * 40from m5.proxy import * 41from m5.util.fdthelper import * 42from m5.SimObject import * | 1# Copyright (c) 2013, 2018-2019 ARM Limited 2# All rights reserved 3# 4# The license below extends only to copyright in the software and shall 5# not be construed as granting a license to any other intellectual 6# property including but not limited to intellectual property relating 7# to a hardware implementation of the functionality of the software 8# licensed hereunder. You may use the software subject to the license --- 26 unchanged lines hidden (view full) --- 35# 36# Authors: Stan Czerniawski 37# Giacomo Travaglini 38 39from m5.params import * 40from m5.proxy import * 41from m5.util.fdthelper import * 42from m5.SimObject import * |
43from m5.objects.MemObject import MemObject | 43from m5.objects.ClockedObject import ClockedObject |
44 | 44 |
45class SMMUv3SlaveInterface(MemObject): | 45class SMMUv3SlaveInterface(ClockedObject): |
46 type = 'SMMUv3SlaveInterface' 47 cxx_header = 'dev/arm/smmu_v3_slaveifc.hh' 48 49 slave = SlavePort('Device port') 50 ats_master = MasterPort('ATS master port') 51 ats_slave = SlavePort('ATS slave port') 52 53 port_width = Param.Unsigned(16, 'Port width in bytes (= 1 beat)') --- 14 unchanged lines hidden (view full) --- 68 tlb_lat = Param.Cycles(3, 'Main TLB lookup latency') 69 tlb_slots = Param.Cycles(3, 'Main TLB lookup slots') 70 71 prefetch_enable = Param.Bool(False, 72 'Enable prefetch') 73 prefetch_reserve_last_way = Param.Bool(True, 74 'Reserve last way of the main TLB for prefetched entries') 75 | 46 type = 'SMMUv3SlaveInterface' 47 cxx_header = 'dev/arm/smmu_v3_slaveifc.hh' 48 49 slave = SlavePort('Device port') 50 ats_master = MasterPort('ATS master port') 51 ats_slave = SlavePort('ATS slave port') 52 53 port_width = Param.Unsigned(16, 'Port width in bytes (= 1 beat)') --- 14 unchanged lines hidden (view full) --- 68 tlb_lat = Param.Cycles(3, 'Main TLB lookup latency') 69 tlb_slots = Param.Cycles(3, 'Main TLB lookup slots') 70 71 prefetch_enable = Param.Bool(False, 72 'Enable prefetch') 73 prefetch_reserve_last_way = Param.Bool(True, 74 'Reserve last way of the main TLB for prefetched entries') 75 |
76class SMMUv3(MemObject): | 76class SMMUv3(ClockedObject): |
77 type = 'SMMUv3' 78 cxx_header = 'dev/arm/smmu_v3.hh' 79 80 master = MasterPort('Master port') 81 master_walker = MasterPort( 82 'Master port for SMMU initiated HWTW requests (optional)') 83 control = SlavePort('Control port for accessing memory-mapped registers') 84 sample_period = Param.Clock('10us', 'Stats sample period') --- 125 unchanged lines hidden --- | 77 type = 'SMMUv3' 78 cxx_header = 'dev/arm/smmu_v3.hh' 79 80 master = MasterPort('Master port') 81 master_walker = MasterPort( 82 'Master port for SMMU initiated HWTW requests (optional)') 83 control = SlavePort('Control port for accessing memory-mapped registers') 84 sample_period = Param.Clock('10us', 'Stats sample period') --- 125 unchanged lines hidden --- |