diff options
author | Mitch Hayenga <mitch.hayenga@arm.com> | 2016-07-21 17:19:16 +0100 |
---|---|---|
committer | Mitch Hayenga <mitch.hayenga@arm.com> | 2016-07-21 17:19:16 +0100 |
commit | ff4009ac005be0347015f8ba5a8e37a3aa930e69 (patch) | |
tree | b80cfa7c70c0e39f54c8c3d78527722cb6658510 /src/cpu/minor/exec_context.hh | |
parent | 8a476d387c84f037d0ccf3cc20dc88870ab45fec (diff) | |
download | gem5-ff4009ac005be0347015f8ba5a8e37a3aa930e69.tar.xz |
cpu: Add SMT support to MinorCPU
This patch adds SMT support to the MinorCPU. Currently
RoundRobin or Random thread scheduling are supported.
Change-Id: I91faf39ff881af5918cca05051829fc6261f20e3
Diffstat (limited to 'src/cpu/minor/exec_context.hh')
-rw-r--r-- | src/cpu/minor/exec_context.hh | 13 |
1 files changed, 9 insertions, 4 deletions
diff --git a/src/cpu/minor/exec_context.hh b/src/cpu/minor/exec_context.hh index 092ad5a2d..a5d646b6c 100644 --- a/src/cpu/minor/exec_context.hh +++ b/src/cpu/minor/exec_context.hh @@ -342,12 +342,17 @@ class ExecContext : public ::ExecContext public: // monitor/mwait funtions - void armMonitor(Addr address) { getCpuPtr()->armMonitor(0, address); } - bool mwait(PacketPtr pkt) { return getCpuPtr()->mwait(0, pkt); } + void armMonitor(Addr address) + { getCpuPtr()->armMonitor(inst->id.threadId, address); } + + bool mwait(PacketPtr pkt) + { return getCpuPtr()->mwait(inst->id.threadId, pkt); } + void mwaitAtomic(ThreadContext *tc) - { return getCpuPtr()->mwaitAtomic(0, tc, thread.dtb); } + { return getCpuPtr()->mwaitAtomic(inst->id.threadId, tc, thread.dtb); } + AddressMonitor *getAddrMonitor() - { return getCpuPtr()->getCpuAddrMonitor(0); } + { return getCpuPtr()->getCpuAddrMonitor(inst->id.threadId); } }; } |