2016-01-07 13:48:45 +01:00
|
|
|
#include <coreinit/core.h>
|
2016-01-06 00:24:54 +01:00
|
|
|
#include <coreinit/debug.h>
|
2016-01-07 13:48:45 +01:00
|
|
|
#include <coreinit/thread.h>
|
2015-12-27 03:22:53 +01:00
|
|
|
|
2016-01-07 13:48:45 +01:00
|
|
|
int
|
|
|
|
CoreEntryPoint(int argc, const char **argv)
|
2015-12-27 03:22:53 +01:00
|
|
|
{
|
2016-01-07 13:48:45 +01:00
|
|
|
OSReport("Hello world from %s", argv[0]);
|
|
|
|
return argc;
|
|
|
|
}
|
|
|
|
|
|
|
|
int
|
|
|
|
main(int argc, char **argv)
|
|
|
|
{
|
|
|
|
OSReport("Main thread running on core %d", OSGetCoreId());
|
|
|
|
|
|
|
|
// Run thread on core 0
|
|
|
|
OSThread *threadCore0 = OSGetDefaultThread(0);
|
|
|
|
|
|
|
|
const char *core0Args[] = {
|
|
|
|
"Core 0"
|
|
|
|
};
|
|
|
|
|
|
|
|
OSRunThread(threadCore0, CoreEntryPoint, 0, core0Args);
|
|
|
|
|
|
|
|
// Run thread on core 2
|
|
|
|
OSThread *threadCore2 = OSGetDefaultThread(2);
|
|
|
|
|
|
|
|
const char *core2Args[] = {
|
|
|
|
"Core 2"
|
|
|
|
};
|
|
|
|
|
|
|
|
OSRunThread(threadCore2, CoreEntryPoint, 2, core2Args);
|
|
|
|
|
|
|
|
// Wait for threads to return
|
|
|
|
int resultCore0 = -1, resultCore2 = -1;
|
|
|
|
OSJoinThread(threadCore0, &resultCore0);
|
|
|
|
OSJoinThread(threadCore2, &resultCore2);
|
|
|
|
|
|
|
|
OSReport("Core 0 thread returned %d", resultCore0);
|
|
|
|
OSReport("Core 2 thread returned %d", resultCore2);
|
|
|
|
return 0;
|
2015-12-27 03:22:53 +01:00
|
|
|
}
|