Files
fail/ovp/OVPStatusRegister.hpp
hsc b70b6fb43a another directory rename: failstar -> fail
"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
2012-03-08 19:43:02 +00:00

53 lines
1.1 KiB
C++

#ifndef __OVPSTATUSREGISTER_HPP__
#define __OVPSTATUSREGISTER_HPP__
#include "SAL/ovp/OVPRegister.hpp"
/**
* \class OVPStatusRegister
* Abstract class for status register implementation
*/
class OVPStatusRegister : public sal::OVPRegister {
protected:
public:
OVPStatusRegister(uint32_t width, void *link)
: sal::OVPRegister(width, link, sal::RT_ST) { }
~OVPStatusRegister() {}
virtual bool getSignFlag() const = 0;
virtual bool getZeroFlag() const = 0;
virtual bool getCarryFlag() const = 0;
virtual bool getOverflowFlag() const = 0;
virtual void setSignFlag(bool) = 0;
virtual void setZeroFlag(bool) = 0;
virtual void setCarryFlag(bool) = 0;
virtual void setOverflowFlag(bool) = 0;
/**
* Invert bit at specific position of status register
* @param pos position of bit to invert
*/
/* void invertBit(int pos) {
size_t val;
size_t chpos = 1 << pos;
icmReadRegInfoValue(cpuP, cpsr, (void *)&val);
// get bit
bool bit = (val >> pos) & 0x1;
if(bit == 0) {
chpos = ~chpos;
val = val & chpos;
} else {
val = val | chpos;
}
}*/
};
#endif