else:
system.cpu[i].connectAllPorts(system.membus)
- # Add a snoop filter to the membus if there are caches above it
- if (options.l2cache or options.caches) and \
- (system.membus.snoop_filter == NULL):
- system.membus.snoop_filter = SnoopFilter()
-
return system
# ExternalSlave provides a "port", but when that port connects to a cache,
response_latency = 2
snoop_response_latency = 4
+ # Use a snoop-filter by default
+ snoop_filter = SnoopFilter(lookup_latency = 1)
+
# This specialisation of the coherent crossbar is to be considered
# the point of coherency, as there are no (coherent) downstream
# caches.
cpu.createInterruptController()
cpu.connectAllPorts(sha_bus if sha_bus != None else system.membus,
system.membus)
- # System has caches before the membus -> add snoop filter
- if sha_bus and system.membus.snoop_filter == NULL:
- system.membus.snoop_filter = SnoopFilter()
def init_kvm(self, system):
"""Do KVM-specific system initialization.
self.init_kvm(system)
sha_bus = self.create_caches_shared(system)
- # System has caches before the membus -> add snoop filter
- if sha_bus and system.membus.snoop_filter == NULL:
- system.membus.snoop_filter = SnoopFilter()
+
for cpu in system.cpu:
self.init_cpu(system, cpu, sha_bus)