#include "cpu/base.hh"
#include "cpu/thread_context.hh"
#include "mem/fs_translating_port_proxy.hh"
-#include "params/BaseCPU.hh"
#include "sim/full_system.hh"
namespace ArmISA {
initCPU(ThreadContext *tc, int cpuId)
{
// Reset CP15?? What does that mean -- ali
-
+
// FPEXC.EN = 0
- if (tc->getCpuPtr()->params()->defer_registration)
- return;
static Fault reset = new Reset;
reset->invoke(tc);
thread[tid]->initMemProxies(thread[tid]->getTC());
}
- if (FullSystem) {
+ if (FullSystem && !params()->defer_registration) {
for (ThreadID tid = 0; tid < numThreads; tid++) {
ThreadContext *src_tc = threadContexts[tid];
TheISA::initCPU(src_tc, src_tc->contextId());
// Initialise the ThreadContext's memory proxies
tcBase()->initMemProxies(tcBase());
- if (FullSystem) {
+ if (FullSystem && !params()->defer_registration) {
ThreadID size = threadContexts.size();
for (ThreadID i = 0; i < size; ++i) {
ThreadContext *tc = threadContexts[i];
// Initialise the ThreadContext's memory proxies
tcBase()->initMemProxies(tcBase());
- if (FullSystem) {
+ if (FullSystem && !params()->defer_registration) {
for (int i = 0; i < threadContexts.size(); ++i) {
ThreadContext *tc = threadContexts[i];
// initialize CPU, including PC