Commit Graph

518 Commits

Author SHA1 Message Date
Unknown W. Brackets 140fd171ef Fix some 64-bit type conversion warnings. 2013-01-19 13:48:20 -08:00
Unknown W. Brackets 4a56873541 Properly wake semaphores in priority order. 2013-01-18 01:38:13 -08:00
Unknown W. Brackets dcd3045cd5 Always use -1 for failed allocs in block allocator.
Before it used 0 and -1, confusing.
2013-01-18 01:38:12 -08:00
Henrik Rydgård e23365dfa9 Merge pull request #430 from unknownbrackets/thread-funcs
Remove some thread stack hacks that aren't needed.
2013-01-15 23:40:19 -08:00
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