Lioncash
cac632424c
Core: Add missing override specifiers
2014-12-08 15:20:31 -05:00
Lioncash
4ccb838306
Core: Mark some module functions as static
2014-12-08 04:40:08 -05:00
Unknown W. Brackets
0f45c3516d
Skip setting a0 in the idle thread.
...
We don't need the param for our fake syscall. This is safe since it's all
savestated.
2014-10-12 12:51:48 -07:00
Unknown W. Brackets
feada0ee65
Adjust some logging.
...
Report logic op more correctly, cleanup an incorrect log.
2014-09-28 15:13:52 -07:00
Henrik Rydgård
b2f5efaa50
Merge pull request #6822 from unknownbrackets/thread-funcs
...
Improve some timing / thread funcs
2014-09-02 09:49:46 +02:00
Unknown W. Brackets
c9df66a450
Initialize the VFPU revision from a PSP-3000 value.
2014-09-01 23:16:50 -07:00
Unknown W. Brackets
2923800217
Eat some cycles when starting a thread.
...
Seems to improve a test a bit, based on tests.
2014-09-01 21:12:13 -07:00
Unknown W. Brackets
909ac62669
Return a proper error for fake TMIDs.
2014-08-17 14:38:56 -07:00
Unknown W. Brackets
6852e32d6b
Support other thread TMIDs in uid listing.
2014-08-17 14:38:55 -07:00
Unknown W. Brackets
b8f8707ea1
Allow a bad pts on zero size when listing uids.
2014-08-17 14:38:55 -07:00
Unknown W. Brackets
feeb03b5ff
Fix return values in sceKernelGetThreadmanIdList().
...
Support other object types as well, but not threads/etc. properly yet.
2014-08-17 14:38:54 -07:00
Unknown W. Brackets
292a9ea567
Clear module text and bss on unload.
...
Text is set to break instructions, data/bss to -1. Matches results on a
PSP.
2014-07-13 22:00:32 -07:00
Unknown W. Brackets
98d3dc4be8
Typos.
2014-07-12 13:48:30 -07:00
Unknown W. Brackets
ef4847b6f5
Don't double decrease g_inCbCount.
...
Happened when a thread was deleted, it seems like. Fixes #6542 .
2014-07-12 09:57:13 -07:00
Unknown W. Brackets
0a33eb4c42
Fix missing log semicolons only affecting logging.
2014-06-29 19:09:39 -07:00
Unknown W. Brackets
0078faef8b
Fix some log semicolons that might affect logic.
...
But, these should all be right.
2014-06-29 19:09:38 -07:00
Unknown W. Brackets
1c3b60a8ee
Allow changing software skinning at runtime.
2014-06-28 21:46:43 -07:00
Unknown W. Brackets
b4594c7bc5
Avoid Advance() twice, cleanup some comments.
2014-06-28 16:20:35 -07:00
Unknown W. Brackets
b68ad3844e
Simplify __KernelReSchedule().
...
It no longer needs all these checks, and we can Advance within callbacks,
interrupts, etc. safely.
2014-06-28 16:17:52 -07:00
Unknown W. Brackets
0edeb085ab
Allow rescheduling within callbacks.
2014-06-28 14:58:56 -07:00
Unknown W. Brackets
10096b94f2
Correctly remember callback status when sleeping.
...
If a callback triggered right away after a sceKernelSleepThreadCB(), it
would trigger the "current callback" and remember callback status as
false, instead of true (since it was set later.)
This corrects that by ignoring it if both are set.
2014-06-28 03:06:30 -07:00
Unknown W. Brackets
5ab3750186
Reduce the thread switching cost.
...
Maybe it was actually too high. Some tests fail with it that high.
2014-06-27 01:00:11 -07:00
Unknown W. Brackets
4626e63294
Wake good pri threads immediately from delays.
2014-06-24 00:45:38 -07:00
Unknown W. Brackets
118736ff75
Don't eat extra cycles when idling.
...
Rescheduling between threads takes about 3000 cycles, but that's not true
for both sides of e.g. a delay.
Fixes #6409 (assuming 60fps is what a PSP gets.)
2014-06-23 23:02:46 -07:00
Unknown W. Brackets
c1e293fe7c
Fix a warning on 32-bit that might be bad...
2014-06-22 22:17:48 -07:00
Unknown W. Brackets
392edb4f84
Eat some cycles when switching threads.
...
There's a cost and it seems to be at least this much. Matters for
Wipeout Pure when callbacks are allowed to wait.
2014-06-22 22:17:47 -07:00
Unknown W. Brackets
e8803c4e9b
Improve sceKernelDelayThread() timing.
...
A delay of 0 never reschedules, actually, unless there's a better priority
thread. A greater delay depends on if a >= or similar check matches, but
generally is at least 200us.
It seems like this actually completes in at least another 10-20us.
2014-06-22 19:47:54 -07: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
c142207a93
Fix a few warnings, mostly type comparisons.
2014-05-31 21:42:57 -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
Henrik Rydgard
89fbe8f761
Reduce some logspam
2014-05-08 10:40:58 +02:00
Unknown W. Brackets
641064f0bc
Consistently use MIPS_REG_V0 for return values.
...
This way all instances are a lot easier to search for (was trying to find
where we were writing an incorrect value to v0, turns out to be callback
related of course.)
2014-03-04 08:21:55 -08:00
lioncash
b9886942a7
Fix some vertical alignments in misc Core source files.
2014-03-03 11:16:53 -05:00
Unknown W. Brackets
8aceba732a
Stop reporting null thread args with size.
...
Must've been a mistake in the test, can no longer reproduce the crash.
2014-03-02 16:59:50 -08:00
chinhodado
23cce7d25a
remove a redundant check
2014-02-15 19:39:13 -05:00
Unknown W. Brackets
48fd33b201
Remove callback return injection and related.
...
With paused waits, this is no longer correct. Callbacks still don't allow
waits inside callbacks yet (they should.)
2014-01-31 12:22:39 -08:00
Unknown W. Brackets
c9b037815f
Reschedule instead of switching to delayed threads.
...
This will hopefully take care of #5263 , and might fix other issues too.
If a thread goes into a wait, it may reschedule right into an interrupt.
In this case, it would've been switched back to, and woken up early.
2014-01-28 22:10:28 -08:00
Unknown W. Brackets
21cdcb5c0d
Force rescheduling within a callback.
...
Seems to fix #4914 . We already have a larger bug for callbacks.
2014-01-27 07:38:53 -08:00
Unknown W. Brackets
cb4e72058a
Report usage if callback "injection."
...
These are generally giving incorrect results, but it will help to know
what games are triggering it.
2014-01-26 18:41:42 -08:00
Unknown W. Brackets
efa6640807
Report any missing wait type handling funcs.
2014-01-26 17:14:11 -08:00
Ced2911
2c522cda9a
[core] fix some endian bugs
2014-01-26 14:26:27 -08:00
Unknown W. Brackets
ab49de0331
Eat some cycles when getting the current thread id.
2014-01-19 12:44:55 -08:00
Unknown W. Brackets
73d6accafc
Eat a few cycles when checking callbacks.
...
Some games really spam this function.
2014-01-19 12:44:54 -08:00
Unknown W. Brackets
553990d5a0
Eat cycles when messing with the dispatch thread.
2014-01-19 12:44:53 -08:00
Unknown W. Brackets
1a38f6fa7d
Properly remove terminated thread from ready queue.
...
If we change the priority first, we'll remove from the wrong priority
level, oops. Gotta change afterward.
Should improve Darkstalkers Chronicle: The Chaos Tower.
2014-01-09 22:05:04 -08:00
Unknown W. Brackets
183b4cb45c
Add a static method for creating PSPPointers.
...
This is still kinda ugly, but the assignment thing was just too ugly, I
couldn't do it anymore.
2013-12-16 23:50:52 -08: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
7dedf54bc3
Always resched in thread queue rotation.
...
It might be time to reschedule anyway, some games call this in a loop with
an empty queue.
May help Harukanaru Toki No Naka de Hachiyoushou (#4669.)
2013-11-29 08:59:47 -08:00
Henrik Rydgard
f9f6e9492d
Reorder vfpu data in saved kernel contexts when loading in a new version.
2013-11-28 13:27:51 +01:00
Henrik Rydgard
55500d4bb6
Reorder VFPU registers in memory so that we can flush and reload them in bulk more often.
...
Doesn't actually do that yet, that's for the NEON branch.
2013-11-28 13:27:51 +01:00