Files
fail/simulators/ovp/OVPPlatform.hpp

64 lines
1.1 KiB
C++

#ifndef __OVPPLATFORM_HPP__
#define __OVPPLATFORM_HPP__
#include <string>
/**
* \class OVPPlatform
* OVPPlatform is the layer/interface which connects SAL and the OVP platform.
*/
class OVPPlatform {
public:
/**
* The current OVP platform has to set a pointer to itself so that
* OVPPlatform can execute OVP functions using the correct platform
* @param ovpcpu void ptr to the OVPCpu object
*/
void setCpu(void *);
/**
* Set value to a register
* @param link Pointer to the OVP register
* @param val Value the register is set to
*/
void setRegisterData(void *, unsigned int);
/**
* Retrieves value from a register
* @param link Pointer to the OVP register
* @return value of the register
*/
unsigned int getRegisterData(void *);
/**
* Get the program counter
* @return current program counter
*/
uint32_t getPC();
/**
* Set the program counter
*/
void setPC(uint32_t);
/**
* Get the stack pointer
* @return current stack pointer
*/
uint32_t getSP();
/**
* Save cpu status
*/
void save(const string&);
/**
* Restore cpu status
*/
void restore(const string&);
};
#endif