364 Commits

Author SHA1 Message Date
Unknown W. Brackets
8c07a5c87f Remove some thread stack hacks that aren't needed. 2013-01-15 19:46:52 -08:00
Henrik Rydgard
3615b36a82 Store fcr0 and fcr31 in context (why was this commented out?) 2013-01-10 12:52:30 +01:00
Henrik Rydgard
789c4781c0 Merge remote-tracking branch 'origin/master' into armjit
Conflicts:
	Core/HLE/sceKernelThread.cpp
2013-01-09 00:43:44 +01:00
Henrik Rydgard
8c06edc47b It's getting close to the first totally unoptimized jit run. 2013-01-08 17:03:17 +01:00
Unknown W. Brackets
1f21ea4236 Implement sceKernelReleaseWaitThread(). 2013-01-07 19:44:39 -08:00
Unknown W. Brackets
0eb13142aa Avoid calling thread->getName() in release builds.
Profile shows this will save a couple percentage points.
2013-01-07 18:09:26 -08:00
Unknown W. Brackets
138b3a0823 Add warnings to sceKernelCreateThread().
Trying to check when it's being misused.
2013-01-07 18:09:23 -08:00
Unknown W. Brackets
ea9e87b355 Correct error codes for sceKernelWaitThreadEnd(). 2013-01-07 15:43:37 -08:00
Unknown W. Brackets
3b5d1efd56 Implement timeouts for sceKernelWaitThreadEnd(). 2013-01-07 11:11:23 -08:00
Unknown W. Brackets
666ba6ecc3 Properly set thread status on create/term/start. 2013-01-07 10:45:56 -08:00
Unknown W. Brackets
c88ae1e34c Make sceKernelWaitThreadEnd return the exit status.
Also fix the exit status not being recorded properly.
2013-01-07 10:31:19 -08:00
Unknown W. Brackets
5ac7f6a211 Clean up sceKernelWaitThreadEnd() wrappers. 2013-01-07 10:02:11 -08:00
Henrik Rydgard
2f69250fc0 Store fcr0 and fcr31 in context (why was this commented out?) 2013-01-07 13:42:05 +01:00
Unknown W. Brackets
21cfd087e1 Move Action out of Common, don't use savedV0.
Compiler error was annoying me anyway.
2013-01-06 15:56:13 -08:00
Unknown W. Brackets
0d8bdfe989 Allow mipscalls to change the return value.
At least, seems like mpeg needs this.
2013-01-06 14:58:04 -08:00
Henrik Rydgard
b8eab42add Add support for a couple of sceIoIoctl commands. Init some vars. 2013-01-06 09:54:43 +01:00
Henrik Rydgard
596dee2871 Turn down log level for sceKernelDelaySysClockThread. Minimum wait time 200. 2013-01-05 23:54:55 +01:00
Henrik Rydgard
9fe592e83a Implement sceKernelDelaySysClockThreadCB 2013-01-05 23:24:05 +01:00
Henrik Rydgard
b283b915cb Implement sceKernelReferThreadRunStatus 2013-01-05 23:07:13 +01:00
Henrik Rydgard
6ecf2d235c Fix integer overflow in scheduling. 2013-01-05 22:44:30 +01:00
Henrik Rydgard
5ba5ceff19 Merge branch 'master' into mediaengine 2013-01-05 16:22:08 +01:00
Arthur Blot
b12bc54dda Fixed threads/k0 test, updated pspautotests 2013-01-04 17:07:17 +01:00
Arthur Blot
a693081b17 Fixed $k0 overwriting $sp content & stack address 2013-01-04 00:58:36 +01:00
Henrik Rydgard
972e4ea4e4 Warning fixes, prevent a possible (but unlikely) crash 2013-01-02 21:05:00 +01:00
Henrik Rydgård
1ea34bb6e8 Stub out all of VTimer. 2012-12-30 21:30:33 +01:00
Unknown W. Brackets
6f9f9e1c98 Merge branch 'master' into mediaengine.
Note: doesn't compile, just fixes conflicts.

Conflicts:
	Core/HLE/sceKernel.cpp
	Core/HLE/sceKernelThread.cpp
	Core/HLE/sceKernelThread.h
