From f9298649bb4d1f20b244a6e0930bb82be5ec7397 Mon Sep 17 00:00:00 2001 From: Gabe Black Date: Wed, 15 Aug 2018 23:35:38 -0700 Subject: systemc: Track exports and prim channels, and call their callbacks. Also call the callbacks on the ports which were already being tracked. Change-Id: I5ba8ea366e87fc48b58712f35b93c27bccf92cb3 Reviewed-on: https://gem5-review.googlesource.com/12210 Reviewed-by: Gabe Black Maintainer: Gabe Black --- src/systemc/ext/core/sc_port.hh | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) (limited to 'src/systemc/ext/core/sc_port.hh') diff --git a/src/systemc/ext/core/sc_port.hh b/src/systemc/ext/core/sc_port.hh index 6031d5495..73f5362b6 100644 --- a/src/systemc/ext/core/sc_port.hh +++ b/src/systemc/ext/core/sc_port.hh @@ -75,6 +75,11 @@ class sc_port_base : public sc_object virtual int vbind(sc_interface &) = 0; virtual int vbind(sc_port_base &) = 0; + virtual void before_end_of_elaboration() = 0; + virtual void end_of_elaboration() = 0; + virtual void start_of_simulation() = 0; + virtual void end_of_simulation() = 0; + private: friend class ::sc_gem5::PendingSensitivityPort; friend class ::sc_gem5::Kernel; @@ -110,10 +115,10 @@ class sc_port_b : public sc_port_base const sc_interface *get_interface() const { return _interfaces.at(0); } protected: - virtual void before_end_of_elaboration() {} - virtual void end_of_elaboration() {} - virtual void start_of_elaboration() {} - virtual void end_of_simulation() {} + void before_end_of_elaboration() {} + void end_of_elaboration() {} + void start_of_simulation() {} + void end_of_simulation() {} explicit sc_port_b(int n, sc_port_policy p) : sc_port_base(sc_gen_unique_name("port"), n, p) -- cgit v1.2.3