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,
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)