Commit Graph
120 Commits
Author SHA1 Message Date
Henrik RydgårdandClaude Sonnet 5 21b7ce7392 Expose EventFlag/Mutex/Semaphore/MsgPipe/Callback in their headers
These KernelObject subclasses (and their Native* status structs) were
private implementation details of their respective .cpp files. Move them
into the matching .h instead, so external code - specifically the upcoming
WebSocket kernel-object introspection endpoints - can read a live object's
state directly via kernelObjects.Get<T>()/Iterate<T>(), the same way
PSPModule/PSPThread already can. Read-only by convention: nothing outside
each file should call DoState() or otherwise mutate these; the fields are
public here for that file's own pre-existing use, not an invitation to
write from elsewhere.

To avoid pulling each type's full dependency set (Memory::, BlockAllocator,
CoreTiming, HLEKernel::...) into headers many other files include, non-trivial
method bodies (DoState, and MsgPipe's buffer/wait-list management) are
declared in the header but still defined out-of-line in the .cpp, same as
before - only genuinely trivial one-liners went inline.

KernelObjectPool also gains IterateAll(), a type-agnostic sibling of the
existing Iterate<T>() - walks every live kernel object regardless of type,
for a coarse "what's alive right now" overview.

No behavior change - this is a pure visibility/declaration-vs-definition
move, not new functionality. That lands in a follow-up commit.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01GZq8ZtJmFY7bkX5FVkr3P9
2026-08-17 16:01:23 +02:00
Henrik Rydgård 5198317e24 Back out some excessive checking in the latest changes. Change TOOD: to TODO: . 2026-08-11 22:27:44 +02:00
Henrik Rydgård 0596ee97f6 More memory access cleanup 2026-08-11 20:14:01 +02:00
Henrik Rydgård e2bc017112 More removals of Read_U32 2026-08-10 11:17:45 +02:00
Henrik Rydgård 2d208ca7d9 Remove Read_U32 from sceKernelMutex 2026-08-10 11:02:25 +02:00
Henrik Rydgård 41b77bf1ae More log cleanup 2025-04-14 22:27:51 +02:00
Henrik Rydgård b5a959c294 Reduce logspam. No need to log in KernelObjectPool::Get, all callers should log on failure themselves. 2025-04-03 22:10:22 +02:00
Henrik Rydgård 999bf59ae1 Move mutex error codes into the big enum 2025-03-21 20:44:46 +01:00
Henrik Rydgård 0f9c97c2a0 Another big batch of logging cleanup 2025-03-05 17:02:46 +01:00
Henrik Rydgård ad2791a9cf More HLE logging cleanup 2025-03-05 17:02:46 +01:00
Henrik Rydgård cb180bf781 A lot of log cleanup. It's quite useful as a forcing function to find missing logs. 2025-03-05 17:02:46 +01:00
Henrik Rydgård 28b2c7f540 HLE log rename part 1: Remove duplicate log functions. Return type should be determined by metadata. 2025-01-29 09:45:39 +01:00
Henrik Rydgård e01ca5b057 Logging API change (refactor) (#19324)
* Rename LogType to Log

* Explicitly use the Log:: enum when logging. Allows for autocomplete when editing.

* Mac/ARM64 buildfix

* Do the same with the hle result log macros

* Rename the log names to mixed case while at it.

* iOS buildfix

* Qt buildfix attempt, ARM32 buildfix
2024-07-14 14:42:59 +02:00
Unknown W. Brackets a000c32820 Kernel: Stop reporting invalid mutex names.
We know this behavior is correct, let's just make it logging.
2022-10-16 08:40:01 -07:00
lainon 3cdf72b68b Better readability and optimization insertion into container by replacing 'insert' -> 'emplace', 'push_back' -> 'emplace_back' 2022-09-30 12:35:28 +03:00
Unknown W. Brackets ccd4e92184 Kernel: Use PSPPointer for status objects.
Code makes more sense when reading ->size rather than offset 0.
2022-09-03 10:44:12 -07:00
Henrik Rydgård 5200208a84 Revert "Merge pull request #15930 from sum2012/kernel-minor"
This reverts commit fd863beb96, reversing
changes made to 59813fff6d.
2022-09-01 20:44:00 +02:00
sum2012 75390be142 Fix sceKernelUnlockMutex timing
Fix https://github.com/hrydgard/ppsspp/issues/6557
2022-08-30 20:46:43 +08:00
Unknown W. Brackets 41da6d9f48 Kernel: Adjust timings of LwMutex and EventFlag.
This better matches tests on real firmware.  These funcs are sometimes
often used.  See #15348 - Corpse Party.
2022-01-29 23:19:53 -08:00
aliaspider 9a3e5879bb Global: Correct many endian types and casts. 2021-02-18 22:25:24 -08:00
Unknown W. Brackets b8342fb8ec SaveState: Rename ChunkFile files to Serialize.
Makes more sense and less weird than ChunkFileDoMap, etc.
2020-08-10 08:04:05 +00:00
Unknown W. Brackets 1dc5ee424b SaveState: Split out Do types to reduce headers. 2020-08-10 08:03:44 +00:00
Unknown W. Brackets 4b4e3432cd SaveState: Split Do() into a separate header. 2020-08-10 08:03:41 +00:00
Henrik Rydgård df6d0a8ae7 PSP kernel: Improve logging when accessing bad kernel object handles. 2020-07-20 11:57:11 +02:00
Henrik Rydgård c5e0b799d9 Remove category from _assert_msg_ functions. We don't filter these by category anyway.
Fixes the inconsistency where we _assert_ didn't take a category but
_assert_msg_ did.
2020-07-19 20:33:25 +02:00
Unknown W. Brackets 7d36b70a8e Kernel: Rename conflicting kernel object names.
These are names that can often conflict with system headers in ports.
Let's just simplify by prefixing with PSP.

No actual functional/code changes, just syntax and names.
2020-03-15 08:33:40 -07:00
Henrik Rydgård e981139e71 Some constification in ElfReader, sanity checks in sceKernelMutex. Might help #9718 a little bit, though probably not the Elf issue (and if the workarea pointer is bad, it's not likely the game will limp along for much longer) 2017-05-24 10:52:19 +02:00
Unknown W. Brackets e2ecd1eabd Add memchecks for ReadStruct/WriteStruct. 2015-04-05 18:09:35 -07:00
Henrik Rydgård a9be90229a Merge pull request #7140 from AbandonedCart/master
use libc++ for iOS to avoid additional directives
2014-12-18 22:38:14 +01: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
TwistedUmbrella 3f4d58b0b2 use libc++ for iOS to avoid additional directives 2014-12-05 19:47:02 -05:00
Unknown W. Brackets 9d86d3ca9b Use std::unordered_multimaps in a few places. 2014-11-03 08:31:52 -08:00
Unknown W. Brackets 0a33eb4c42 Fix missing log semicolons only affecting logging. 2014-06-29 19:09:39 -07: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
Henrik Rydgard c80510fb3b MemMap should not be included in MIPS.h. 2014-03-15 10:45:39 +01:00
Unknown W. Brackets 4a1c9645e8 Get rid of Memory::GetStruct(), use PSPPointer. 2014-02-27 00:28:57 -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 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
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 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
Unknown W. Brackets d547d2b391 Implement sceKernelCancelMutex(). 2013-08-25 16:38:49 -07:00
Unknown W. Brackets 008052e6d6 Fix some variable hiding warnings. 2013-08-12 23:32:38 -07: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 aada48cf15 Use a PSPPointer in lwmutexes. 2013-06-02 15:17:24 -07:00