systemc: Add an accessor for getting the current process.

This is to avoid having to expose the scheduler (which tracks the
current process) to header files which should be independent of gem5
and the underlying implementation.

Change-Id: I1b0810ab66c3ce52b5b94236d7df86da66a62472
Reviewed-on: https://gem5-review.googlesource.com/c/13335
Reviewed-by: Gabe Black <gabeblack@google.com>
Maintainer: Gabe Black <gabeblack@google.com>
diff --git a/src/systemc/core/scheduler.cc b/src/systemc/core/scheduler.cc
index 52bf7ec..5e96a47 100644
--- a/src/systemc/core/scheduler.cc
+++ b/src/systemc/core/scheduler.cc
@@ -457,6 +457,7 @@
 }
 
 Scheduler scheduler;
+Process *getCurrentProcess() { return scheduler.current(); }
 
 namespace {
 
diff --git a/src/systemc/core/scheduler.hh b/src/systemc/core/scheduler.hh
index 14dee2e..2ae03ea 100644
--- a/src/systemc/core/scheduler.hh
+++ b/src/systemc/core/scheduler.hh
@@ -491,6 +491,9 @@
 
 extern Scheduler scheduler;
 
+// A proxy function to avoid having to expose the scheduler in header files.
+Process *getCurrentProcess();
+
 inline void
 Scheduler::TimeSlot::process()
 {