Commit Graph
446 Commits
Author SHA1 Message Date
Henrik Rydgård 97cfb64272 Warning fixes 2020-07-20 22:55:32 +02:00
Henrik Rydgård df6d0a8ae7 PSP kernel: Improve logging when accessing bad kernel object handles. 2020-07-20 11:57:11 +02:00
Henrik Rydgård c5e0b799d9 Remove category from _assert_msg_ functions. We don't filter these by category anyway.
Fixes the inconsistency where we _assert_ didn't take a category but
_assert_msg_ did.
2020-07-19 20:33:25 +02:00
Unknown W. Brackets fc00b1b972 Kernel: Check thread switch PC in release.
Hopefully won't be noticeable, it's not that hot and very cheap.
2020-07-13 01:51:11 -07:00
Unknown W. Brackets 940066db68 Core: Track exception on bad jumps. 2020-07-12 21:59:08 -07:00
Unknown W. Brackets 04c15c82c9 Kernel: Add a bit more thread info on crash. 2020-07-12 21:22:47 -07:00
Henrik Rydgård 1010a07f65 Expose more information on the crash screen (current kernel thread) 2020-07-12 16:47:53 +02:00
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. Bracketsandsum2012 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
shenweipandGitHub 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