/*
- * Copyright (c) 2011-2012, 2016-2018 ARM Limited
+ * Copyright (c) 2011-2012, 2016-2018, 2020 ARM Limited
* Copyright (c) 2013 Advanced Micro Devices, Inc.
* All rights reserved
*
{
actualTC->setCCRegFlat(idx, val);
}
+
+ // hardware transactional memory
+ void
+ htmAbortTransaction(uint64_t htm_uid, HtmFailureFaultCause cause) override
+ {
+ panic("function not implemented");
+ }
+
+ BaseHTMCheckpointPtr&
+ getHtmCheckpointPtr() override
+ {
+ panic("function not implemented");
+ }
+
+ void
+ setHtmCheckpointPtr(BaseHTMCheckpointPtr new_cpt) override
+ {
+ panic("function not implemented");
+ }
+
};
#endif // __CPU_CHECKER_EXEC_CONTEXT_HH__
/*
- * Copyright (c) 2011-2012, 2016-2018 ARM Limited
+ * Copyright (c) 2011-2012, 2016-2018, 2020 ARM Limited
* Copyright (c) 2013 Advanced Micro Devices, Inc.
* All rights reserved
*
RegVal readCCRegFlat(RegIndex idx) const override;
void setCCRegFlat(RegIndex idx, RegVal val) override;
+
+ // hardware transactional memory
+ void htmAbortTransaction(uint64_t htm_uid,
+ HtmFailureFaultCause cause) override;
+ BaseHTMCheckpointPtr& getHtmCheckpointPtr() override;
+ void setHtmCheckpointPtr(BaseHTMCheckpointPtr new_cpt) override;
};
#endif
/*
- * Copyright (c) 2010-2012, 2016-2017 ARM Limited
+ * Copyright (c) 2010-2012, 2016-2017, 2019 ARM Limited
* Copyright (c) 2013 Advanced Micro Devices, Inc.
* All rights reserved
*
conditionalSquash();
}
+// hardware transactional memory
+template <class Impl>
+void
+O3ThreadContext<Impl>::htmAbortTransaction(uint64_t htmUid,
+ HtmFailureFaultCause cause)
+{
+ panic("function not implemented\n");
+}
+
+template <class Impl>
+BaseHTMCheckpointPtr&
+O3ThreadContext<Impl>::getHtmCheckpointPtr()
+{
+ panic("function not implemented\n");
+}
+
+template <class Impl>
+void
+O3ThreadContext<Impl>::setHtmCheckpointPtr(BaseHTMCheckpointPtr new_cpt)
+{
+ panic("function not implemented\n");
+}
+
#endif //__CPU_O3_THREAD_CONTEXT_IMPL_HH__
/*
- * Copyright (c) 2018 ARM Limited
+ * Copyright (c) 2018, 2020 ARM Limited
* All rights reserved
*
* The license below extends only to copyright in the software and shall
#include "base/trace.hh"
#include "config/the_isa.hh"
#include "cpu/base.hh"
+#include "cpu/simple/base.hh"
#include "cpu/thread_context.hh"
#include "mem/se_translating_port_proxy.hh"
#include "mem/translating_port_proxy.hh"
{
TheISA::copyRegs(src_tc, this);
}
+
+// hardware transactional memory
+void
+SimpleThread::htmAbortTransaction(uint64_t htm_uid, HtmFailureFaultCause cause)
+{
+ panic("function not implemented\n");
+}
+
+BaseHTMCheckpointPtr&
+SimpleThread::getHtmCheckpointPtr()
+{
+ panic("function not implemented\n");
+}
+
+void
+SimpleThread::setHtmCheckpointPtr(BaseHTMCheckpointPtr new_cpt)
+{
+ panic("function not implemented\n");
+}
/*
- * Copyright (c) 2011-2012, 2016-2018 ARM Limited
+ * Copyright (c) 2011-2012, 2016-2018, 2020 ARM Limited
* Copyright (c) 2013 Advanced Micro Devices, Inc.
* All rights reserved
*
#include <array>
#include "arch/decoder.hh"
+#include "arch/generic/htm.hh"
#include "arch/generic/tlb.hh"
#include "arch/isa.hh"
#include "arch/registers.hh"
#include "debug/IntRegs.hh"
#include "debug/VecPredRegs.hh"
#include "debug/VecRegs.hh"
+#include "mem/htm.hh"
#include "mem/page_table.hh"
#include "mem/request.hh"
#include "sim/byteswap.hh"
RegVal readCCRegFlat(RegIndex idx) const override { return ccRegs[idx]; }
void setCCRegFlat(RegIndex idx, RegVal val) override { ccRegs[idx] = val; }
+
+ // hardware transactional memory
+ void htmAbortTransaction(uint64_t htm_uid,
+ HtmFailureFaultCause cause) override;
+
+ BaseHTMCheckpointPtr& getHtmCheckpointPtr() override;
+ void setHtmCheckpointPtr(BaseHTMCheckpointPtr new_cpt) override;
};
/*
- * Copyright (c) 2011-2012, 2016-2018 ARM Limited
+ * Copyright (c) 2011-2012, 2016-2018, 2020 ARM Limited
* Copyright (c) 2013 Advanced Micro Devices, Inc.
* All rights reserved
*
#include <iostream>
#include <string>
+#include "arch/generic/htm.hh"
#include "arch/generic/isa.hh"
#include "arch/registers.hh"
#include "arch/types.hh"
virtual void setCCRegFlat(RegIndex idx, RegVal val) = 0;
/** @} */
+ // hardware transactional memory
+ virtual void htmAbortTransaction(uint64_t htm_uid,
+ HtmFailureFaultCause cause) = 0;
+ virtual BaseHTMCheckpointPtr& getHtmCheckpointPtr() = 0;
+ virtual void setHtmCheckpointPtr(BaseHTMCheckpointPtr cpt) = 0;
};
/** @{ */