Giacomo, if you're proposing linking in the systemc library and then adding
wrappers to somehow plug that into gem5's underlying mechanisms, I'm not
sure that's technically feasible since the existing implementation isn't
intended to be built on top of something else. Also a lot of the mechanisms
are built into base classes, and so if you change what data members are in
the base classes, ie the internal implementation, you break existing
binaries. There isn't much a wrapper can do in that case.

If you're proposing rebuilding gem5 on top of systemc, there are a variety
of reasons I'm not proposing that which I've gone through exhaustively (at
least I feel exhausted from it) in other places (you didn't miss it, that
was internally at Google).

This approach addresses best addresses the problem we (Google) are trying
to solve, which is to leverage existing models vendors may have developed
already in systemc, or which may be developed primarily in systemc in the
future. Rather than ask them to rewrite their models as gem5 models,
simultaneously develop two models, one for systemc and one for gem5, or to
architect their model as a core with two interface layers, one for each
system, any of which may be prohibitive from an engineering effort
perspective, this way they can write a systemc model (or take one they
already wrote) and then just recompile it with a different systemc header
and use it directly as a model within gem5.

There will be very little modification to gem5 proper for this, and so if
this sort of integration doesn't do what you want you can just ignore it or
even turn it off and not suffer any overhead, and then use whatever other
mechanism you like.

Matthias, while being able to use closed source models would be nice, it
isn't the problem we're trying to solve, and reimplementing gem5 on top of
systemc would be a lot more work that doesn't really gain us anything.

Jason, thanks. Please start with that python CL if you have a chance since
I think it's about ready to go in, Andreas just wanted you to ack it before
checking it in.

Gabe


On Fri, Jun 8, 2018 at 7:15 AM Jason Lowe-Power <ja...@lowepower.com> wrote:

> I'll have some time next week to dig into this.
>
> Cheers,
> Jason
>
> On Fri, Jun 8, 2018, 7:13 AM Dr.-Ing. Matthias Jung <jun...@eit.uni-kl.de>
> wrote:
>
> > Hi Giacomo, Gabe,
> >
> > I'm a large supporter of SystemC because its 'the' IEEE standard for
> > simulation, therefore I support always activities towards that direction.
> > However I have a similar concern like Giacomo.
> >
> > I would prefer to just 'use' the SystemC kernel by accellera as kernel
> for
> > gem5 in order to have a proper separation between model and kernel. I
> think
> > its very interesting for many people to use gem5 in their SystemC
> > environment also together with commercial IP SystemC models that have a
> > closed source. With the current aimed approach it would be required to
> have
> > access to the source code of all used models in the system and commercial
> > SystemC tools like Synopsys Platform Architect etc. could not be used.
> >
> >
> > Best,
> > Matthias
> >
> > 8. Juni 2018 15:47, "Giacomo Travaglini" <giacomo.travagl...@arm.com>
> > schrieb:
> >
> > > Hi Gabe,
> > >
> > > I have had a quick glance at the patches and there's one thing I don't
> > understand:
> > >
> > > It seems to me that you are sort of reimplementing the SystemC runtime
> > kernel inside
> > >
> > > gem5 for scratch.
> > >
> > > Is there a reason for doing it? Can't we just link to the external
> > SystemC library
> > >
> > > and just write some wrappers?
> > >
> > > Thanks in advance for the clarifications
> > >
> > > Giacomo
> > >
> > > ________________________________
> > > From: gem5-dev <gem5-dev-boun...@gem5.org> on behalf of Gabe Black <
> > gabebl...@google.com>
> > > Sent: 08 June 2018 06:32:52
> > > To: gem5 Developer List
> > > Subject: [gem5-dev] systemc reviews
> > >
> > > Hi folks. I've posted a lot of systemc reviews recently, and I expect
> to
> > > keep doing so for the foreseeable future. To keep the pool of pending
> CLs
> > > from growing from a lot to unmanageably a lot please don't let them sit
> > too
> > > long if you feel comfortable trying to review them. Alot of these
> earlier
> > > ones aren't very interesting, they're just defining header files,
> stubbed
> > > out implementations, or importing code from the Accellera version of
> > > SystemC. There are a few that are a little more interesting though, to
> > keep
> > > you from getting bored ;-)
> > >
> > > Gabe
> > > _______________________________________________
> > > gem5-dev mailing list
> > > gem5-dev@gem5.org
> > > http://m5sim.org/mailman/listinfo/gem5-dev
> > > IMPORTANT NOTICE: The contents of this email and any attachments are
> > confidential and may also be
> > > privileged. If you are not the intended recipient, please notify the
> > sender immediately and do not
> > > disclose the contents to any other person, use it for any purpose, or
> > store or copy the information
> > > in any medium. Thank you.
> > > _______________________________________________
> > > gem5-dev mailing list
> > > gem5-dev@gem5.org
> > > http://m5sim.org/mailman/listinfo/gem5-dev
> > _______________________________________________
> > gem5-dev mailing list
> > gem5-dev@gem5.org
> > http://m5sim.org/mailman/listinfo/gem5-dev
> _______________________________________________
> gem5-dev mailing list
> gem5-dev@gem5.org
> http://m5sim.org/mailman/listinfo/gem5-dev
_______________________________________________
gem5-dev mailing list
gem5-dev@gem5.org
http://m5sim.org/mailman/listinfo/gem5-dev

Reply via email to