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
Unknown W. Brackets
bb10140728
Oops, event flags weren't always deleting properly.
...
Added some comments to explain why removal from waitingThreads is
deferred. Also had to move things around so the right outBitsPtr
is always written to on timeouts.
2012-12-15 01:36:53 -08:00
Unknown W. Brackets
67f7f6b05d
Oops, these flags can be or'd together of course.
2012-12-14 23:24:04 -08:00
Unknown W. Brackets
45258bb61f
Cleanup behavior in sceKernel*EventFlag() funcs.
...
Biggest change is just that sceKernelSetEventFlag() rescheds.
2012-12-14 21:25:29 -08:00