[gem5-dev] Change in gem5/gem5[develop]: misc: Replace enable_if<>::type with enable_if<>.

2020-10-22 Thread Gabe Black (Gerrit) via gem5-dev
Gabe Black has uploaded this change for review. ( https://gem5-review.googlesource.com/c/public/gem5/+/36477 ) Change subject: misc: Replace enable_if<>::type with enable_if<>. .. misc: Replace enable_if<>::type with

[gem5-dev] Change in gem5/gem5[develop]: dev-arm: Fix VExpressFastmodel interrupt configs

2020-10-22 Thread Yu-hsin Wang (Gerrit) via gem5-dev
Yu-hsin Wang has submitted this change. ( https://gem5-review.googlesource.com/c/public/gem5/+/36455 ) Change subject: dev-arm: Fix VExpressFastmodel interrupt configs .. dev-arm: Fix VExpressFastmodel interrupt configs

[gem5-dev] Re: SimObject params() method

2020-10-22 Thread Gabe Black via gem5-dev
Also that (like the other mechanisms) means that there can be at most one C++ class for a given Params class. It would be impossible to have FooParams -> SimObj and BarParams -> SimObj since there is only room for one Params in a class. That said, we could turn the FooParams and BarParams into

[gem5-dev] Re: SimObject params() method

2020-10-22 Thread Gabe Black via gem5-dev
That would work, but we don't have includes in the middle of a class like that anywhere else in gem5 (that I can remember at least), which I think is for the best :-). Gabe On Thu, Oct 22, 2020 at 6:28 PM Gambord, Ryan via gem5-dev < gem5-dev@gem5.org> wrote: > @Gabe Black > Here is an example

[gem5-dev] Re: SimObject params() method

2020-10-22 Thread Gambord, Ryan via gem5-dev
@Gabe Black Here is an example of what this looks like. It requires slightly modifying the boilerplate code generated for params structs, and then moving the include from the top of the source file to inside the class. This brings the struct into the class namespace. This should work fine as

[gem5-dev] Re: SimObject params() method

2020-10-22 Thread Gabe Black via gem5-dev
I definitely agree that we need to use more namespaces and be better citizens in the global namespace. See https://gem5.atlassian.net/browse/GEM5-730 Mechanically, I don't think we can define something like Mem::Ruby::Network::BasicLink::Params since that would require adding a Params type to

[gem5-dev] Re: SimObject params() method

2020-10-22 Thread Gabe Black via gem5-dev
Ok, I'll make Params typedefs and params() usage targets of opportunity. Gabe On Thu, Oct 22, 2020 at 8:26 AM Jason Lowe-Power via gem5-dev < gem5-dev@gem5.org> wrote: > Hey Gabe, > > Thanks for bringing this up. I have also been bothered by the lack of > consistency with how params are used. I

[gem5-dev] Re: Changes to SE mode

2020-10-22 Thread Gabe Black via gem5-dev
For fans of the classics, you can look up my email with subject "Merging of FS and SE mode" from 2011, but I suspect that's too old for most people to have seen, and not completely the same as what I'm trying to do here. This is the other half of the workload concept which is already applied to FS

[gem5-dev] Change in gem5/gem5[develop]: x86: Create an SEWorkload for x86 linux.

2020-10-22 Thread Gabe Black (Gerrit) via gem5-dev
Gabe Black has submitted this change. ( https://gem5-review.googlesource.com/c/public/gem5/+/33902 ) Change subject: x86: Create an SEWorkload for x86 linux. .. x86: Create an SEWorkload for x86 linux. This doesn't do

[gem5-dev] Change in gem5/gem5[develop]: base,sim: Move BitUnion serialization support to bitunion.hh.

2020-10-22 Thread Gabe Black (Gerrit) via gem5-dev
Gabe Black has submitted this change. ( https://gem5-review.googlesource.com/c/public/gem5/+/36283 ) Change subject: base,sim: Move BitUnion serialization support to bitunion.hh. .. base,sim: Move BitUnion serialization

[gem5-dev] Change in gem5/gem5[develop]: sim: Move the serialization backend handlers to their own header.

2020-10-22 Thread Gabe Black (Gerrit) via gem5-dev
Gabe Black has submitted this change. ( https://gem5-review.googlesource.com/c/public/gem5/+/36281 ) Change subject: sim: Move the serialization backend handlers to their own header. .. sim: Move the serialization backend

[gem5-dev] Change in gem5/gem5[develop]: base: Narrow the applicability of the default to_number.

2020-10-22 Thread Gabe Black (Gerrit) via gem5-dev
Gabe Black has submitted this change. ( https://gem5-review.googlesource.com/c/public/gem5/+/36279 ) Change subject: base: Narrow the applicability of the default to_number. .. base: Narrow the applicability of the default

[gem5-dev] Change in gem5/gem5[develop]: sim: Refactor how serialization types are handled in the backend.

2020-10-22 Thread Gabe Black (Gerrit) via gem5-dev
Gabe Black has submitted this change. ( https://gem5-review.googlesource.com/c/public/gem5/+/36280 ) Change subject: sim: Refactor how serialization types are handled in the backend. .. sim: Refactor how serialization

[gem5-dev] Change in gem5/gem5[develop]: sim: Generalize the arrayParamOut and arrayParamIn functions.

2020-10-22 Thread Gabe Black (Gerrit) via gem5-dev
Gabe Black has submitted this change. ( https://gem5-review.googlesource.com/c/public/gem5/+/36277 ) Change subject: sim: Generalize the arrayParamOut and arrayParamIn functions. .. sim: Generalize the arrayParamOut and

[gem5-dev] Change in gem5/gem5[develop]: sim: Fix API comments for optParamIn.

2020-10-22 Thread Gabe Black (Gerrit) via gem5-dev
Gabe Black has submitted this change. ( https://gem5-review.googlesource.com/c/public/gem5/+/36278 ) Change subject: sim: Fix API comments for optParamIn. .. sim: Fix API comments for optParamIn. The top level comment was

[gem5-dev] Change in gem5/gem5[develop]: mem,stats: Update stats style for mem/probes and mem/qos

2020-10-22 Thread Hoa Nguyen (Gerrit) via gem5-dev
Hoa Nguyen has uploaded this change for review. ( https://gem5-review.googlesource.com/c/public/gem5/+/36476 ) Change subject: mem,stats: Update stats style for mem/probes and mem/qos .. mem,stats: Update stats style for

[gem5-dev] Change in gem5/gem5[develop]: mem-cache: Make (de)compression latencies params

2020-10-22 Thread Daniel Carvalho (Gerrit) via gem5-dev
Daniel Carvalho has uploaded this change for review. ( https://gem5-review.googlesource.com/c/public/gem5/+/36497 ) Change subject: mem-cache: Make (de)compression latencies params .. mem-cache: Make (de)compression

[gem5-dev] Change in gem5/gem5[develop]: python: Add support for Proxy division

2020-10-22 Thread Daniel Carvalho (Gerrit) via gem5-dev
Daniel Carvalho has uploaded this change for review. ( https://gem5-review.googlesource.com/c/public/gem5/+/36496 ) Change subject: python: Add support for Proxy division .. python: Add support for Proxy division Allow

[gem5-dev] Change in gem5/gem5[develop]: mem-cache: Undefine compression ratio of perfect compression

2020-10-22 Thread Daniel Carvalho (Gerrit) via gem5-dev
Daniel Carvalho has uploaded this change for review. ( https://gem5-review.googlesource.com/c/public/gem5/+/36495 ) Change subject: mem-cache: Undefine compression ratio of perfect compression .. mem-cache: Undefine

[gem5-dev] Re: SimObject params() method

2020-10-22 Thread Gambord, Ryan via gem5-dev
While we're thinking about the params implementations, I'd also like to propose that we stop cluttering the global namespace with collision-prone names: src/.../.../MySimObject.hh namespace NoClutter { class MySimObject : ::SimObject { #include params/MySimObject.hh }; };

[gem5-dev] Re: SimObject params() method

2020-10-22 Thread Jason Lowe-Power via gem5-dev
Another simple proposal: - Remove params() from the API (with deprecation) - Update objects that can easily be updated and remove the params() calls/casts. I think this is most cases of the params use outside of the constructor. - Don't worry about the others that use the params() function in many

[gem5-dev] Re: SimObject params() method

2020-10-22 Thread Giacomo Travaglini via gem5-dev
Let me add to the plate a simple proposal though still a bit verbose and probably not that different from a manual cast Defining a template method in SimObject: template Obj params() { return static_cast(_params); Or more secure: param = dynamic_cast(_params); assert(param);

[gem5-dev] Re: SimObject params() method

2020-10-22 Thread Jason Lowe-Power via gem5-dev
Hey Gabe, Thanks for bringing this up. I have also been bothered by the lack of consistency with how params are used. I can't think of an example of when you need to store the params object. I would be all for getting rid of the params() function and updating the documentation to say that it's

[gem5-dev] Change in gem5/gem5[develop]: mem-ruby: L1/L2 hit/miss tracking for MOESI_AMD_BASE/GPU_VIPER

2020-10-22 Thread Daniel Gerzhoy (Gerrit) via gem5-dev
Daniel Gerzhoy has submitted this change. ( https://gem5-review.googlesource.com/c/public/gem5/+/33915 ) Change subject: mem-ruby: L1/L2 hit/miss tracking for MOESI_AMD_BASE/GPU_VIPER .. mem-ruby: L1/L2 hit/miss tracking

[gem5-dev] Change in gem5/gem5[develop]: mem-ruby: L3 hit/miss tracking to MOESI_AMD_BASE-dir

2020-10-22 Thread Daniel Gerzhoy (Gerrit) via gem5-dev
Daniel Gerzhoy has submitted this change. ( https://gem5-review.googlesource.com/c/public/gem5/+/33314 ) Change subject: mem-ruby: L3 hit/miss tracking to MOESI_AMD_BASE-dir .. mem-ruby: L3 hit/miss tracking to

[gem5-dev] Change in gem5/gem5[develop]: mem-garnet: Fix garnet network interface stats

2020-10-22 Thread Jieming Yin (Gerrit) via gem5-dev
Jieming Yin has submitted this change. ( https://gem5-review.googlesource.com/c/public/gem5/+/36416 ) Change subject: mem-garnet: Fix garnet network interface stats .. mem-garnet: Fix garnet network interface stats Fixing a

[gem5-dev] Change in gem5/gem5[develop]: dev-arm: Fix VExpressFastmodel interrupt configs

2020-10-22 Thread Yu-hsin Wang (Gerrit) via gem5-dev
Yu-hsin Wang has uploaded this change for review. ( https://gem5-review.googlesource.com/c/public/gem5/+/36455 ) Change subject: dev-arm: Fix VExpressFastmodel interrupt configs .. dev-arm: Fix VExpressFastmodel interrupt

[gem5-dev] SimObject params() method

2020-10-22 Thread Gabe Black via gem5-dev
Hi folks. I'm looking at the SimObject header, and I see a few things in there which are marked as part of the API and maybe shouldn't be. Specifically I'm talking about the Params typedef, and the params() method. There is also the _params member variable which I can see being a part of the API