40#ifndef __ARCH_GENERIC_ISA_HH__
41#define __ARCH_GENERIC_ISA_HH__
virtual int64_t getVectorLengthInBytes() const
This function returns the vector length of the Vector Length Agnostic extension of the ISA.
virtual void handleLockedSnoop(ExecContext *xc, PacketPtr pkt, Addr cacheBlockMask)
virtual bool inUserMode() const =0
virtual void handleLockedSnoopHit(ExecContext *xc)
virtual uint64_t getExecutingAsid() const
virtual void resetThread()
const RegClasses & regClasses() const
virtual void handleLockedRead(const RequestPtr &req)
virtual void setMiscReg(RegIndex idx, RegVal val)=0
virtual RegVal readMiscReg(RegIndex idx)=0
void serialize(CheckpointOut &cp) const override
Serialize an object.
virtual void handleLockedRead(ExecContext *xc, const RequestPtr &req)
virtual void copyRegsFrom(ThreadContext *src)=0
virtual bool handleLockedWrite(const RequestPtr &req, Addr cacheBlockMask)
virtual void globalClearExclusive(ExecContext *xc)
virtual PCStateBase * newPCState(Addr new_inst_addr=0) const =0
virtual RegVal readMiscRegNoEffect(RegIndex idx) const =0
virtual void takeOverFrom(ThreadContext *new_tc, ThreadContext *old_tc)
const std::string getIsaName() const
std::vector< const RegClass * > RegClasses
BaseISA(const SimObjectParams &p, const std::string &name)
virtual void handleLockedSnoop(PacketPtr pkt, Addr cacheBlockMask)
virtual void handleLockedSnoopHit()
virtual void setThreadContext(ThreadContext *_tc)
virtual void setMiscRegNoEffect(RegIndex idx, RegVal val)=0
virtual void globalClearExclusive()
virtual bool handleLockedWrite(ExecContext *xc, const RequestPtr &req, Addr cacheBlockMask)
The ExecContext is an abstract base class the provides the interface used by the ISA to manipulate th...
virtual std::string name() const
A Packet is used to encapsulate a transfer between two objects in the memory system (e....
Abstract superclass for simulation objects.
ThreadContext is the external interface to all thread state for anything outside of the CPU.
#define panic(...)
This implements a cprintf based panic() function.
Copyright (c) 2024 - Pranith Kumar Copyright (c) 2020 Inria All rights reserved.
std::shared_ptr< Request > RequestPtr
std::ostream CheckpointOut
uint64_t Addr
Address type This will probably be moved somewhere else in the near future.
Declaration of the Packet class.
Declaration of a request, the overall memory request consisting of the parts of the request that are ...
#define SERIALIZE_SCALAR(scalar)