misc: Clean up and complete the gem5<->SystemC-TLM bridge [1/10]
Review Request #3527 - Created June 23, 2016 and submitted
| Information | |
|---|---|
| Christian Menard | |
| gem5 | |
| default | |
| 3528 | |
| Reviewers | |
| Default | |
Changeset 11794:3b95cfab373f
---------------------------
misc: Clean up and complete the gem5<->SystemC-TLM bridge [1/10]The current TLM bridge only provides a Slave Port that allows the gem5 world to
send request to the SystemC world. This patch series refractors and cleans up
the existing code, and adds a Master Port that allows the SystemC world to send
requests to the gem5 world.This patch:
* Restructure the existing sources in preparation of the addition of the new
Master Port.
* Refractor names to allow for distinction of the slave and master port.
* Replace the Makefile by a SConstruct.
The examples provided in util/tlm (now util/tlm/examples/slave_port) still compile and run error free.
please build your patch on top of this: http://reviews.gem5.org/r/3477/
I hope that this patch will be comitted to gem5 soon since it got already a lot of ship its.So we will avoid merge problems ;)
Change Summary:
Rebase patch on #3477, patch does not apply cleanly anymor because of missing changes from #3477, selecting #3477 as parrent diff resulted in errors...
Depends On: |
|
||
|---|---|---|---|
Diff: |
Revision 2 (+1810 -1632) |
Change Summary:
Rebase the patch on cdb94f2332a6 and respect changes from d2e815b98287
Diff: |
Revision 3 (+436 -250) |
|---|
Change Summary:
Fix the patch (It didn't apply cleanly)
Depends On: |
|
||||
|---|---|---|---|---|---|
Diff: |
Revision 4 (+430 -244) |
Ship It!
Change Summary:
Updated the diff: rebased on 11691 and generated with mq
Diff: |
Revision 5 (+436 -250) |
|---|
Thanks for this. There are a few minor issues and style questions.
-
util/tlm/examples/slave_port/Makefile (Diff revision 5) -
Just add the additional Copyright line before "All rights reserved."
-
util/tlm/examples/slave_port/Makefile (Diff revision 5) -
Please avoid changing whitespace (even if it is wrong). That should be done separately.
-
util/tlm/examples/slave_port/Makefile (Diff revision 5) -
Just leave Authors on the top line and indent your name.
-
util/tlm/examples/slave_port/Makefile (Diff revision 5) -
Both of these lines should use pkg-config.
I would suggest to do that as a separate patch though, and do it before this patch.
-
util/tlm/examples/slave_port/Makefile (Diff revision 5) -
could you make a define for the directory rather?
-
util/tlm/examples/slave_port/Makefile (Diff revision 5) -
c++11
-
util/tlm/examples/slave_port/Makefile (Diff revision 5) -
This is a bit dubious, is it not?
-
util/tlm/examples/slave_port/main.cc (Diff revision 5) -
Same as before.
-
util/tlm/sim_control.cc (Diff revision 5) -
Same as before
-
util/tlm/sim_control.cc (Diff revision 5) -
keep the comma on the first line
name,
other name,
yet another name -
util/tlm/sim_control.cc (Diff revision 5) -
spurious change
-
util/tlm/sim_control.cc (Diff revision 5) -
fits on the line? less than 78 char?
-
util/tlm/sim_control.cc (Diff revision 5) -
again, spurious change
-
util/tlm/sim_control.cc (Diff revision 5) -
i'm not sure why this has changed
-
util/tlm/sim_control.cc (Diff revision 5) -
ame here
-
util/tlm/sim_control.cc (Diff revision 5) -
yet another one
-
util/tlm/payload_event.hh (Diff revision 5) -
Same as before
-
util/tlm/payload_event.hh (Diff revision 5) -
Great. Could you provide a bit more comments though. At the moment it is difficult to grasp.
-
util/tlm/sc_slave_port.hh (Diff revision 5) -
Same as before
-
util/tlm/sc_slave_port.cc (Diff revision 5) -
You may want to call this SCSlavePort or TLMSlavePort or similar to avoid confusion.
-
util/tlm/sim_control.hh (Diff revision 5) -
Same as before
Summary: |
|
||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Description: |
|
||||||||||||
Branch: |
|
||||||||||||
Diff: |
Revision 6 (+1704 -1647) |
Summary: |
|
||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Description: |
|
-
util/tlm/README (Diff revision 6) -
Both directions are implemented, Initiator (Master) and Target (Slave)
-
util/tlm/examples/slave_port/sc_target.cc (Diff revision 6) -
once the patch is accepted i will change this to something like this:
unsigned int size = 1024 * 1024 * 1024; memory = (unsigned char *)mmap(NULL, size, PROT_READ | PROT_WRITE, MAP_PRIVATE | MAP_ANON | MAP_NORESERVE, -1, 0);
Description: |
|
||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Diff: |
Revision 7 (+1806 -1647) |
Summary: |
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Description: |
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Diff: |
Revision 8 (+1795 -1634) |
Description: |
|
|---|
Description: |
|
|||||||||||||||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Diff: |
Revision 9 (+1820 -1648) |
Ship It!
Summary: |
|
|||||||||||||||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Description: |
|
