figure out the block size from devices attached to the bus otherwise use a default block size when no devices that care are attached
configs/common/FSConfig.py:
src/mem/bridge.cc:
src/mem/bridge.hh:
src/python/m5/objects/Bridge.py:
fix partial writes with a functional memory hack
src/mem/bus.cc:
src/mem/bus.hh:
src/python/m5/objects/Bus.py:
figure out the block size from devices attached to the bus otherwise use a default block size when no devices that care are attached
src/mem/packet.cc:
fix WriteInvalidateResp to not be a request that needs a response since it isn't
src/mem/port.hh:
by default return 0 for deviceBlockSize instead of panicing. This makes finding the block size the bus should use easier
--HG--
extra : convert_revision : 3fcfe95f9f392ef76f324ee8bd1d7f6de95c1a64
20 lines
847 B
Python
20 lines
847 B
Python
from m5 import build_env
|
|
from m5.params import *
|
|
from m5.proxy import *
|
|
from MemObject import MemObject
|
|
from Device import BadAddr
|
|
|
|
class Bus(MemObject):
|
|
type = 'Bus'
|
|
port = VectorPort("vector port for connecting devices")
|
|
bus_id = Param.Int(0, "blah")
|
|
clock = Param.Clock("1GHz", "bus clock speed")
|
|
width = Param.Int(64, "bus width (bytes)")
|
|
responder_set = Param.Bool(False, "Did the user specify a default responder.")
|
|
block_size = Param.Int(64, "The default block size if one isn't set by a device attached to the bus.")
|
|
if build_env['FULL_SYSTEM']:
|
|
responder = BadAddr(pio_addr=0x0, pio_latency="1ps")
|
|
default = Port(Self.responder.pio, "Default port for requests that aren't handled by a device.")
|
|
else:
|
|
default = Port("Default port for requests that aren't handled by a device.")
|