ruby: message buffers: significant changes
Review Request #2348 - Created Aug. 15, 2014 and submitted
| Information | |
|---|---|
| Nilay Vaish | |
| gem5 | |
| default | |
| Reviewers | |
| Default | |
Changeset 10293:670b9fb93f37 --------------------------- ruby: message buffers: significant changes This patch is the final patch in a series of patches. The aim of the series is to make ruby more configurable than it was. More specifically, the connections between controllers are not at all possible (unless one is ready to make significant changes to the coherence protocol). Moreover the buffers themselves are magically connected to the network inside the slicc code. These connections are not part of the configuration file. This patch makes changes so that these connections will now be made in the python configuration files associated with the protocols. This requires each state machine to expose the message buffers it uses for input and output. So, the patch makes these buffers configurable members of the machines. The patch drops the slicc code that usd to connect these buffers to the network. Now these buffers are exposed to the python configuration system as Master and Slave ports. In the configuration files, any master port can be connected any slave port. The file pyobject.cc has been modified to take care of allocating the actual message buffer. This is inline with how other port connections work.
Issue Summary
5
2
2
1
| Description | From | Last Updated | Status |
|---|---|---|---|
| This probably breaks a bunch of python scripts as well? | Andreas Hansson | Aug. 24, 2014, 7:25 a.m. | Open |
| I fear this will bugger up the python utilities. | Andreas Hansson | Aug. 24, 2014, 7:25 a.m. | Open |
Posted (Aug. 24, 2014, 7:25 a.m.)
-
build_opts/NULL (Diff revision 1) -
Could you elaborate on this one? Are we also transitioning the Ruby tests to use the NULL ISA?
-
src/cpu/testers/traffic_gen/generators.cc (Diff revision 1) -
This probably breaks a bunch of python scripts as well?
-
src/mem/ruby/network/garnet/fixed-pipeline/NetworkInterface_d.cc (Diff revision 1) -
Can even use range-based for to make it neater
-
src/mem/ruby/slicc_interface/AbstractController.hh (Diff revision 1) -
Is this a bug fix?
-
src/proto/packet.proto (Diff revision 1) -
I fear this will bugger up the python utilities.
I'm not sure I understand how the MessageBuffer relates to the existing ports in gem5. Is a MessageBuffer a kind of channel in TLM terminology? Would it not be possible to make the buffer either input or output and then simply connect the ports? Perhaps I'm missing something here as I'm not too familiar with Ruby.
Review request changed
Updated (Aug. 25, 2014, 1:01 p.m.)
Description: |
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Diff: |
Revision 2 (+1112 -843) |
