Commit Graph
403 Commits
Author SHA1 Message Date
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
Unknown W. Brackets 91632a1ea5 Add some fallback logic when scheduling dies. 2015-09-12 13:36:52 -07:00
Unknown W. Brackets c03b163537 Move ThreadQueueList to a separate file.
Not reused anywhere, but just so it's a little cleaner.
2015-09-12 13:03:15 -07:00
Unknown W. Brackets a1139a4f45 Add some comments to the thread queue handling. 2015-09-12 12:57:44 -07:00
Unknown W. Brackets 909e4b9bd8 Switch lo and hi so that low comes first.
This way we can treat it as a single 64-bit value.
2015-06-28 10:42:19 -07:00
Henrik Rydgard 8dc77ff32e ARM64: Turn off some debugging stuff, start implementing instructions. Something is wrong though, if I implement more than addiu things break.. 2015-04-06 18:13:09 +02:00
Unknown W. Brackets 2450724be2 Make Memory::Memcpy() execute memchecks directly.
This makes it easier to handle breakpoints in HLE.
2015-04-05 18:09:20 -07:00
Unknown W. Brackets 8d5f843bb8 Cleanup thread start and create logging.
Also report less cases.
2015-03-28 14:46:09 -07:00
Unknown W. Brackets fc3d6ff04a Disable reporting for some thread funcs.
We know they are misused and it's not giving us extra information.
2015-03-28 14:32:32 -07:00
Unknown W. Brackets 0aaabcaac9 Clear old registered action types on reset. 2015-03-28 13:01:49 -07:00
Unknown W. Brackets c2153ff976 Add new logging in sceKernelCreateThread(). 2015-03-22 21:22:40 -07:00
Unknown W. Brackets 110cc119ce Change some logging in the last Callback func. 2015-03-22 20:51:56 -07:00
Unknown W. Brackets 52a37c1330 Actually use the table's arg and ret masks. 2015-03-22 20:51:56 -07:00
Unknown W. Brackets fcf0518223 Update all the HLE tables with arg and ret info. 2015-03-22 20:51:55 -07:00
Unknown W. Brackets 41631eb2b1 Try a different format of HLE logging. 2015-03-22 20:49:42 -07:00
Henrik Rydgard fd1dcb881f Add ability to flag function to clear a bit of stack. See #6374, idea by JPCSP, pointed out by sum2012. 2015-03-02 01:03:12 +01:00
ChinandHenrik Rydgard 22593cddcc Use pre-increment instead of post-increment for iterators, and use auto for some iterators 2015-03-01 16:55:47 +01:00
Unknown W. Brackets d5c7fb3f0e Avoid an out of bounds mem access. 2015-01-17 18:43:03 -08:00
sum2012andHenrik Rydgard 589cf551a0 Revert "Fixed an issue when MipsCall executed on any random thread instead of it's own thread causing some registers to be corrupted and leading to invalid address access"
This reverts commit 8a65d73ad2.
2015-01-04 13:04:05 +01:00
AdamNandHenrik Rydgard 1c7152db3a Adding Branch opcode to the MAKE_MIPS
Temp revert old version to fix conflict; Implementing built-in PRO Adhoc Server; Add back sceUsbGps

Implementing more Adhoc functions, and some bug fix (i don't remember them anymore)
2015-01-04 13:04:02 +01:00
AdamNandHenrik Rydgard 69fb339a83 Fixed an issue when MipsCall executed on any random thread instead of it's own thread causing some registers to be corrupted and leading to invalid address access 2015-01-04 13:04:01 +01:00
Unknown W. Brackets e6a50a1371 Initialize vfpu regs are NAN, not 0.0.
This matches tests, the fpu, and seems logical.
2015-01-03 10:40:21 -08: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 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