2012-12-28 22:32:56 -08:00
Unknown W. Brackets
bcecd881b1 Savestate cleanup + be more careful with vectors.
For some reason I debugged it going into std::string so I just made
them all more explicit which fixed everything.
2012-12-28 13:55:31 -08:00
Unknown W. Brackets
4b39e39455 Start save stating the filesystem state.
Plus minor fixes and at least an attempt to make states the same
on both 32 and 64 bit.
2012-12-28 13:55:27 -08:00
Unknown W. Brackets
b81899876f Don't leak MipsCall objects. 2012-12-28 13:55:26 -08:00
Unknown W. Brackets
a8c9c31e16 Add a registry for actions so they can be stated.
Also add late loaders to ensure things are hooked up properly.
2012-12-28 13:55:26 -08:00
Unknown W. Brackets
f5dd7f03e8 Change threadqueue and currentThread to be SceUIDs.
hmm, kind of a big change.  Tried to add some checks to be safe.
2012-12-28 13:55:25 -08:00
Unknown W. Brackets
595759ef78 Implement a factory for kernel objects.
Couldn't think of a better way to do this, maybe there's some fancy
one I don't know about.

Also finished up a couple left over kernel objects.

Maybe a quarter the way there?
2012-12-28 13:55:22 -08:00
Unknown W. Brackets
23db819e90 No longer need this forward decl. 2012-12-24 01:42:33 -08:00
Unknown W. Brackets
49d4c45670 Make sure threading state is cleared on shutdown. 2012-12-23 21:49:44 -08:00
Unknown W. Brackets
9ba0ed46fd Always create CoreTiming timers during kernel init. 2012-12-23 21:27:26 -08:00
Henrik Rydgård
862a11e7be Clear some state between runs. Tabs fixing. 2012-12-23 11:16:32 +01:00
Unknown W. Brackets
66e942c545 Fix some "might be null" warnings. 2012-12-21 16:25:05 -08:00
Florent Castelli
c33eafd430 Warning fixes 2012-12-21 23:02:35 +01:00
Henrik Rydgard
4efb66fdb6 Fix hw transform and audio on android, misc 2012-12-21 12:57:43 +01:00
Unknown W. Brackets
5a501bb5ff Fix minor typo. 2012-12-21 01:03:46 -08:00
Henrik Rydgard
8104a4af5b Prettify logging of context switches 2012-12-20 15:23:15 +01:00
Henrik Rydgard
fbc825a73d Buildfix 2012-12-19 18:35:20 +01:00
Henrik Rydgard
90e87ead84 Fix a relative path issue - apparently paths starting with '/' are still relative. 2012-12-18 14:13:35 +01:00
Unknown W. Brackets
35a38ac6b9 Ensure interrupts don't run on real threads.
If a thread waits on a sema, and an interrupt (such as an alarm) happens,
and the interrupt signals or deletes the sema, it needs to return the
value correctly.

For callbacks, it's injected, since they run on thread.  But interrupts
aren't supposed to run on thread anyway, so this switches to idle.
2012-12-18 01:49:53 -08:00
Henrik Rydgard
ab35c7f612 Merge branch 'master' into mediaengine 2012-12-18 00:05:09 +01:00
Henrik Rydgard
5a11d4d9c5 Implement sceKernelGetThreadmanIdList (partially) 2012-12-17 22:21:17 +01:00
Henrik Rydgard
bc214dcf37 Merge branch 'master' into mediaengine
Conflicts:
	Common/LogManager.cpp
	Core/CMakeLists.txt
	Core/Core.vcxproj
	Core/Core.vcxproj.filters
	Core/CoreParameter.h
	Core/HLE/sceAudio.cpp
	Core/HLE/sceKernel.cpp
	Core/HLE/sceKernelThread.cpp
	Core/HLE/sceMpeg.cpp
	android/jni/Android.mk
2012-12-17 18:48:32 +01:00
Sacha
a1781b854a Symbian support for project.
New UNUSABLE_MMAP code path for platforms that cannot use the required flags (Xbox 360, Symbian). Falls back to malloc() instead.
N1 define for compilers (GCCE) that don't like to assume (int)-1 will safely cast to (char)-1.
Miscellaneous space->tab fixes.
2012-12-13 13:15:20 +10:00
Unknown W. Brackets
955247b939 Minor opt: skip the deferred resched in idle.
This will probably be called most the frequently, e.g. to switch
between idle0 and idle1.
2012-12-09 22:50:57 -08:00
Unknown W. Brackets
36fb1a8392 Don't resume sleeping/etc. threads after cbs.
This could happen in a few cases, including the cb affecting its
own wait status.
2012-12-09 21:40:03 -08:00