1
0
Fork 0
forked from suyu/suyu

svc: enabled use of newly created kernel thread handle

This commit is contained in:
bunnei 2014-05-20 23:36:35 -04:00
parent eb537c560a
commit 706584f007

View file

@ -162,8 +162,7 @@ Result GetResourceLimitCurrentValues(void* _values, Handle resource_limit, void*
} }
/// Creates a new thread /// Creates a new thread
Result CreateThread(void* thread, u32 priority, u32 entry_point, u32 arg, u32 stack_top, Result CreateThread(u32 priority, u32 entry_point, u32 arg, u32 stack_top, u32 processor_id) {
u32 processor_id) {
std::string name; std::string name;
if (Symbols::HasSymbol(entry_point)) { if (Symbols::HasSymbol(entry_point)) {
TSymbol symbol = Symbols::GetSymbol(entry_point); TSymbol symbol = Symbols::GetSymbol(entry_point);
@ -177,9 +176,10 @@ Result CreateThread(void* thread, u32 priority, u32 entry_point, u32 arg, u32 st
"threadpriority=0x%08X, processorid=0x%08X", entry_point, name.c_str(), arg, stack_top, "threadpriority=0x%08X, processorid=0x%08X", entry_point, name.c_str(), arg, stack_top,
priority, processor_id); priority, processor_id);
Handle handle = Kernel::CreateThread(name.c_str(), entry_point, priority, processor_id, Handle thread = Kernel::CreateThread(name.c_str(), entry_point, priority, processor_id,
stack_top); stack_top);
Core::g_app_core->SetReg(1, 0xFEEDDEAF);
Core::g_app_core->SetReg(1, thread);
return 0; return 0;
} }
@ -231,7 +231,7 @@ const HLE::FunctionDef SVC_Table[] = {
{0x05, NULL, "SetProcessAffinityMask"}, {0x05, NULL, "SetProcessAffinityMask"},
{0x06, NULL, "GetProcessIdealProcessor"}, {0x06, NULL, "GetProcessIdealProcessor"},
{0x07, NULL, "SetProcessIdealProcessor"}, {0x07, NULL, "SetProcessIdealProcessor"},
{0x08, WrapI_VUUUUU<CreateThread>, "CreateThread"}, {0x08, WrapI_UUUUU<CreateThread>, "CreateThread"},
{0x09, NULL, "ExitThread"}, {0x09, NULL, "ExitThread"},
{0x0A, NULL, "SleepThread"}, {0x0A, NULL, "SleepThread"},
{0x0B, NULL, "GetThreadPriority"}, {0x0B, NULL, "GetThreadPriority"},