Henrik Rydgård
e184ed368d
Kernel: Add a little paranoia check on chained mipscalls.
...
See #13057
2020-07-12 10:39:25 +02:00
sum2012
9900a761f8
oop
2020-05-30 19:44:48 +08:00
sum2012
d347d3b216
Remove log as @unknownbrackets suggest
2020-05-30 19:19:33 +08:00
Unknown W. Brackets
e8b651fbd6
Thread: Default to kernel threads from kernel.
...
This is an experiment. In most cases, allowKernel will be false.
2020-05-25 18:59:07 +08:00
Unknown W. Brackets
9cb74691b6
Core: Add argmask for threadhacks to prevent crash.
...
Every HLEFunction should have an argmask. Some asserts for shutdown
crashes someone was seeing when calling HLE funcs from a shutdown
function.
2020-03-22 23:33:05 -07:00
Unknown W. Brackets
54e1afda1e
HLE: Make calling mips funcs simpler.
...
This makes their return value handling, scheduling, etc. more
straight-forward.
2020-03-22 06:59:43 -07:00
shenweip
c7db6b6466
Merge branch 'master' into Font-alloc/free
2020-03-16 08:16:50 +08:00
shenweip
2f088d0970
No need to manually decide pending or not for mipscalls.
2020-03-16 07:46:13 +08:00
Unknown W. Brackets
7d36b70a8e
Kernel: Rename conflicting kernel object names.
...
These are names that can often conflict with system headers in ports.
Let's just simplify by prefixing with PSP.
No actual functional/code changes, just syntax and names.
2020-03-15 08:33:40 -07:00
shenweip
3ffb20b66b
Font:alloc/free memory for font file and char bitmap.
...
Following the guide of JPCSP.
2020-03-15 23:05:28 +08:00
Unknown W. Brackets
1422c8d21b
Kernel: Delay better in sceKernelReferThreadStatus.
...
Sometimes this is called in loops, so correct timing for errors.
2020-02-22 04:29:23 -08:00
Unknown W. Brackets
f63daf8185
Io: Change async thread priority if running.
...
Really thought I'd already done this, must've made a mistake...
Fixes #12400 .
2019-10-20 10:26:37 -07:00
Unknown W. Brackets
4065fae262
Io: Destroy async threads on reset.
...
Oops, this left us in a different state on exit.
2019-10-20 10:25:57 -07:00
Unknown W. Brackets
f1037248f1
Io: Store sceIoChangeAsyncPriority value.
...
Also some prep for async threaded IO.
2019-09-01 08:16:05 -07:00
Unknown W. Brackets
dd804660c9
Psmf: Use kernel memory for helper thread stack.
...
Also, thread stacks must be 0x200 or larger.
2019-09-01 08:16:05 -07:00
Unknown W. Brackets
f244b390ae
Kernel: Kernel threads can beget kernel threads.
...
Fixes #7687 .
2019-03-23 12:05:06 -07:00
Unknown W. Brackets
fd8a0612fa
SaveState: Initialize some memory that is saved.
...
At the very least, will help them compress better. Also good not to leak
random memory.
2018-06-22 21:29:18 -07:00
Unknown W. Brackets
5bfba9b284
Debugger: Add HLE API funcs.
...
Lumping function symbols in here too, they're pretty related...
2018-06-08 06:59:18 -07:00
Unknown W. Brackets
5670fc03ae
Debugger: Add debug interfaces for threads.
...
This way we can switch context.
2018-06-08 06:59:18 -07:00
Unknown W. Brackets
09e307b097
arm64jit: Update rounding mode on thread switch.
...
Since fcr31 is per-thread, we must update jit state when it changes.
This also fixes the rounding mode on load state and jit/interp switch.
2018-04-01 10:12:32 -07:00
Unknown W. Brackets
6149ac584f
jit: Add interface to precompile functions.
...
This doesn't actually do any preloading yet, it just adds an API.
2018-01-06 16:43:38 -08:00
Henrik Rydgård
d6b7cde718
Fix a use-after-free in sceKernelTerminateDeleteThread
2017-12-03 02:33:50 +01:00
Unknown W. Brackets
9af0397e84
Kernel: Fix delete thread null check.
2017-11-25 14:08:50 -08:00
Henrik Rydgård
4cdbe0b957
Fix an ancient bug in sceKernelExitDeleteThread
2017-03-10 00:11:01 +01:00
latot
7047ad2271
fix sscanf types
2016-12-02 22:46:52 -03:00
Unknown W. Brackets
d876da1a01
Initialize fp correctly on a new thread.
2016-09-05 08:57:09 -07:00
Unknown W. Brackets
1e51a03d5a
Point ra to the correct place on a new thread.
...
Turns out some games read the ra, maybe long jmps or something?
2016-09-05 08:56:27 -07:00
Unknown W. Brackets
8df298f622
Thread: Auto-resume dispatch for worse threads.
...
Seems this doesn't happen when you start a better priority thread, pretty
reproducibly.
2016-05-31 09:55:20 -07:00
Unknown W. Brackets
197f3393df
Thread: Better/minor accuracy for sysclock delay.
...
Certain negative values shouldn't cause a delay, could help if a game has
a bug.
2016-05-31 09:55:19 -07:00
Unknown W. Brackets
d0d570c6ac
ThreadEvent: Delete threads after handler runs.
...
It should actually run on the thread itself, it seems, but that's probably
not as important as the thread still existing. This allows the handler to
get the thread name or etc.
2016-05-30 13:00:23 -07:00
Unknown W. Brackets
65820d6184
Thread: Use a short delay for 0us delays after all.
...
It seems the behavior varies. Should help #6924 and #6981 .
2016-05-29 22:04:47 -07:00
Unknown W. Brackets
4fc12cdd29
ThreadEvent: Handle getting scheduled off a thread.
2016-05-29 00:59:52 -07:00
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
ceb36fc81d
ThreadEvent: Allow an exit event handler on self.
2016-05-28 21:17:54 -07:00
Unknown W. Brackets
be1cde15ba
ThreadEvent: Initial support for create/delete.
2016-05-28 21:17:36 -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
04576189b4
Callbacks: Fix delete when multiple for a thread.
...
Oops, this was deleting all after the deleted one.
2016-05-28 21:15:25 -07:00
Henrik Rydgard
4197148dc4
Add some paranoid checks hoping to fix crashes reported in Google Play developer console.
2016-04-09 18:27:35 +02:00
Unknown W. Brackets
ef1dc583a2
Fix various minor warnings.
2016-03-20 14:17:51 -07:00
Unknown W. Brackets
8c337850fc
Disallow thread termination in interrupts.
...
But only for certain SDK versions, as per testing.
2015-11-15 11:38:59 -08:00
Unknown W. Brackets
9591db2daa
Cleanup RETURN() in __KernelWaitCurThread().
...
This hasn't been needed for a while.
2015-10-24 13:11:07 -07:00
Henrik Rydgard
b07b002040
Introduce "Compatibility Flags".
...
These should be used very restrictively, see comment in Compatibility.h.
Should help #8004 , by disabling depth rounding in Fight Night round 3.
2015-09-27 01:23:20 +02:00
Unknown W. Brackets
91632a1ea5
Add some fallback logic when scheduling dies.
2015-09-12 13:36:52 -07:00
Unknown W. Brackets
c03b163537
Move ThreadQueueList to a separate file.
...
Not reused anywhere, but just so it's a little cleaner.
2015-09-12 13:03:15 -07:00
Unknown W. Brackets
a1139a4f45
Add some comments to the thread queue handling.
2015-09-12 12:57:44 -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
Henrik Rydgard
8dc77ff32e
ARM64: Turn off some debugging stuff, start implementing instructions. Something is wrong though, if I implement more than addiu things break..
2015-04-06 18:13:09 +02:00
Unknown W. Brackets
2450724be2
Make Memory::Memcpy() execute memchecks directly.
...
This makes it easier to handle breakpoints in HLE.
2015-04-05 18:09:20 -07:00
Unknown W. Brackets
8d5f843bb8
Cleanup thread start and create logging.
...
Also report less cases.
2015-03-28 14:46:09 -07:00