summaryrefslogtreecommitdiff
path: root/src/systemc/core/kernel.hh
diff options
context:
space:
mode:
authorGabe Black <gabeblack@google.com>2018-07-03 16:41:30 -0700
committerGabe Black <gabeblack@google.com>2018-09-05 06:03:24 +0000
commit0aec777bf2fff0ac61cd36b7c0358dbe9350c784 (patch)
tree2af532c4eaa5c79ce2aadfa40da8f14c4dbf3f29 /src/systemc/core/kernel.hh
parent4bd389c9d0370d67464c2a508381abe326de3bdf (diff)
downloadgem5-0aec777bf2fff0ac61cd36b7c0358dbe9350c784.tar.xz
systemc: Partially implement the scheduler.
This change implements the "evaluate" part of the delta cycles, and sketches out a function to run delta cycles and the initialization phase. The kernel object now schedules an event at time zero which runs the initialization phase. Also, some small places which were stubbed out pending a way to check the currently running process have been filled in now that that's being tracked. Change-Id: I6899569eb0195ff1c059fa4e68e90ef162b2f2df Reviewed-on: https://gem5-review.googlesource.com/11709 Reviewed-by: Gabe Black <gabeblack@google.com> Maintainer: Gabe Black <gabeblack@google.com>
Diffstat (limited to 'src/systemc/core/kernel.hh')
-rw-r--r--src/systemc/core/kernel.hh7
1 files changed, 7 insertions, 0 deletions
diff --git a/src/systemc/core/kernel.hh b/src/systemc/core/kernel.hh
index 9a81d9db4..8cbf4fb3b 100644
--- a/src/systemc/core/kernel.hh
+++ b/src/systemc/core/kernel.hh
@@ -48,6 +48,13 @@ class Kernel : public SimObject
public:
typedef SystemC_KernelParams Params;
Kernel(Params *params);
+
+ void startup() override;
+
+ void t0Handler();
+
+ private:
+ EventWrapper<Kernel, &Kernel::t0Handler> t0Event;
};
} // namespace SystemC