MCPcopy Create free account
hub / github.com/cemu-project/Cemu / InitializeThread

Function InitializeThread

src/Cafe/OS/libs/coreinit/coreinit_Thread.cpp:1554–1609  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

1552 }
1553
1554 void InitializeThread()
1555 {
1556 cafeExportRegister("coreinit", OSCreateThreadType, LogType::CoreinitThread);
1557 cafeExportRegister("coreinit", OSCreateThread, LogType::CoreinitThread);
1558 cafeExportRegister("coreinit", __OSCreateThreadType, LogType::CoreinitThread);
1559 cafeExportRegister("coreinit", OSExitThread, LogType::CoreinitThread);
1560
1561 cafeExportRegister("coreinit", OSGetCurrentThread, LogType::CoreinitThread);
1562 cafeExportRegister("coreinit", OSSetThreadSpecific, LogType::CoreinitThread);
1563 cafeExportRegister("coreinit", OSGetThreadSpecific, LogType::CoreinitThread);
1564 cafeExportRegister("coreinit", OSSetThreadName, LogType::CoreinitThread);
1565 cafeExportRegister("coreinit", OSGetThreadName, LogType::CoreinitThread);
1566
1567 cafeExportRegister("coreinit", OSRunThread, LogType::CoreinitThread);
1568 cafeExportRegister("coreinit", OSDetachThread, LogType::CoreinitThread);
1569 cafeExportRegister("coreinit", OSJoinThread, LogType::CoreinitThread);
1570
1571 cafeExportRegister("coreinit", OSResumeThread, LogType::CoreinitThread);
1572 cafeExportRegister("coreinit", OSContinueThread, LogType::CoreinitThread);
1573 cafeExportRegister("coreinit", OSSuspendThread, LogType::CoreinitThread);
1574 cafeExportRegister("coreinit", __OSSuspendThreadNolock, LogType::CoreinitThread);
1575 cafeExportRegister("coreinit", OSSleepThread, LogType::CoreinitThread);
1576 cafeExportRegister("coreinit", OSWakeupThread, LogType::CoreinitThread);
1577
1578 cafeExportRegister("coreinit", OSYieldThread, LogType::CoreinitThread);
1579 cafeExportRegister("coreinit", OSSleepTicks, LogType::CoreinitThread);
1580
1581 cafeExportRegister("coreinit", OSSetThreadDeallocator, LogType::CoreinitThread);
1582 cafeExportRegister("coreinit", OSSetThreadCleanupCallback, LogType::CoreinitThread);
1583 cafeExportRegister("coreinit", OSSetThreadPriority, LogType::CoreinitThread);
1584 cafeExportRegister("coreinit", OSGetThreadPriority, LogType::CoreinitThread);
1585 cafeExportRegister("coreinit", OSSetThreadAffinity, LogType::CoreinitThread);
1586 cafeExportRegister("coreinit", OSGetThreadAffinity, LogType::CoreinitThread);
1587
1588 cafeExportRegister("coreinit", OSIsThreadTerminated, LogType::CoreinitThread);
1589 cafeExportRegister("coreinit", OSIsThreadSuspended, LogType::CoreinitThread);
1590 cafeExportRegister("coreinit", OSCancelThread, LogType::CoreinitThread);
1591 cafeExportRegister("coreinit", OSTestThreadCancel, LogType::CoreinitThread);
1592
1593 cafeExportRegister("coreinit", OSGetDefaultThread, LogType::CoreinitThread);
1594
1595 // OSThreadQueue
1596 cafeExportRegister("coreinit", OSInitThreadQueue, LogType::CoreinitThread);
1597 cafeExportRegister("coreinit", OSInitThreadQueueEx, LogType::CoreinitThread);
1598
1599 OSInitThreadQueue(g_activeThreadQueue.GetPtr());
1600 for (sint32 i = 0; i < PPC_CORE_COUNT; i++)
1601 OSInitThreadQueue(g_coreRunQueue.GetPtr() + i);
1602
1603 for (sint32 i = 0; i < PPC_CORE_COUNT; i++)
1604 __currentCoreThread[i] = nullptr;
1605
1606 __OSInitDefaultThreads();
1607 __OSInitTerminatorThreads();
1608
1609 }
1610}

Callers 1

coreinit_loadFunction · 0.85

Calls 4

OSInitThreadQueueFunction · 0.85
__OSInitDefaultThreadsFunction · 0.85
GetPtrMethod · 0.45

Tested by

no test coverage detected