Henrik Rydgård and Claude 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