/*
+ * Copyright (c) 2020 ARM Limited
+ * All rights reserved
+ *
+ * The license below extends only to copyright in the software and shall
+ * not be construed as granting a license to any other intellectual
+ * property including but not limited to intellectual property relating
+ * to a hardware implementation of the functionality of the software
+ * licensed hereunder. You may use the software subject to the license
+ * terms below provided that you ensure that this notice is replicated
+ * unmodified and in its entirety in all distributions of the software,
+ * modified or unmodified, in source code or in binary form.
+ *
* Copyright 2020 Google Inc.
*
* Redistribution and use in source and binary forms, with or without
#include "sim/sim_object.hh"
+class ThreadContext;
+
class BaseISA : public SimObject
{
protected:
using SimObject::SimObject;
+
+ public:
+ virtual void
+ takeOverFrom(ThreadContext *new_tc, ThreadContext *old_tc)
+ {}
};
#endif // __ARCH_GENERIC_ISA_HH__
O3ThreadContext<Impl>::takeOverFrom(ThreadContext *old_context)
{
::takeOverFrom(*this, *old_context);
+
+ this->getIsaPtr()->takeOverFrom(this, old_context);
+
TheISA::Decoder *newDecoder = getDecoderPtr();
TheISA::Decoder *oldDecoder = old_context->getDecoderPtr();
newDecoder->takeOverFrom(oldDecoder);
::takeOverFrom(*this, *oldContext);
decoder.takeOverFrom(oldContext->getDecoderPtr());
+ isa->takeOverFrom(this, oldContext);
+
kernelStats = oldContext->getKernelStats();
funcExeInst = oldContext->readFuncExeInst();
storeCondFailures = 0;