Commit Graph

27 Commits (9f91ba1f7357c61dd2c7c3b437ea203d467fd400)

Author SHA1 Message Date
Liam 9f91ba1f73 arm: Implement native code execution backend 2 years ago
GPUCode 5938a9582a core: Respect memory permissions in Map 2 years ago
Liam 4766baddf3 host_memory: Switch to FreeRegionManager 2 years ago
Liam 448d4815de host_memory: ensure map base is between 36 and 39 bits 2 years ago
bunnei cb95d7fe1b
Merge pull request #10508 from yuzu-emu/lime
Project Lime - yuzu Android Port
3 years ago
bunnei afdee9abea common: host_memory: Implement for Android. 3 years ago
kkoniuszy 584e8b5c52 host_memory: merge adjacent placeholder mappings on Linux
Track the private anonymous placeholder mappings created by Unmap() and
wherever possible, replace existing placeholders with larger ones
instead of creating many small ones.

This helps with the buildup of mappings in /proc/YUZU_PID/maps after a
longer gaming session, improving stability without having to increase
vm.max_map_count to a ridiculous value. The amount of placeholder
mappings will no longer outgrow the amount of actual memfd mappings in
cases of high memory fragmentation.
3 years ago
Liam 600f325d87 general: fix spelling mistakes 3 years ago
Merry fd1831b65b host_memory: Use transparent huge pages where available 3 years ago
Merry 4d7be85e73 host_memory: Allocate virtual_base with MAP_NORESERVE
Specify that we do not require swap to be reserved for this address range;
allow overcommitting.
3 years ago
Liam cbaf642ffe Initial ARM64 support 3 years ago
Morph 99ceb03a1c general: Convert source file copyright comments over to SPDX
This formats all copyright comments according to SPDX formatting guidelines.
Additionally, this resolves the remaining GPLv2 only licensed files by relicensing them to GPLv2.0-or-later.
4 years ago
Merry c589db6add common: Replace lock_guard with scoped_lock 4 years ago
ameerj 866b7c20a8 general: Fix clang/gcc build errors 4 years ago
ameerj 923decae5a common: Reduce unused includes 4 years ago
Morph b33f23cc46 host_memory: Fix fastmem crashes in debug builds
It is possible for virtual_offset to not be 0 when the iterator is at the beginning, and thus, std::prev(it) may be evaluated, leading to a crash in debug mode.

Co-Authored-By: Fernando S. <1731197+FernandoS27@users.noreply.github.com>
4 years ago
ameerj 41aec2773f general: Add missing copyright notices 4 years ago
Andrew Strelsky 3fc7aceea7
Fixed invalid iterator usage 5 years ago
Jan Beich 353be2306c host_memory: Add workaround for FreeBSD 12
src/common/host_memory.cpp:360:14: error: use of undeclared identifier
      'memfd_create'
        fd = memfd_create("HostMemory", 0);
             ^
5 years ago
Jan Beich c4cd82fa7c host_memory: Enable Linux implementation on FreeBSD
HW.Memory <Critical> common/host_memory.cpp:HostMemory:492: Fastmem unavailable, falling back to VirtualBuffer for memory allocation
5 years ago
lat9nq 9a06b85b24 host_memory: Correct MEM_RESERVE_PLACEHOLDER
Microsoft defines `MEM_RESERVE_PLACEHOLDER` as `0x00040000`, but our
manually imported version of it drops the last zero.
5 years ago
Markus Wick 7f85abb281 common/host_memory: Implement a fallback if fastmem fails.
This falls back to the old approach of using a virtual buffer.

Windows is untested, but this build should fix support for Windows < 10 v1803. However without fastmem support at all.
5 years ago
ReinUsesLisp f332d4a9b5 common/host_shader: Load Windows 10 functions dynamically
Workaround old headers and libraries shipped on MinGW.
5 years ago
ReinUsesLisp ee67460ff0 host_memory: Support staged VirtualProtect calls 5 years ago
Markus Wick c4609c92ee common/host_memory: Optimize for huge tables.
In theory, if we have 2 MB continously mapped, this should save one layer of TLB.
Let's make it at least more likely by aligning the memory.
5 years ago
Markus Wick 5105318bbc common/host_memory: Add Linux implementation 5 years ago
ReinUsesLisp a7837a3791 common/host_memory: Add interface and Windows implementation 5 years ago