PROLEAD
A Probing-Based Leakage Detection Tool for Hardware and Software
Loading...
Searching...
No Matches
Public Member Functions | Public Attributes | List of all members
mulator::Emulator Class Reference

#include <emulator.h>

Public Member Functions

 Emulator ()
 
 Emulator (Architecture arch)
 
 Emulator (Architecture arch, boost::variate_generator< boost::mt19937 &, boost::uniform_int< uint64_t > > ThreadPrng, uint32_t NrOfPipelineStages)
 
 Emulator (const Emulator &other)
 
 ~Emulator ()
 
InstructionDecoder get_decoder () const
 
Architecture get_architecture () const
 
void set_flash_region (u32 offset, u32 size)
 
u32 get_flash_offset () const
 
u32 get_flash_size () const
 
u8get_flash () const
 
void set_ram_region (u32 offset, u32 size)
 
u32 get_ram_offset () const
 
u32 get_ram_size () const
 
u8get_ram () const
 
u32 read_register (Register reg) const
 
void write_register (Register reg, u32 value)
 
void read_memory (u32 address, u8 *buffer, u32 len) const
 
void write_memory (u32 dst_address, const u8 *buffer, u32 len)
 
ReturnCode emulate (u64 max_instructions, uint32_t randomness_start_addr, uint32_t randomness_end_addr)
 
ReturnCode emulate (u32 end_address, u64 max_instructions, uint32_t randomness_start_addr, uint32_t randomness_end_addr)
 
ReturnCode emulateInstantiation (u64 max_isntructions, ::Software::ThreadSimulationStruct &ThreadSimulation, ::Software::ProbeTrackingStruct &ProbeTracker, ::Software::HelperStruct &Helper, std::vector< std::vector< std::vector< uint8_t > > > &ProbeValues, uint32_t randomness_start_addr, uint32_t randomness_end_addr, uint32_t SimulationIndex)
 
void emulate_PROLEAD (::Software::ThreadSimulationStruct &, ::Software::ProbeTrackingStruct &, ::Software::HelperStruct &, std::vector< std::vector< std::vector< uint8_t > > > &, const int, const uint64_t, const uint32_t, const uint32_t)
 
void stop_emulation ()
 
bool is_running () const
 
u32 get_time () const
 
u32 get_PRNG_randomness ()
 
u32 get_emulated_time () const
 
bool in_IT_block () const
 
bool last_in_IT_block () const
 
CPU_State get_cpu_state () const
 
void set_cpu_state (const CPU_State &state)
 

Public Attributes

uint32_t m_pipeline_stages
 
std::vector< CPU_Statem_pipeline_cpu_states
 

Detailed Description

Definition at line 57 of file emulator.h.

Constructor & Destructor Documentation

◆ Emulator() [1/4]

mulator::Emulator::Emulator ( )

◆ Emulator() [2/4]

mulator::Emulator::Emulator ( Architecture  arch)

◆ Emulator() [3/4]

mulator::Emulator::Emulator ( Architecture  arch,
boost::variate_generator< boost::mt19937 &, boost::uniform_int< uint64_t > >  ThreadPrng,
uint32_t  NrOfPipelineStages 
)

◆ Emulator() [4/4]

mulator::Emulator::Emulator ( const Emulator other)

◆ ~Emulator()

mulator::Emulator::~Emulator ( )

Member Function Documentation

◆ emulate() [1/2]

ReturnCode mulator::Emulator::emulate ( u32  end_address,
u64  max_instructions,
uint32_t  randomness_start_addr,
uint32_t  randomness_end_addr 
)

◆ emulate() [2/2]

ReturnCode mulator::Emulator::emulate ( u64  max_instructions,
uint32_t  randomness_start_addr,
uint32_t  randomness_end_addr 
)

◆ emulate_PROLEAD()

void mulator::Emulator::emulate_PROLEAD ( ::Software::ThreadSimulationStruct ,
::Software::ProbeTrackingStruct ,
::Software::HelperStruct ,
std::vector< std::vector< std::vector< uint8_t > > > &  ,
const int  ,
const uint64_t  ,
const uint32_t  ,
const uint32_t   
)

◆ emulateInstantiation()

ReturnCode mulator::Emulator::emulateInstantiation ( u64  max_isntructions,
::Software::ThreadSimulationStruct ThreadSimulation,
::Software::ProbeTrackingStruct ProbeTracker,
::Software::HelperStruct Helper,
std::vector< std::vector< std::vector< uint8_t > > > &  ProbeValues,
uint32_t  randomness_start_addr,
uint32_t  randomness_end_addr,
uint32_t  SimulationIndex 
)

◆ get_architecture()

Architecture mulator::Emulator::get_architecture ( ) const

◆ get_cpu_state()

CPU_State mulator::Emulator::get_cpu_state ( ) const

◆ get_decoder()

InstructionDecoder mulator::Emulator::get_decoder ( ) const

◆ get_emulated_time()

u32 mulator::Emulator::get_emulated_time ( ) const

◆ get_flash()

u8 * mulator::Emulator::get_flash ( ) const

◆ get_flash_offset()

u32 mulator::Emulator::get_flash_offset ( ) const

◆ get_flash_size()

u32 mulator::Emulator::get_flash_size ( ) const

◆ get_PRNG_randomness()

u32 mulator::Emulator::get_PRNG_randomness ( )

◆ get_ram()

u8 * mulator::Emulator::get_ram ( ) const

◆ get_ram_offset()

u32 mulator::Emulator::get_ram_offset ( ) const

◆ get_ram_size()

u32 mulator::Emulator::get_ram_size ( ) const

◆ get_time()

u32 mulator::Emulator::get_time ( ) const

◆ in_IT_block()

bool mulator::Emulator::in_IT_block ( ) const

◆ is_running()

bool mulator::Emulator::is_running ( ) const

◆ last_in_IT_block()

bool mulator::Emulator::last_in_IT_block ( ) const

◆ read_memory()

void mulator::Emulator::read_memory ( u32  address,
u8 buffer,
u32  len 
) const

◆ read_register()

u32 mulator::Emulator::read_register ( Register  reg) const

◆ set_cpu_state()

void mulator::Emulator::set_cpu_state ( const CPU_State state)

◆ set_flash_region()

void mulator::Emulator::set_flash_region ( u32  offset,
u32  size 
)

◆ set_ram_region()

void mulator::Emulator::set_ram_region ( u32  offset,
u32  size 
)

◆ stop_emulation()

void mulator::Emulator::stop_emulation ( )

◆ write_memory()

void mulator::Emulator::write_memory ( u32  dst_address,
const u8 buffer,
u32  len 
)

◆ write_register()

void mulator::Emulator::write_register ( Register  reg,
u32  value 
)

Member Data Documentation

◆ m_pipeline_cpu_states

std::vector<CPU_State> mulator::Emulator::m_pipeline_cpu_states

Definition at line 176 of file emulator.h.

◆ m_pipeline_stages

uint32_t mulator::Emulator::m_pipeline_stages

Definition at line 175 of file emulator.h.


The documentation for this class was generated from the following file: