mirror of
https://github.com/shadps4-emu/shadPS4.git
synced 2026-04-27 00:36:00 +03:00
[PR #3655] [MERGED] Core: Memory code cleanup and further direct memory fixes #3635
Labels
No labels
Bloodborne
bug
contributor wanted
documentation
enhancement
frontend
good first issue
help wanted
linux
pull-request
question
release
verification progress
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
starred/shadPS4#3635
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
📋 Pull Request Information
Original PR: https://github.com/shadps4-emu/shadPS4/pull/3655
Author: @StevenMiller123
Created: 9/25/2025
Status: ✅ Merged
Merged: 9/26/2025
Merged by: @squidbus
Base:
main← Head:memory-fixes📝 Commits (10+)
a517a73Remove mapped dmem typedd70b5eProper implementation for sceKernelMtypeprotect9c9e320Apply memory type in sceKernelMemoryPoolCommit5e686a8Organization596ea46Iterator logic cleanup4b30cf2Clang754334dAdjustments7e88d34Properly account for behavior differences in MapDirectMemory2141c84dClang72da141Add execute permissions to physical backing📊 Changes
6 files changed (+251 additions, -110 deletions)
View changed files
📝
src/core/address_space.cpp(+6 -5)📝
src/core/libraries/kernel/memory.cpp(+85 -24)📝
src/core/libraries/kernel/memory.h(+4 -5)📝
src/core/memory.cpp(+150 -71)📝
src/core/memory.h(+4 -4)📝
src/core/module.cpp(+2 -1)📄 Description
This PR changes some more logic, primarily related to direct memory handling and the dmem map.
MemoryManager::SetDirectMemoryTypeto search through VMAs to find the physical memory areas to update.sceKernelMtypeprotectto apply mtype usingMemoryManager::SetDirectMemoryType.sceKernelMemoryPoolCommitto apply mtype duringMemoryManager::PoolCommit.sceKernelMapDirectMemory2calls.Everything I've changed appears to work fine on my end, but it would be good to have some other tests before merging.
🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.