Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

vm/sys_config/sys_memory: Stack fixes #8979

Merged
merged 3 commits into from Sep 26, 2020

Conversation

elad335
Copy link
Contributor

@elad335 elad335 commented Sep 26, 2020

  • Implement sys_config's PPU stack for "_cfg_evt_hndlr" thread, I've discovered this through hw testing of stack spaces after calling cellPad/Kb/MouseInit, to confirm Ive looked at disassmebly as well for the exact behaviour. (one thread for all instances until they all close)
  • Demi-fix for vm memory stack deallocation on stack area destructor: Always reset memory flags.
    Also always clear stack memory on Emu.Stop(). (do not rely on manual cleanup)
  • Fix sys_memory_get_page_attribute stack access rights to match realhw.

Testcase: https://github.com/elad335/myps3tests/tree/master/ppu_tests/print%20ppu%20stacks

Fixes #5875
Why it was fixed? the PPU written to memory outside of its stack bounds and failed on rpcs3, clearly into a poor and inactive firmware PPU stack area so it even goes unnoticed.

image

rpcs3/Emu/Memory/vm.cpp Outdated Show resolved Hide resolved
@Nekotekina
Copy link
Member

Weird rebase issue?

@elad335
Copy link
Contributor Author

elad335 commented Sep 26, 2020

Yep, removed commit.

@elad335 elad335 changed the title vm/sys_config: Stack fixes vm/sys_config/sys_memory: Stack fixes Sep 26, 2020
@Nekotekina Nekotekina merged commit 53c8ed6 into RPCS3:master Sep 26, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Regression on Mountain Crime: Requital
2 participants