rpcsx/rpcs3/Emu/Cell/RawSPUThread.h

29 lines
596 B
C
Raw Normal View History

#pragma once
2015-08-02 04:15:49 +02:00
#include "SPUThread.h"
2015-03-11 16:30:50 +01:00
enum : u32
{
2015-08-02 04:15:49 +02:00
RAW_SPU_OFFSET = 0x00100000,
RAW_SPU_BASE_ADDR = 0xE0000000,
RAW_SPU_LS_OFFSET = 0x00000000,
2015-03-11 16:30:50 +01:00
RAW_SPU_PROB_OFFSET = 0x00040000,
};
force_inline static u32 GetRawSPURegAddrByNum(int num, int offset)
{
return RAW_SPU_OFFSET * num + RAW_SPU_BASE_ADDR + RAW_SPU_PROB_OFFSET + offset;
}
2015-07-01 00:25:52 +02:00
class RawSPUThread final : public SPUThread
{
public:
2015-07-01 00:25:52 +02:00
RawSPUThread(const std::string& name, u32 index);
2015-07-19 13:36:32 +02:00
bool read_reg(const u32 addr, u32& value);
bool write_reg(const u32 addr, const u32 value);
private:
2015-11-26 09:06:29 +01:00
virtual void cpu_task() override;
};