Unknown W. Brackets
97cce6ccfe
ThreadEvent: Trigger handlers for start/exit too.
...
Start isn't in the right place or on the right thread, and exit isn't on
the right thread either. But these don't seem very particular about what
thread they run on.
2016-05-28 21:19:28 -07:00
Unknown W. Brackets
c6cd614f2b
Thread: Allow mipscalls to be scheduled in a row.
...
Should be fine to just use the stack to save these things, likely that's
what happens in real firmware. This fixes issues when a second mipscall
is scheduled in the same HLE syscall.
2016-05-28 21:18:03 -07:00
Unknown W. Brackets
e9916bdf0b
ThreadEvent: Add management functions.
...
Currently never being triggered, though.
2016-05-28 21:17:16 -07:00
Unknown W. Brackets
909e4b9bd8
Switch lo and hi so that low comes first.
...
This way we can treat it as a single 64-bit value.
2015-06-28 10:42:19 -07:00
Unknown W. Brackets
8d5f843bb8
Cleanup thread start and create logging.
...
Also report less cases.
2015-03-28 14:46:09 -07:00
Unknown W. Brackets
fcf0518223
Update all the HLE tables with arg and ret info.
2015-03-22 20:51:55 -07:00
Henrik Rydgard
fd1dcb881f
Add ability to flag function to clear a bit of stack. See #6374 , idea by JPCSP, pointed out by sum2012.
2015-03-02 01:03:12 +01:00
Peter Tissen
a7d9370a69
don't use Thread* to create thread
...
slightly less hacky, as in, a little bit closer to what the actual PSP does, although the timings are still complete guesses
also
* Protect the adhoc Events by a mutex lock
* don't use emplace_back since symbian doesn't compile with it
2015-01-04 18:58:42 +01:00
sum2012
589cf551a0
Revert "Fixed an issue when MipsCall executed on any random thread instead of it's own thread causing some registers to be corrupted and leading to invalid address access"
...
This reverts commit 8a65d73ad2
.
2015-01-04 13:04:05 +01:00
AdamN
3dc6eed05b
Giving access to some Kernel functions in order to execute MipsCall on the right thread instead of any random thread (current thread)
2015-01-04 13:04:01 +01:00
AdamN
69fb339a83
Fixed an issue when MipsCall executed on any random thread instead of it's own thread causing some registers to be corrupted and leading to invalid address access
2015-01-04 13:04:01 +01:00
Unknown W. Brackets
8851fc1685
Remove savedIdRegister/MIPS_CALL_ID.
...
We've never trusted it anyway, simpler without dealing with this stuff.
2014-06-22 11:29:47 -07:00
Unknown W. Brackets
b9ede6aade
Add a class to create helper threads from HLE.
...
This should be usable from sceIo as well.
2014-05-22 23:38:21 -07:00
Unknown W. Brackets
a843cbd580
Shrink the very common sceKernelThread.h include.
2014-03-15 11:44:02 -07:00
lioncash
b9886942a7
Fix some vertical alignments in misc Core source files.
2014-03-03 11:16:53 -05:00
Henrik Rydgård
e5e17fbc6e
More include cleanup. Hoping for very slightly faster compile times..
2013-12-30 10:49:05 +01:00
Henrik Rydgård
00c32ddadb
Mostly get rid of including "Globals.h"
2013-12-30 10:17:11 +01:00
Unknown W. Brackets
e73d43c434
Correct sceKernelTlspl func names, etc.
...
This is mostly pedantic but it's nice to have the right names.
2013-12-02 23:40:16 -08:00
Unknown W. Brackets
26f5922174
Return the correct value for fcr0/fir.
...
This is what the PSP actually returns, it's read only.
2013-11-14 23:39:08 -08:00
Unknown W. Brackets
04ec987448
Initialize thread regs with 0xDEADBEEF.
...
Also initialize the float regs to NaN.
2013-10-29 21:39:24 -07:00
Unknown W. Brackets
b928f50353
Cleanup sceKernelRegisterExitCallback() per tests.
2013-09-29 01:10:07 -07:00
Unknown W. Brackets
a7ec139b5a
Savestate the exit callback, reporting.
...
Seems like LoadExecForUser_362A956B() uses it, so we need to save it.
I have no confidence that function works correctly, so let's report it.
2013-09-29 00:19:54 -07:00
Unknown W. Brackets
64b75ed3ff
Decentralize callback registration.
...
Callbacks are always tied to THEIR thread, and the registration was all
based on the current thread which is just not the right way.
2013-09-09 00:21:15 -07:00
Unknown W. Brackets
6d8213b0c5
Always specify retval when resuming a thread.
2013-09-08 12:02:18 -07:00
Unknown W. Brackets
4c828cd9a0
Remove __KernelTriggerWait(), no longer used.
2013-09-08 11:58:40 -07:00
Unknown W. Brackets
d8d8d3b0ec
Use a different wait type for async io.
2013-09-07 11:04:42 -07:00
Unknown W. Brackets
2a7e9a5afc
Cleanup sceKernelCreateCallback().
...
And tweak sceKernelReferCallbackStatus().
2013-09-03 22:18:15 -07:00
Unknown W. Brackets
b20bb3b609
Refactor down the begin/end callback stuff.
2013-09-03 01:21:52 -07:00
Unknown W. Brackets
1bf974aff6
Implement VPL/FPL callback handlers.
...
Smells like time to refactor, there are less differences than I expected.
2013-09-03 01:21:51 -07:00
Unknown W. Brackets
252bf04c64
sceKernelDelaySysClockThread() cleanup.
...
It doesn't wait either of course.
2013-08-27 23:55:35 -07:00
Unknown W. Brackets
fa57e23305
Implement volatile memory lock waiting.
2013-08-26 01:04:37 -07:00
Unknown W. Brackets
846178a588
Optimize thread switching a bit.
...
~2.5% improvement in Zettai Hero Project (while multithreading.)
2013-08-15 01:26:16 -07:00
Unknown W. Brackets
7ac67a8931
Add a function to walk the stack, not yet perfect.
...
Could use improvements, but with a decent symbol table does very well so
far in the games I tested it in.
2013-08-12 01:54:14 -07:00
Unknown W. Brackets
4a4f07df8e
Add waiting/resuming to TLS funcs.
...
Nice and simple, no callbacks or timeouts.
2013-07-31 00:22:36 -07:00
Unknown W. Brackets
81f7103e0b
Use *_le for the sceKernel* funcs.
2013-07-25 08:04:34 -07:00
Unknown W. Brackets
88ce95470c
This one is worth reporting.
2013-07-07 18:10:32 -07:00
Kingcom
82c242f237
Added "Wait type" and "Priority" columns to thread list
2013-07-06 21:40:41 +02:00
Unknown W. Brackets
0c41d4e952
Don't allow release wait for HLE delays.
...
Although, presumably the thread would stop waiting, I guess the HLE func
in most cases probably checks and re-waits?
Fixes breakage in Jeanne d' Arc, which constantly releases from wait the
main thread, but calls things like sceMpegCreate which do block.
2013-06-08 23:39:49 -07:00
Unknown W. Brackets
32a557803b
Reporting in sceKernelChangeCurrentThreadAttr().
2013-06-06 00:08:24 -07:00
Unknown W. Brackets
e16cd7d9d9
Validate params in sceKernelChangeThreadPriority().
2013-06-05 23:04:42 -07:00
Unknown W. Brackets
f397f83b4f
Buildfix for Mac / iOS.
2013-05-26 19:02:40 -07:00
Unknown W. Brackets
0d828554bc
Add a wait type for modules to handle return right.
2013-05-26 10:54:11 -07:00
Unknown W. Brackets
c34854ead3
Use a custom RA for module funcs. Not used yet.
...
But it will be.
2013-05-26 10:28:08 -07:00
Unknown W. Brackets
a779645152
Wrap sceKernelGetThreadExitStatus().
...
So it's usable internally too.
2013-05-26 10:17:59 -07:00
Unknown W. Brackets
e6795b1a41
Initial attempt at a suspend/resume thread impl.
2013-05-26 01:01:29 -07:00
Unknown W. Brackets
084ad5aa53
Wrap the sleep/wakeup HLE funcs.
2013-05-25 20:43:19 -07:00
Unknown W. Brackets
0fb5877d75
Implement sceKernelExtendThreadStack().
...
Fixes #1833 . Implemented using fake nids instead of callbacks since
it's simpler to get them (and waits and recursion) right.
2013-05-18 20:21:28 -07:00
nachume
2181b76c42
ISO that replaced EBOOT.BIN is playable.
...
implement LoadExecForUer_362A956B() and sceKernelRegisterExitCallback.
Add some ERROR define on kernel.h. I was referring to the jpcsp.
2013-05-04 20:34:33 +09:00
Unknown W. Brackets
d131588a6d
Validate sceKernelStartThread() args better.
2013-04-28 00:34:49 -07:00
JimLee168
3ce26e03df
Add part sceKernelExtendThreadStack content
...
Fixes NPJH50624
2013-04-19 22:22:35 +08:00