rpcsx/rpcs3/Emu/Cell/SPURSManager.h

53 lines
882 B
C
Raw Normal View History

#pragma once
2014-06-07 17:32:15 +08:00
class SPURSManagerEventFlag
{
public:
2014-08-24 00:40:04 +04:00
SPURSManagerEventFlag(u32 flagClearMode, u32 flagDirection);
2014-06-07 17:32:15 +08:00
2014-08-31 16:12:09 -04:00
u32 _getDirection() const
2014-06-07 17:32:15 +08:00
{
return this->flagDirection;
}
2014-08-31 16:12:09 -04:00
u32 _getClearMode() const
2014-06-07 17:32:15 +08:00
{
return this->flagClearMode;
}
protected:
be_t<u32> flagClearMode;
be_t<u32> flagDirection;
};
class SPURSManagerTasksetAttribute
{
public:
SPURSManagerTasksetAttribute(u64 args, vm::ptr<const u8> priority, u32 maxContention);
protected:
be_t<u64> args;
be_t<u32> maxContention;
};
class SPURSManagerTaskset
{
public:
SPURSManagerTaskset(u32 address, SPURSManagerTasksetAttribute *tattr);
protected:
u32 address;
SPURSManagerTasksetAttribute *tattr;
};
// Main SPURS manager class.
class SPURSManager
{
public:
2014-09-15 22:17:30 +04:00
SPURSManager();
void Finalize();
void AttachLv2EventQueue(u32 queue, vm::ptr<u8> port, int isDynamic);
void DetachLv2EventQueue(u8 port);
};