rpcsx/rpcs3/Emu/Cell/PPCThread.cpp

43 lines
864 B
C++
Raw Normal View History

#include "stdafx.h"
#include "PPCThread.h"
2014-08-22 18:36:27 +02:00
#include "Emu/Memory/Memory.h"
PPCThread* GetCurrentPPCThread()
{
CPUThread* thread = GetCurrentCPUThread();
if(!thread || (thread->GetType() != CPU_THREAD_PPU && thread->GetType() != CPU_THREAD_SPU && thread->GetType() != CPU_THREAD_RAW_SPU))
{
throw std::string("GetCurrentPPCThread: bad thread");
}
return (PPCThread*)thread;
}
PPCThread::PPCThread(CPUThreadType type) : CPUThread(type)
{
}
PPCThread::~PPCThread()
{
}
void PPCThread::DoReset()
{
}
void PPCThread::InitStack()
{
if(m_stack_addr) return;
if(m_stack_size == 0) m_stack_size = 0x10000;
2014-09-15 00:17:24 +02:00
m_stack_addr = (u32)Memory.StackMem.AllocAlign(m_stack_size, 0x100);
/*
m_stack_point += m_stack_size - 0x10;
m_stack_point &= -0x10;
2014-09-06 15:33:01 +02:00
vm::write64(m_stack_point, 0);
m_stack_point -= 0x60;
2014-09-06 15:33:01 +02:00
vm::write64(m_stack_point, m_stack_point + 0x60);
*/
}