git-svn-id: https://www4.informatik.uni-erlangen.de/i4svn/danceos/trunk/devel/fail@1321 8c4709b5-6ec9-48aa-a5cd-a96041d1645a
64 lines
1.1 KiB
C++
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
|