Re: [gem5-dev] Adding a systemc TLM DMI like mechanism to gem5

2019-03-19 Thread Gabe Black
To make it easier to have a discussion about this proposed API, I copied it into a document over here: https://docs.google.com/document/d/1GBpHjWtjH_AowGqb8pAk9dhWtMdukMALoXmlzwpPgOM/edit?usp=sharing Please take a look when you have a chance. Gabe On Mon, Mar 18, 2019 at 6:51 PM Gabe Black

Re: [gem5-dev] Adding a systemc TLM DMI like mechanism to gem5

2019-03-18 Thread Gabe Black
Hello again folks. I'm tempted to write up a doc which describes my thoughts on this, but for the sake of expediency I'm just going to send a "quick" email for now. (edit: This got pretty long. Maybe I should have put it in a doc. Too late now, maybe later?) TLM DMI socket API: When a TLM

Re: [gem5-dev] Adding a systemc TLM DMI like mechanism to gem5

2019-03-14 Thread Gabe Black
I think gem5 would benefit from it for the same reason SystemC simulations do, namely speeding up simulations when doing fast forwarding (perhaps with a binary translating CPU... hypothetically...). It would also be very nice to enable software development for not-yet-existing hardware that has

Re: [gem5-dev] Adding a systemc TLM DMI like mechanism to gem5

2019-03-14 Thread Dr. Matthias Jung
Hi Gabe, one of the main reasons for DMI is to speedup simulations, similar to the temporal decoupling in TLM LT or debug transport in order to make the boot-loading. AFAIK DMI is mainly used in virtual platforms that target software development and not hardware architecture design space

Re: [gem5-dev] Adding a systemc TLM DMI like mechanism to gem5

2019-03-14 Thread Gabe Black
Bump again. On Fri, Mar 1, 2019 at 2:31 PM Gabe Black wrote: > Bump... > > On Wed, Feb 27, 2019 at 9:13 PM Gabe Black wrote: > >> Hi folks. TLM is a communication protocol/mechanism built on top of >> systemc. It supports a mechanism called DMI which stands for direct memory >> interface. The

[gem5-dev] Adding a systemc TLM DMI like mechanism to gem5

2019-02-27 Thread Gabe Black
Hi folks. TLM is a communication protocol/mechanism built on top of systemc. It supports a mechanism called DMI which stands for direct memory interface. The idea is that an entity sending a request into the system can ask if the target can give it a pointer it can use to directly access that