116 bool interrupt =
false;
118 uint64_t error_code = 0;
123 retry =
bits(tcreason, 15);
145 panic(
"Unknown HTM failure reason\n");
147 assert(!retry || !interrupt);
155 pcstateckpt.uReset();
156 pcstateckpt.advance();
ISA-specific types for hardware transactional memory.
std::array< VecPredRegContainer, NumVecRegs > p
void save(ThreadContext *tc) override
Every ISA implementing HTM support should override the save method.
std::array< VecRegContainer, NumVecRegs > z
void reset() override
Resets the checkpoint once a transaction has completed.
std::array< RegVal, int_reg::NumArchRegs > x
void restore(ThreadContext *tc, HtmFailureFaultCause cause) override
Every ISA implementing HTM support should override the restore method.
virtual void restore(ThreadContext *tc, HtmFailureFaultCause cause)
Every ISA implementing HTM support should override the restore method.
virtual void save(ThreadContext *tc)
Every ISA implementing HTM support should override the save method.
virtual void reset()
Resets the checkpoint once a transaction has completed.
ThreadContext is the external interface to all thread state for anything outside of the CPU.
virtual RegVal readMiscReg(RegIndex misc_reg)=0
virtual void setMiscReg(RegIndex misc_reg, RegVal val)=0
virtual RegVal getReg(const RegId ®) const
virtual void setReg(const RegId ®, RegVal val)
virtual const PCStateBase & pcState() const =0
constexpr T bits(T val, unsigned first, unsigned last)
Extract the bitfield from position 'first' to 'last' (inclusive) from 'val' and right justify it.
constexpr void replaceBits(T &val, unsigned first, unsigned last, B bit_val)
A convenience function to replace bits first to last of val with bit_val in place.
#define panic(...)
This implements a cprintf based panic() function.
constexpr RegClass intRegClass
constexpr RegClass vecPredRegClass
constexpr RegClass vecRegClass
GenericISA::DelaySlotPCState< 4 > PCState
Copyright (c) 2024 - Pranith Kumar Copyright (c) 2020 Inria All rights reserved.