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
diff --git a/src/cpu/minor/exec_context.hh b/src/cpu/minor/exec_context.hh
index 092ad5a..a5d646b 100644
--- a/src/cpu/minor/exec_context.hh
+++ b/src/cpu/minor/exec_context.hh
@@ -342,12 +342,17 @@
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); }
};
}