systemc: Remove _m5.systemc passthroughs from SystemC_Kernel.

These functions are now exposed through m5.systemc and m5.tlm.

Change-Id: I9f519debbe7380ee38594badcc1146e66e15f8a8
Reviewed-on: https://gem5-review.googlesource.com/c/16570
Maintainer: Gabe Black <gabeblack@google.com>
Reviewed-by: Andreas Sandberg <andreas.sandberg@arm.com>
This commit is contained in:
Gabe Black
2019-02-20 19:28:12 -08:00
parent 366f6ac0ab
commit 8138663e2f

View File

@@ -30,39 +30,11 @@ from m5.SimObject import SimObject
# This class represents the systemc kernel. There should be exactly one in the
# simulation. It receives gem5 SimObject lifecycle callbacks (init, regStats,
# etc.) and manages the lifecycle of the systemc simulation accordingly.
# It also acts as a collecting point for systemc related control functionality.
class SystemC_Kernel(SimObject):
type = 'SystemC_Kernel'
cxx_class = 'sc_gem5::Kernel'
cxx_header = 'systemc/core/kernel.hh'
# The sc_time type won't exist until some setup code runs in gem5.
try:
from _m5.systemc import sc_time
except:
pass
class ScMainResult(object):
def __init__(self, code, message):
self.code = code
self.message = message
def sc_main(self, *args):
'''Call the systemc sc_main function with the given string args'''
from _m5.systemc import sc_main
sc_main(*args)
def sc_main_result(self):
'''Retrieve and return the results of running sc_main'''
from _m5.systemc import sc_main_result_code, sc_main_result_str
return SystemC_Kernel.ScMainResult(
sc_main_result_code(), sc_main_result_str());
def tlm_global_quantum_instance(self):
'''Retrieve the global tlm quantum instance'''
from _m5.systemc import tlm_global_quantum
return tlm_global_quantum.instance()
# This class represents systemc sc_object instances in python config files. It
# inherits from SimObject in python, but the c++ version, sc_core::sc_object,
# doesn't inherit from gem5's c++ SimObject class.