Commit graph

61 commits

Author SHA1 Message Date
Unknown W. Brackets
05ab192c9c Reduce includes in Core/HLE/.
Especially templates.
2014-03-15 11:22:19 -07:00
Unknown W. Brackets
1b1a8cef02 Fix a potential null pointer. 2013-10-05 11:13:40 -07:00
Unknown W. Brackets
49bd553238 Avoid some shadowing warnings. 2013-10-05 11:13:39 -07: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
be468af52d Refactor waiting thread removal. 2013-09-09 00:22:00 -07:00
Unknown W. Brackets
4bd391b098 Refactor waiting thread cleanup. 2013-09-09 00:22:00 -07:00
Unknown W. Brackets
d348b9d47a Add callback handlers for msgpipes. 2013-09-08 15:06:36 -07:00
Unknown W. Brackets
9a2beffea5 Refactor and add a way to remove msgpipe waits. 2013-09-08 15:06:35 -07:00
Unknown W. Brackets
f59d799a5b Reorganize msgpipes code a bit to prep. for cbs.
No real changes.
2013-09-08 15:06:34 -07:00
Unknown W. Brackets
136d0b5c50 Split msgpipe handling logic from wait/resched.
This way I can reuse it for the callback stuff.
2013-09-08 15:06:34 -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
7349de55d1 Fix some initialization/sprintf warnings. 2013-09-01 01:15:07 -07:00
Henrik Rydgard
0d0b43818c Warning fixes and stuff 2013-08-30 20:14:16 +02:00
Unknown W. Brackets
686d893d5c Return more correct errors inside interrupts. 2013-08-28 22:35:06 -07:00
Unknown W. Brackets
61fae4e920 Return proper errors while dispatch disabled.
In at least the majority of waits.
2013-08-27 23:55:37 -07:00
Unknown W. Brackets
354dbfec6c Improve some reporting of options structs. 2013-08-25 16:43:47 -07:00
Unknown W. Brackets
ec46fdd06c Warning fixes in msgpipes. 2013-08-24 15:36:24 -07:00
Unknown W. Brackets
4f7f963274 Correct sceKernelReferMsgPipeStatus(). 2013-08-18 18:45:43 -07:00
Unknown W. Brackets
a53c5d291c Update result on non-buffer receive empty too. 2013-08-18 18:45:43 -07:00
Unknown W. Brackets
2d1b2bc769 Writing 0s on delete/cancel wasn't right after all. 2013-08-18 18:45:43 -07:00
Unknown W. Brackets
642e7b255e Drain as much as possible before waiting. 2013-08-18 18:45:42 -07:00
Unknown W. Brackets
e6236a1d31 Fix sceKernelReceiveMsgPipe() with no buffer.
And simplify, reschedule correctly.
2013-08-18 18:45:42 -07:00
Unknown W. Brackets
b7ea35b71d Add some error checking to msgpipe receives. 2013-08-18 18:38:14 -07:00
Unknown W. Brackets
e2f0dfe243 Wrap sceKernelReceiveMsgPipe() and friends. 2013-08-18 18:38:14 -07:00
Unknown W. Brackets
6750794c8a Fix a weird sceKernelTrySendMsgPipe() edge case. 2013-08-18 18:38:12 -07:00
Unknown W. Brackets
769bac3acf Fix send of 0 bytes, more error handling. 2013-08-18 18:38:12 -07:00
Unknown W. Brackets
29067edf52 When sorting, also clear not waiting threads. 2013-08-18 18:38:11 -07:00
Unknown W. Brackets
23625eec30 Simplify and fix msgpipe send queuing logic.
Should reschedule, should wait in line, couple error messages.
2013-08-18 18:38:11 -07:00
Unknown W. Brackets
27268967f9 Sort msgpipe waits while waking (like others.) 2013-08-18 18:38:10 -07:00
Unknown W. Brackets
4be06d2432 Wrap the msgpipe send functions. 2013-08-18 18:38:10 -07:00
Unknown W. Brackets
653e0f9629 Don't wait on a msgpipe when timeout <= 2. 2013-08-18 18:38:09 -07:00
Unknown W. Brackets
8a5dadcf53 Start out with 0 written msgpipe bytes. 2013-08-18 18:38:09 -07:00
Unknown W. Brackets
b06de35536 Verify msgpipe threads are waiting before waking. 2013-08-18 18:38:08 -07:00
Unknown W. Brackets
b9a71640eb Implement basic timeouts for msg pipes. 2013-08-18 18:38:08 -07:00
Unknown W. Brackets
88b333bd16 Don't even try to allocate a 0 sized buffer. 2013-08-18 18:38:07 -07:00
Unknown W. Brackets
fa73875c98 Clean up cancel and delete for msgpipes. 2013-08-18 18:38:07 -07:00
Unknown W. Brackets
23a48ba799 Return better results from msgpipe waits.
Not fully tested, but it's clearer to specify.  Delete and cancel are sure
to have been wrong.
2013-08-18 18:38:06 -07:00
Unknown W. Brackets
6577a7f920 Cleanup some minor usage in msgpipes. 2013-08-18 18:38:06 -07:00
Unknown W. Brackets
666cee4f6a Fix sceKernelCreateMsgPipe() and alloc psp memory.
Might not matter, but I'm not sure yet if it's expoesd somewhere.
2013-08-18 18:38:05 -07:00
Unknown W. Brackets
81f7103e0b Use *_le for the sceKernel* funcs. 2013-07-25 08:04:34 -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
25f1001db3 Priority-based msgpipes never woke anyone.
Really need to write tests for this and get into it, I guess...

Fixes Final Fantasy Tactics.
2013-03-31 16:58:15 -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
140fd171ef Fix some 64-bit type conversion warnings. 2013-01-19 13:48:20 -08:00
Henrik Rydgård
95c4e0b9c4 Quick build fix for gcc 2012-12-28 23:33:00 +01: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
644e6b615c Fix memory leak in msgpipe when loading state. 2012-12-28 13:55:31 -08:00