13402:80646bbb5c55 |
07-Nov-2018 |
Gabe Black <gabeblack@google.com> |
systemc: Stop using python init to set up predefined message ids.
We can now be sure register_id will work even mid static initializers, so we don't have to use python initialization as a hook to install these predefined message ids.
Change-Id: I2e4d0c678ddda0a9ce5b114bdf1710f36e955f23 Reviewed-on: https://gem5-review.googlesource.com/c/13976 Maintainer: Gabe Black <gabeblack@google.com> Reviewed-by: Jason Lowe-Power <jason@lowepower.com> |
13401:3bf529b4bc51 |
06-Nov-2018 |
Gabe Black <gabeblack@google.com> |
systemc: Wrap some report maps in functions.
By declaring the map as a static variable in that function and then returning it, we can guarantee that it's initialized relative to other static initializers so that we don't try to use a data structure that isn't constructed yet. This will let us get rid of the dependence on python for setting up that mapping.
Change-Id: I031ce2039de8f5f79fbb9d76cf1363f15207b64b Reviewed-on: https://gem5-review.googlesource.com/c/13975 Maintainer: Gabe Black <gabeblack@google.com> Reviewed-by: Jason Lowe-Power <jason@lowepower.com> |
13335:299a16ef8e3c |
10-Oct-2018 |
Gabe Black <gabeblack@google.com> |
systemc: Get rid of leftovers from unimplemented warnings past.
These warnings were removed when the functionality they warned about was implemented, but there were some leftovers like unnecessary includes and some helper functions which hid gem5 specific headers from the ext directory.
Change-Id: Ic886ac0f1264687524e3a7b7eaab8836f318a5a2 Reviewed-on: https://gem5-review.googlesource.com/c/13398 Reviewed-by: Gabe Black <gabeblack@google.com> Maintainer: Gabe Black <gabeblack@google.com> |
13324:c8b709468e61 |
07-Oct-2018 |
Gabe Black <gabeblack@google.com> |
systemc: Switch to using predefined messages for channels.
Create and use predefined messages for channels which match the ones Accellera uses.
Change-Id: I179214838bbd83604e50225926cdc6b5b1b16923 Reviewed-on: https://gem5-review.googlesource.com/c/13330 Reviewed-by: Gabe Black <gabeblack@google.com> Maintainer: Gabe Black <gabeblack@google.com> |
13323:1cfcaaf573b9 |
07-Oct-2018 |
Gabe Black <gabeblack@google.com> |
systemc: Don't depend on the order of static initializers.
STL containers may need to be constructed before they're used. Don't count on being able to insert into them during a static initializer.
Change-Id: Icb05d5084a470e1ebd976ae6e1954b1a78aabd6a Reviewed-on: https://gem5-review.googlesource.com/c/13329 Reviewed-by: Gabe Black <gabeblack@google.com> Maintainer: Gabe Black <gabeblack@google.com> |
13322:7391057615bd |
07-Oct-2018 |
Gabe Black <gabeblack@google.com> |
systemc: Switch to using predefined messages for utils.
Create and use predefined messages for utils which match the ones Accellera uses.
Change-Id: I932b7206fc16181d01a0d5b7441ce617b30e5365 Reviewed-on: https://gem5-review.googlesource.com/c/13328 Reviewed-by: Gabe Black <gabeblack@google.com> Maintainer: Gabe Black <gabeblack@google.com> |
13316:0423798f1a05 |
07-Oct-2018 |
Gabe Black <gabeblack@google.com> |
systemc: Add a mechanism for pre-registering message type ids.
These ids are the ones the Accellera implementation/tests use. Some of the tests expect them to be available and usable.
Change-Id: I4e4dc3470c28d4113330a44ccd06ffe7724e75b1 Reviewed-on: https://gem5-review.googlesource.com/c/13322 Reviewed-by: Gabe Black <gabeblack@google.com> Maintainer: Gabe Black <gabeblack@google.com> |
13314:d1f53683ab94 |
06-Oct-2018 |
Gabe Black <gabeblack@google.com> |
systemc: Make suppress_id work like the test expects.
This is in contrast to how Accellera actually implements it, implying they would fail their own test.
The specific difference is that suppress_id should only suppress SC_INFO and SC_WARNING, not all severity levels like the Accellera implementation will do.
Change-Id: I34f0d2d5912548963433a785cfa6ef88ad818042 Reviewed-on: https://gem5-review.googlesource.com/c/13320 Reviewed-by: Gabe Black <gabeblack@google.com> Maintainer: Gabe Black <gabeblack@google.com> |
13313:306a97d3b040 |
06-Oct-2018 |
Gabe Black <gabeblack@google.com> |
systemc: Handle integer based IDs like Accellera does.
This is actually not consistent with how it was handled in 2.0.1 which is supposedly what this is supposed to be backwards compatible with, in that in the earlier version on info and warning messages were suppressed. This is exposed by one of the tests, utils/sc_report/test01, which suppresses an integer ID and then reports an error with it. The "golden" output shows the message supressed, but the actual implementation makes no such distinction.
This implementation duplicates Accelleras for now, but a future change will make it consistent with the old implementation so the test will pass.
Change-Id: I8f959321151e2bb60b94000594f30531b80e2684 Reviewed-on: https://gem5-review.googlesource.com/c/13319 Reviewed-by: Gabe Black <gabeblack@google.com> Maintainer: Gabe Black <gabeblack@google.com> |
13312:a7685ffbead8 |
06-Oct-2018 |
Gabe Black <gabeblack@google.com> |
systemc: Refactor reporting to prep for int based messages.
There's a deprecated reporting mechanism based on integer message ids, and the reporting mechanism needs to be refactored a bit to make it easier to support.
Some bookkeeping data structures were moved out to somewhere they can be accessed by other code, obviating the non-standard get_handler function.
Change-Id: Id427cd79be9ef0f3275fbac39ff047ab672fb3e0 Reviewed-on: https://gem5-review.googlesource.com/c/13318 Reviewed-by: Gabe Black <gabeblack@google.com> Maintainer: Gabe Black <gabeblack@google.com> |
13300:e22889f59b74 |
05-Oct-2018 |
Gabe Black <gabeblack@google.com> |
systemc: Change the default "catch action" to SC_DISPLAY.
There is a test which checks what it was and asserts if it's something else.
Change-Id: I114c0a38c9fa69544416a4d1b555bb87e6246efd Reviewed-on: https://gem5-review.googlesource.com/c/13306 Reviewed-by: Gabe Black <gabeblack@google.com> Maintainer: Gabe Black <gabeblack@google.com> |
13271:f001f9287ba3 |
01-Oct-2018 |
Gabe Black <gabeblack@google.com> |
systemc: Implement sc_vector.
Change-Id: I3cf096c4432fdf310fa1279da32620d5c9f57b5d Reviewed-on: https://gem5-review.googlesource.com/c/13197 Reviewed-by: Gabe Black <gabeblack@google.com> Maintainer: Gabe Black <gabeblack@google.com> |
13256:c1de139c72e5 |
22-Sep-2018 |
Gabe Black <gabeblack@google.com> |
systemc: Change how the default timescale is set.
The spec says that the default timescale should be 1 PS, but the Accellera implementation uses the time resolution.
Change-Id: I7b307a33ef0856e9c19d81e401b15691275d4978 Reviewed-on: https://gem5-review.googlesource.com/c/12975 Reviewed-by: Gabe Black <gabeblack@google.com> Maintainer: Gabe Black <gabeblack@google.com> |
13253:32260b162ae7 |
22-Sep-2018 |
Gabe Black <gabeblack@google.com> |
systemc: Print an Info when setting a tracefile's time unit.
This matches Accellera's output for the tests.
Change-Id: Ie67fd673a980b8ca2fdcd8f357ff7993a9091221 Reviewed-on: https://gem5-review.googlesource.com/c/12972 Reviewed-by: Gabe Black <gabeblack@google.com> Maintainer: Gabe Black <gabeblack@google.com> |
13245:c666c5d4996b |
20-Sep-2018 |
Gabe Black <gabeblack@google.com> |
systemc: Implement general and VCD trace support.
This doesn't include WIF trace support, but does make allowances for adding it in the future.
Change-Id: Ifb62f40a7d8a13e94463930a44ac4b1cf41e3009 Reviewed-on: https://gem5-review.googlesource.com/c/12826 Reviewed-by: Gabe Black <gabeblack@google.com> Maintainer: Gabe Black <gabeblack@google.com> |
13182:9e030f636a8c |
07-Sep-2018 |
Gabe Black <gabeblack@google.com> |
systemc: Fortify how exceptions are caught and passed around.
This change tightens up exception catching and makes gem5's systemc code react to exceptions more in line with the Accellera implementation. This prevents exceptions from being caught by the pybind11 integration which makes it very difficult to see where an exception came from, and makes the output differ by including a (mostly useless) backtrace.
Change-Id: I7130d53a98fadd137073d1718f780f32f57c658c Reviewed-on: https://gem5-review.googlesource.com/c/12601 Reviewed-by: Gabe Black <gabeblack@google.com> Maintainer: Gabe Black <gabeblack@google.com> |
13157:ca4c4e2552f2 |
04-Sep-2018 |
Gabe Black <gabeblack@google.com> |
systemc: Copy the msgType and msg parameters of sc_report.
The original strings pointed to by those parameters may go away before the sc_report has been completely consumed. By copying them, we make sure other consumers downstream can still access them.
Change-Id: Iab9a802b7ae3bb5aed3a2716cd92886b8d241dfa Reviewed-on: https://gem5-review.googlesource.com/c/12469 Reviewed-by: Gabe Black <gabeblack@google.com> Maintainer: Gabe Black <gabeblack@google.com> |
13080:5b49b8664269 |
22-Aug-2018 |
Gabe Black <gabeblack@google.com> |
systemc: Make the report handler handle null messages.
It was checking the first character of the message for a null byte, but not whether the message string pointer itself was null.
Change-Id: Iddef1e22c35b55c8c898670576ab416dd1023d7c Reviewed-on: https://gem5-review.googlesource.com/12252 Reviewed-by: Gabe Black <gabeblack@google.com> Maintainer: Gabe Black <gabeblack@google.com> |
12997:cfc14d8f4725 |
25-Jul-2018 |
Gabe Black <gabeblack@google.com> |
systemc: Implement most of the sc_report_handler mechanism.
This doesn't include support for the deprecated integer message ids.
Change-Id: I309d58df1cdc464428189eb0b7180edf41ca4f67 Reviewed-on: https://gem5-review.googlesource.com/12048 Reviewed-by: Gabe Black <gabeblack@google.com> Maintainer: Gabe Black <gabeblack@google.com> |
12921:51212996643f |
15-Jun-2018 |
Gabe Black <gabeblack@google.com> |
systemc: Add some nonstandard, undocumented sc_report_* functions.
The tests use these functions.
Change-Id: I3cdc10d433d9388742a20fb3a97a1a3efa699e11 Reviewed-on: https://gem5-review.googlesource.com/11271 Reviewed-by: Gabe Black <gabeblack@google.com> Maintainer: Gabe Black <gabeblack@google.com> |
12913:123e80053715 |
15-Jun-2018 |
Gabe Black <gabeblack@google.com> |
systemc: Add the deprecated sc_trace_delta_cycles function.
This function enables or disables tracing of delta cycles in a particular trace file.
Change-Id: I53164a792856d071de1fefc76977cca8eb5fd735 Reviewed-on: https://gem5-review.googlesource.com/11267 Reviewed-by: Gabe Black <gabeblack@google.com> Maintainer: Gabe Black <gabeblack@google.com> |
12911:1cad71dac465 |
15-Jun-2018 |
Gabe Black <gabeblack@google.com> |
systemc: Add some nonstandard (get|set)_catch_actions functions.
These are used by the tests.
Change-Id: I09bbe81854f0faa524a4c6aa0ef31d80e4a8de24 Reviewed-on: https://gem5-review.googlesource.com/11265 Reviewed-by: Gabe Black <gabeblack@google.com> Maintainer: Gabe Black <gabeblack@google.com> |
12905:eb877328516a |
15-Jun-2018 |
Gabe Black <gabeblack@google.com> |
systemc: Add nonstandard sc_trace-s for sc_event and sc_time.
These are not in the standard but are defined by Accellera and are used in the regression tests.
Change-Id: Idb8358530b1135526c52733e628461a17308e216 Reviewed-on: https://gem5-review.googlesource.com/11259 Reviewed-by: Gabe Black <gabeblack@google.com> Maintainer: Gabe Black <gabeblack@google.com> |
12902:1db5abf06c24 |
15-Jun-2018 |
Gabe Black <gabeblack@google.com> |
systemc: Add support for deprecated integer report handler ids.
These are deprecated but still used in the regression tests.
Change-Id: Id59cf950fbe0530a6cdce20a256d450b243f12d3 Reviewed-on: https://gem5-review.googlesource.com/11256 Reviewed-by: Gabe Black <gabeblack@google.com> Maintainer: Gabe Black <gabeblack@google.com> |
12877:27fdc86138ef |
13-Jun-2018 |
Gabe Black <gabeblack@google.com> |
systemc: Add some non-standard sc_trace variants.
These overloads of sc_trace take the unsigned version of some primitive types. The compiler thought it was ambiguous how to convert an unsigned integer value into a signed one since there were several different functions which took signed integer parameters of various sizes.
These versions of sc_trace aren't in the standard, but they are in the Accellera implementation and do fix building of the regression tests.
Change-Id: I26fd06d90ae6bf5fc5aed24bc2ac826ad69eee31 Reviewed-on: https://gem5-review.googlesource.com/11182 Reviewed-by: Gabe Black <gabeblack@google.com> Maintainer: Gabe Black <gabeblack@google.com> |
12852:300397457d0b |
18-May-2018 |
Gabe Black <gabeblack@google.com> |
systemc: Stub out all the standard utilility classes and functions.
Change-Id: I9e9724edb6281e0b0a6bae5546b0ede77d295c12 Reviewed-on: https://gem5-review.googlesource.com/10841 Reviewed-by: Gabe Black <gabeblack@google.com> Maintainer: Gabe Black <gabeblack@google.com> |