From 96a88fbeddb354cddfbbbcc905ba5bb84cf4dde1 Mon Sep 17 00:00:00 2001 From: Gabe Black Date: Tue, 9 Oct 2018 16:21:34 -0700 Subject: 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 Maintainer: Gabe Black --- src/systemc/core/scheduler.cc | 1 + src/systemc/core/scheduler.hh | 3 +++ 2 files changed, 4 insertions(+) diff --git a/src/systemc/core/scheduler.cc b/src/systemc/core/scheduler.cc index 52bf7ec31..5e96a47d5 100644 --- a/src/systemc/core/scheduler.cc +++ b/src/systemc/core/scheduler.cc @@ -457,6 +457,7 @@ Scheduler::trace(bool delta) } Scheduler scheduler; +Process *getCurrentProcess() { return scheduler.current(); } namespace { diff --git a/src/systemc/core/scheduler.hh b/src/systemc/core/scheduler.hh index 14dee2e6f..2ae03ea1b 100644 --- a/src/systemc/core/scheduler.hh +++ b/src/systemc/core/scheduler.hh @@ -491,6 +491,9 @@ class Scheduler extern Scheduler scheduler; +// A proxy function to avoid having to expose the scheduler in header files. +Process *getCurrentProcess(); + inline void Scheduler::TimeSlot::process() { -- cgit v1.2.3