Commit graph

98 commits

Author SHA1 Message Date
Unknown W. Brackets
e2ecd1eabd Add memchecks for ReadStruct/WriteStruct. 2015-04-05 18:09:35 -07:00
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
d637de8b4c Eat some cycles when signaling semaphores.
Seems to match tests.
2014-09-01 21:12:56 -07:00
Unknown W. Brackets
c5b15cc9fc Adjust semaphore timing slightly.
This matches tests a bit better.
2014-09-01 20:03:58 -07:00
Unknown W. Brackets
0a33eb4c42 Fix missing log semicolons only affecting logging. 2014-06-29 19:09:39 -07:00
Henrik Rydgard
38609f3e6b Cleam up thread names a bit, name the Main thread.
Also makes some logging VERBOSE.
2014-06-29 12:53:03 +02:00
Unknown W. Brackets
4471b968e8 Increase timeout delay time for waits.
Had previously had these lower, but my testing was biased by how quick
other things in ppsspp were.
2014-06-27 00:58:59 -07:00
Unknown W. Brackets
05ab192c9c Reduce includes in Core/HLE/.
Especially templates.
2014-03-15 11:22:19 -07:00
lioncash
b9886942a7 Fix some vertical alignments in misc Core source files. 2014-03-03 11:16:53 -05:00
Unknown W. Brackets
fdbc36fb20 Fix semaphores not waking on fifo timeout. 2014-02-02 14:18:28 -08:00
Unknown W. Brackets
50e9e45d65 Check version in each DoState() func.
They bail on PointerWrap error or bad version.
2013-09-14 20:23:03 -07:00
Unknown W. Brackets
4bd391b098 Refactor waiting thread cleanup. 2013-09-09 00:22:00 -07:00
Henrik Rydgard
8c88dff5a4 More log categories, use them (and existing ones). Improve log config. 2013-09-07 22:02:55 +02:00
Unknown W. Brackets
f35b164d11 Refactor wait verification a bit in kernel waits. 2013-09-07 10:54:00 -07:00
Unknown W. Brackets
543df7ca7a Refactor wait timeouts.
Also, make them not write the timeout ptr if the thread stopped waiting.
Feels safer.
2013-09-03 22:32:22 -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
Henrik Rydgard
0d0b43818c Warning fixes and stuff 2013-08-30 20:14:16 +02:00
Unknown W. Brackets
1ee99f88e1 Stop warning on invalid sempahores.
They've been helpful, but it's finally been a while since it's mattered.
2013-08-18 18:38:04 -07:00
Unknown W. Brackets
008052e6d6 Fix some variable hiding warnings. 2013-08-12 23:32:38 -07:00
Henrik Rydgard
ee215cc316 ARMJIT: Fix eatprefix, add DirtyInInV mapping, misc stuff 2013-07-30 18:15:48 +02:00
Henrik Rydgard
6ed4e348db Some logging tweaks, fix running cpu tests on ARM 2013-07-30 01:09:10 +02:00
Unknown W. Brackets
81f7103e0b Use *_le for the sceKernel* funcs. 2013-07-25 08:04:34 -07:00
Unknown W. Brackets
bf652e4f46 Don't report for <= 4 sized option parameters.
Also don't crash in sceKernelCreateVTimer(NULL, NULL).
2013-07-07 21:16:28 -07:00
Unknown W. Brackets
933c8abb55 Check kernel object types when looking up ids.
Some games misuse it, need to return an error.
2013-06-18 23:54:29 -07:00
Unknown W. Brackets
77b0688d92 Recalculate numWaitThreads all the time.
Before, it could go negative by having a thread woken a second time
(e.g. because of a delete) before it actually scheduled and woke up.
2013-05-27 22:44:10 -07:00
Unknown W. Brackets
47ffd3b14e Report less for semaphores options with no size. 2013-05-18 16:34:35 -07:00
Unknown W. Brackets
ac9e936ba8 Fix sema and event flag refer to check size.
If it's zero, write nothing, just like the others.
2013-05-18 13:46:50 -07:00
Unknown W. Brackets
9ce8c07530 Reschedule the timeout event on callback end.
Darn, missed that 3 times before I caught it.
2013-04-14 21:34:33 -07:00
Unknown W. Brackets
0918ec8598 Return negative for UnscheduleEvent().
It usually won't be, but it could be negative.

Also some other minor warnings.
2013-04-05 20:44:17 -07:00
Unknown W. Brackets
52a8997006 These are actually okay, happen on the second cb. 2013-03-30 16:12:40 -07:00
Unknown W. Brackets
fe60677f75 Make mutexes handle callbacks better + before.
Mutex and semaphores (but NOT lwmutexes) call callbacks before attempting
the lock, but only if it would not generate errors.

Have not yet tested other wait types.
2013-03-30 16:12:38 -07:00
Unknown W. Brackets
eace0e75c1 sceKernelWaitSemaCB() should run callbacks first.
Patapon 2 gets back to the menu with this.
2013-03-30 16:12:38 -07:00
Unknown W. Brackets
63bde2cb59 Handle waits inside semaphore waits properly. 2013-03-30 16:12:38 -07:00
Unknown W. Brackets
e4223dbcb0 Simplify adding report messages, add a bunch more. 2013-03-26 00:54:00 -07:00
Unknown W. Brackets
e133d33167 Don't re-wake a thread already woken by delete.
Arg, I thought I'd changed this already.
2013-03-24 22:54:09 -07:00
Unknown W. Brackets
3b452e970d Semaphores always wait when others are waiting. 2013-03-24 21:56:05 -07:00
Unknown W. Brackets
2a6457b6ab Cut down on h files including PointerWrap.
This makes changes to it a bit faster to build.
2013-02-04 08:26:59 -08:00
Unknown W. Brackets
1cb7a88137 Don't use a dynamic string for wait debugging.
Happens in release, and shows up on the profiler.
Not huge, but should save ~0.5% of cpu time.
2013-01-26 11:29:19 -08:00
Unknown W. Brackets
43c8726554 Oops, 0 is a valid timer id. 2013-01-18 01:38:14 -08:00
Unknown W. Brackets
4a56873541 Properly wake semaphores in priority order. 2013-01-18 01:38:13 -08:00
Unknown W. Brackets
305c41c932 Prevent duplicate waiting threads in sema/mutex.
If something did a tight loop of a short wait/timeout, it might end
up getting on the waitingThreads list multiple times.

Eventually this caused a massive performance problem.
2012-12-31 23:23:52 -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
3ed2045f6b Add state saving to tertiary kernel modules. 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
991243fffd Add basic DoState() to tertiary kernel objects. 2012-12-28 13:52:52 -08:00
Henrik Rydgård
b2f29992a3 Wrap some functions, clean some stuff 2012-12-26 08:52:40 +01:00
Unknown W. Brackets
9ba0ed46fd Always create CoreTiming timers during kernel init. 2012-12-23 21:27:26 -08:00
Unknown W. Brackets
87fcdc9080 Use KERNELOBJECT_MAX_NAME_LENGTH for name length.
Just avoiding magic numbers, didn't know there was a constant.
2012-12-16 21:36:52 -08:00