gem5 v24.0.0.0
Loading...
Searching...
No Matches
faults.hh File Reference
#include <cstdint>
#include <string>
#include "arch/riscv/isa.hh"
#include "cpu/null_static_inst.hh"
#include "sim/faults.hh"

Go to the source code of this file.

Classes

class  gem5::RiscvISA::RiscvFault
 
class  gem5::RiscvISA::Reset
 
class  gem5::RiscvISA::InterruptFault
 
class  gem5::RiscvISA::NonMaskableInterruptFault
 
class  gem5::RiscvISA::InstFault
 
class  gem5::RiscvISA::UnknownInstFault
 
class  gem5::RiscvISA::IllegalInstFault
 
class  gem5::RiscvISA::UnimplementedFault
 
class  gem5::RiscvISA::IllegalFrmFault
 
class  gem5::RiscvISA::AddressFault
 
class  gem5::RiscvISA::BreakpointFault
 
class  gem5::RiscvISA::SyscallFault
 

Namespaces

namespace  gem5
 Copyright (c) 2024 - Pranith Kumar Copyright (c) 2020 Inria All rights reserved.
 
namespace  gem5::RiscvISA
 

Enumerations

enum  gem5::RiscvISA::FloatException : uint64_t {
  gem5::RiscvISA::FloatInexact = 0x1 , gem5::RiscvISA::FloatUnderflow = 0x2 , gem5::RiscvISA::FloatOverflow = 0x4 , gem5::RiscvISA::FloatDivZero = 0x8 ,
  gem5::RiscvISA::FloatInvalid = 0x10
}
 
enum  gem5::RiscvISA::ExceptionCode : uint64_t {
  gem5::RiscvISA::INST_ADDR_MISALIGNED = 0 , gem5::RiscvISA::INST_ACCESS = 1 , gem5::RiscvISA::INST_ILLEGAL = 2 , gem5::RiscvISA::BREAKPOINT = 3 ,
  gem5::RiscvISA::LOAD_ADDR_MISALIGNED = 4 , gem5::RiscvISA::LOAD_ACCESS = 5 , gem5::RiscvISA::STORE_ADDR_MISALIGNED = 6 , gem5::RiscvISA::AMO_ADDR_MISALIGNED = 6 ,
  gem5::RiscvISA::STORE_ACCESS = 7 , gem5::RiscvISA::AMO_ACCESS = 7 , gem5::RiscvISA::ECALL_USER = 8 , gem5::RiscvISA::ECALL_SUPER = 9 ,
  gem5::RiscvISA::ECALL_MACHINE = 11 , gem5::RiscvISA::INST_PAGE = 12 , gem5::RiscvISA::LOAD_PAGE = 13 , gem5::RiscvISA::STORE_PAGE = 15 ,
  gem5::RiscvISA::AMO_PAGE = 15 , gem5::RiscvISA::INT_SOFTWARE_USER = 0 , gem5::RiscvISA::INT_SOFTWARE_SUPER = 1 , gem5::RiscvISA::INT_SOFTWARE_MACHINE = 3 ,
  gem5::RiscvISA::INT_TIMER_USER = 4 , gem5::RiscvISA::INT_TIMER_SUPER = 5 , gem5::RiscvISA::INT_TIMER_MACHINE = 7 , gem5::RiscvISA::INT_EXT_USER = 8 ,
  gem5::RiscvISA::INT_EXT_SUPER = 9 , gem5::RiscvISA::INT_EXT_MACHINE = 11 , gem5::RiscvISA::INT_LOCAL_0 = 16 , gem5::RiscvISA::INT_LOCAL_1 = 17 ,
  gem5::RiscvISA::INT_LOCAL_2 = 18 , gem5::RiscvISA::INT_LOCAL_3 = 19 , gem5::RiscvISA::INT_LOCAL_4 = 20 , gem5::RiscvISA::INT_LOCAL_5 = 21 ,
  gem5::RiscvISA::INT_LOCAL_6 = 22 , gem5::RiscvISA::INT_LOCAL_7 = 23 , gem5::RiscvISA::INT_LOCAL_8 = 24 , gem5::RiscvISA::INT_LOCAL_9 = 25 ,
  gem5::RiscvISA::INT_LOCAL_10 = 26 , gem5::RiscvISA::INT_LOCAL_11 = 27 , gem5::RiscvISA::INT_LOCAL_12 = 28 , gem5::RiscvISA::INT_LOCAL_13 = 29 ,
  gem5::RiscvISA::INT_LOCAL_14 = 30 , gem5::RiscvISA::INT_LOCAL_15 = 31 , gem5::RiscvISA::INT_LOCAL_16 = 32 , gem5::RiscvISA::INT_LOCAL_17 = 33 ,
  gem5::RiscvISA::INT_LOCAL_18 = 34 , gem5::RiscvISA::INT_LOCAL_19 = 35 , gem5::RiscvISA::INT_LOCAL_20 = 36 , gem5::RiscvISA::INT_LOCAL_21 = 37 ,
  gem5::RiscvISA::INT_LOCAL_22 = 38 , gem5::RiscvISA::INT_LOCAL_23 = 39 , gem5::RiscvISA::INT_LOCAL_24 = 40 , gem5::RiscvISA::INT_LOCAL_25 = 41 ,
  gem5::RiscvISA::INT_LOCAL_26 = 42 , gem5::RiscvISA::INT_LOCAL_27 = 43 , gem5::RiscvISA::INT_LOCAL_28 = 44 , gem5::RiscvISA::INT_LOCAL_29 = 45 ,
  gem5::RiscvISA::INT_LOCAL_30 = 46 , gem5::RiscvISA::INT_LOCAL_31 = 47 , gem5::RiscvISA::INT_LOCAL_32 = 48 , gem5::RiscvISA::INT_LOCAL_33 = 49 ,
  gem5::RiscvISA::INT_LOCAL_34 = 50 , gem5::RiscvISA::INT_LOCAL_35 = 51 , gem5::RiscvISA::INT_LOCAL_36 = 52 , gem5::RiscvISA::INT_LOCAL_37 = 53 ,
  gem5::RiscvISA::INT_LOCAL_38 = 54 , gem5::RiscvISA::INT_LOCAL_39 = 55 , gem5::RiscvISA::INT_LOCAL_40 = 56 , gem5::RiscvISA::INT_LOCAL_41 = 57 ,
  gem5::RiscvISA::INT_LOCAL_42 = 58 , gem5::RiscvISA::INT_LOCAL_43 = 59 , gem5::RiscvISA::INT_LOCAL_44 = 60 , gem5::RiscvISA::INT_LOCAL_45 = 61 ,
  gem5::RiscvISA::INT_LOCAL_46 = 62 , gem5::RiscvISA::INT_LOCAL_47 = 63 , gem5::RiscvISA::NumInterruptTypes , gem5::RiscvISA::INT_NMI = NumInterruptTypes
}
 
enum class  gem5::RiscvISA::FaultType { gem5::RiscvISA::INTERRUPT , gem5::RiscvISA::NON_MASKABLE_INTERRUPT , gem5::RiscvISA::OTHERS }
 

Functions

bool gem5::RiscvISA::getFaultVAddr (Fault fault, Addr &va)
 Returns true if the fault passed as a first argument was triggered by a memory access, false otherwise.
 

Generated on Tue Jun 18 2024 16:24:08 for gem5 by doxygen 1.11.0