"failstar" sounds like a name for a cruise liner from the 80s. As "*" isn't a desirable part of directory names, just name the whole thing "fail/", the core parts being stored in "fail/core/". Additionally fixing two build system dependency issues: - missing jobserver -> protomessages dependency - broken bochs -> fail dependency (add_custom_target DEPENDS only allows plain file dependencies ... cmake for the win) git-svn-id: https://www4.informatik.uni-erlangen.de/i4svn/danceos/trunk/devel/fail@956 8c4709b5-6ec9-48aa-a5cd-a96041d1645a
46 lines
1.5 KiB
C++
46 lines
1.5 KiB
C++
#ifndef BEFORE_INSTRUCTION_HPP
|
|
#define BEFORE_INSTRUCTION_HPP
|
|
|
|
#include "icm/icmCpuManager.hpp"
|
|
|
|
using namespace icmCpuManager;
|
|
|
|
/**
|
|
* Prints all the registers for an ARM Cortex M3 processor.
|
|
* @param processor The processor (must be an ARM Cortex M3)
|
|
*/
|
|
void printArmCortexM3Registers(icmProcessorObject processor);
|
|
|
|
/**
|
|
* Reads a register and stores its content in an Uns32 variable.
|
|
* @param processor The processor for which to read the register
|
|
* @param regName The name of the register as a string
|
|
* @param value The address of where to store the register's content
|
|
*/
|
|
Bool readRegister(icmProcessorObject processor, char *regName, Uns32 &value);
|
|
|
|
/**
|
|
* Writes the value given as an Uns32 variable to a register.
|
|
* @param processor The processor for which to write the variable
|
|
* @param regName The name of the register as a string
|
|
* @param newValue The address of the new value to be written to the register
|
|
*/
|
|
Bool writeRegister(icmProcessorObject processor, char *regName, Uns32 &newValue);
|
|
|
|
|
|
/**
|
|
* Adds a breakpoint for simulateUntilBreakpoint
|
|
* @param breakAddr The address to be added as a breakpoint
|
|
*/
|
|
void addBreakpoint(Addr breakAddr);
|
|
|
|
/**
|
|
* Simulates until breakpoint,
|
|
* or the entire application file at once if no breakpoint was added.
|
|
* Returns the address of the next instruction,
|
|
* or zero if simulation did not stop at a breakpoint.
|
|
* @param processor The processor to run the simulation on
|
|
*/
|
|
Addr simulateUntilBP(icmProcessorObject processor);
|
|
|
|
#endif |