Commit Graph
136 Commits
Author SHA1 Message Date
Brian DegenhardtandClaude Fable 5 258eb7086b FX-15: drop YAPS2_NO_THP env gate — harness uses PR_SET_THP_DISABLE
Env-var gates are testing-only and the A/B is done. The off-arm never
needed an in-tree gate: prctl(PR_SET_THP_DISABLE) survives execve, so
fx15_thp_ab.sh now disables THP from outside the process (both arms exec
through a symmetric python3 wrapper). Verified on-device: zero arena
hugepages under the wrapper vs 8MB without.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-13 15:55:14 -07:00
Brian DegenhardtandClaude Fable 5 2c7dc20905 FX-15: madvise(MADV_HUGEPAGE) on the EE/IOP/mVU JIT code caches
Design credit FEX-Emu (MIT): back the hot rec caches with transparent
hugepages to cut iTLB pressure. Scoped to the EE+IOP and mVU0+mVU1
contiguous pairs (static_asserts pin the layout), leaving the VIF/SW
tail alone; the code half is a private anonymous mapping, which is
what THP backs, and Rocknix ships THP in madvise mode. YAPS2_NO_THP=1
kill-switch for the iTLB A/B (testing-only gate). Linux-only.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-13 15:55:14 -07:00
6799ab0d2d arm64: memory placement, VTLB codegen, and TLB-miss handling
SharedMemoryMappingArea::Create() gains a fixed_base_hint so AllocateMemoryMap can
pin the JIT arena at a constant VA (kArenaBase=4GB, 256MB-stride fallback) on arm64;
the VTLB fastmem backpatch thunk (RecStubs), ArmAddressRecorder relocation hooks
(AsmHelpers), and the cpuTlbMiss rec-vs-interp PC split (R5900) round out the arm64
memory layer. Windows arm64 is a no-op stub.

Co-Authored-By: Ryan Walklin <ryan@testtoast.com>
Co-Authored-By: Brian Degenhardt <bmd@bmdhacks.com>
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-20 20:27:55 -07:00
chaoticgd 414f1660ed Memory: Fix typo in SysMemory::DumpMemoryMap 2026-06-19 16:43:10 -04:00
TellowKrinkle 3450e3c238 Revert "Core: Reserve memory map as early as possible"
This reverts commit 337daf7ed9.

It's no longer needed
2026-03-28 17:49:17 -04:00
TellowKrinkle 49017c4813 Core: Reserve data and code areas together
They need to stay near each other for the x86 JIT to work
2026-03-28 17:49:17 -04:00
TellowKrinkle 0020cac123 Core: Map sys memory anywhere 2026-03-28 17:49:17 -04:00
chaoticgd 600a8b468b Patch: Fix MemoryInterface::CompareBytes functions 2026-03-17 08:58:31 +01:00
chaoticgd e52d8f70ba Misc: Add MemoryInterface classes 2026-03-09 22:18:53 -04:00
Ziemas 15a502cf36 IOP: Enable extension of RAM to devkit spec (8MB) 2026-03-08 14:46:09 -04:00
TellowKrinkle 337daf7ed9 Core: Reserve memory map as early as possible
Protects against all the other stuff we load eating up all the address space that we want
2026-03-07 09:12:00 -05:00
SternXD d983b2b066 Copyright: Change year from 2002-2025 to 2002-2026 2026-01-15 00:22:32 +01:00
NightFyre be94aa97db Core: Fix vumem export and offsets 2025-08-27 16:55:11 -04:00
refractionpcsx2 2d03b21f2b Formatting: Clean up some if spaces 2025-05-17 22:47:38 +02:00
TheTechnician27 23fd57f641 Copyright: Change year from 2002-2024 to 2002-2025 2025-01-20 05:07:26 +01:00
Ziemas 67c5f0229b EE: vtlb handler for writes to IOP mem 2024-10-21 11:14:29 -04:00
GovanifY 132431b7c8 headers: relicense to GPL-3.0+
also update to 2024 while i'm at it
2024-07-30 17:17:13 -04:00
Stenzek 71036c95a4 Core: ARM64 compatibility 2024-06-14 17:06:45 +10:00
Benjamin Moir 5f7e97c27c [SAVEVERSION+] EE: Expose advanced option for extra memory 2024-05-09 13:45:06 +10:00
Stenzek fa00069068 Console: Remove WX rubbish and replace 2024-01-12 12:40:46 +10:00
Stenzek fb15893521 VMManager: Remove and merge System.cpp 2023-12-27 13:55:35 +10:00
Stenzek d9abe10308 Misc: Remove explicit PCH include, switch to SPDX 2023-12-24 14:03:14 +10:00
Stenzek cd6590e15c Misc: Fix clang warnings 2023-12-24 14:03:14 +10:00
refractionpcsx2 7bf18a4464 DEV9: Implement a slightly less hacky (incomplete) DVE reg set 2023-12-19 15:14:35 +00:00
Stenzek 14fd42ad91 Core/Memory: Properly reset memory on reset
[SAVEVERSION+]
2023-12-19 15:14:35 +00:00