arch: Resurrect the NOISA build target and rename it NULL
Review Request #1979 - Created Aug. 19, 2013 and submitted
| Information | |
|---|---|
| Andreas Hansson | |
| gem5 | |
| default | |
| Reviewers | |
| Default | |
Changeset 9849:d735ce2825ce --------------------------- arch: Resurrect the NOISA build target and rename it NULL This patch makes it possible to once again build gem5 without any ISA. The main purpose is to enable work around the interconnect and memory system without having to build any CPU models or device models. The regress script is updated to include the NULL ISA target. Currently no regressions make use of it, but all the testers could (and perhaps should) transition to it.
All regressions pass
Posted (Aug. 19, 2013, 9:17 a.m.)
In general this looks like a great idea; thanks! Just a couple of minor thoughts/questions: - This patch eliminates the arch/noisa directory, correct? - What do you think of changing the ISA name from 'no' to 'none'? Obviously not a huge issue, but it makes more sense to me. - What's the motivation for including all the devices? I can see where the NOISA target is useful for trace- or tester-driven memory-system simulations, but I have a hard time seeing a use case for devices in a NOISA system. In general, it seems unlikely that a NOISA system would have any notion of an OS, which would make it challenging to use devices. In fact, in terms of the traditional SE-vs-FS mode dichotomy, I expect the answer for NOISA would be "neither".
-
src/mem/cache/tags/base.cc (Diff revision 1) -
This seems relatively clunky... can we just add a .cc file in arch/no and define maxThreadsPerCPU there?
-
src/sim/stat_control.cc (Diff revision 1) -
I see that you're just carrying forward the old solution here, but it seems like it would be more general to put an equivalent ifdef inside cpu/base.hh and not clutter every file that includes cpu/base.hh with this (even though there's apparently only one file at this point). Also it seems like there's a danger that other files could still include cpu/base.hh without this ifdef, leading to inconsistencies.
Posted (Aug. 19, 2013, 9:42 a.m.)
-
src/mem/cache/tags/base.cc (Diff revision 1) -
And not define it in smt.hh? If cpu/smt.hh is not conditional here then we have to move the ifdef into that file.
-
src/sim/stat_control.cc (Diff revision 1) -
Avoiding cpu/base.hh has indeed been one of the main points with this patch. I am happy to move it in there, but I feel it to some extent just shifts the ugliness around.
-
util/regress (Diff revision 1) -
Perhaps we can make NOISA -> NONE and the arch no -> none (leaving us with a NONE_ISA defined automatically).
Review request changed
Updated (Aug. 26, 2013, 3:59 a.m.)
Summary: |
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Description: |
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||
Diff: |
Revision 2 (+575 -62) |
Ship It!
Ship It!
