Commit Graph

13 Commits

Author SHA1 Message Date
Gabe Black
0f368d5ebd 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>
2018-10-16 01:18:36 +00:00
Gabe Black
e07f7efb75 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>
2018-10-16 01:12:58 +00:00
Gabe Black
b366cbcde9 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>
2018-10-16 01:11:44 +00:00
Gabe Black
5220003e38 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>
2018-10-16 01:06:54 +00:00
Gabe Black
7eb6ad4aaa 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>
2018-10-16 01:05:58 +00:00
Gabe Black
98b74c4e51 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>
2018-10-16 00:59:20 +00:00
Gabe Black
3f3773757e 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>
2018-10-09 21:39:36 +00:00
Gabe Black
3d33eecfe8 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>
2018-09-25 23:57:24 +00:00
Gabe Black
ea6b370fe7 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>
2018-09-11 21:48:32 +00:00
Gabe Black
dc0b98dcdc 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>
2018-08-28 21:16:00 +00:00
Gabe Black
fc008a085d 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>
2018-08-22 01:05:20 +00:00
Gabe Black
84c1b3b3ed 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>
2018-08-22 00:55:25 +00:00
Gabe Black
7adb1b250b 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>
2018-08-08 10:07:26 +00:00