yuzu/src/core
Michael Scire 13a8fde3ad Implement MapPhysicalMemory/UnmapPhysicalMemory
This implements svcMapPhysicalMemory/svcUnmapPhysicalMemory for Yuzu,
which can be used to map memory at a desired address by games since
3.0.0.

It also properly parses SystemResourceSize from NPDM, and makes
information available via svcGetInfo.

This is needed for games like Super Smash Bros. and Diablo 3 -- this
PR's implementation does not run into the "ASCII reads" issue mentioned
in the comments of #2626, which was caused by the following bugs in
Yuzu's memory management that this PR also addresses:
* Yuzu's memory coalescing does not properly merge blocks. This results
  in a polluted address space/svcQueryMemory results that would be
  impossible to replicate on hardware, which can lead to game code making
  the wrong assumptions about memory layout.
  * This implements better merging for AllocatedMemoryBlocks.
* Yuzu's implementation of svcMirrorMemory unprotected the entire
  virtual memory range containing the range being mirrored. This could
  lead to games attempting to map data at that unprotected
  range/attempting to access that range after yuzu improperly unmapped
  it.
  * This PR fixes it by simply calling ReprotectRange instead of
    Reprotect.
2019-07-07 11:45:53 -07:00
..
arm loader: Move NSO module tracking to AppLoader 2019-05-26 11:40:46 -04:00
crypto Merge pull request #2546 from DarkLordZach/kips 2019-06-21 14:28:18 -04:00
file_sys Implement MapPhysicalMemory/UnmapPhysicalMemory 2019-07-07 11:45:53 -07:00
frontend general_frontend: Add documentation for parental controls and ecommerce applets 2019-06-24 20:05:11 -04:00
gdbstub
hle Implement MapPhysicalMemory/UnmapPhysicalMemory 2019-07-07 11:45:53 -07:00
loader file_sys: Rename other ContentRecordType members 2019-07-02 00:57:23 +01:00
tools freezer: Update documentation 2019-06-20 19:22:53 -04:00
CMakeLists.txt Merge pull request #2613 from ogniK5377/InitalizeApplicationInfo 2019-07-03 20:23:56 -04:00
constants.cpp constants: Extract backup JPEG used by account services 2019-06-07 17:46:57 -04:00
constants.h constants: Extract backup JPEG used by account services 2019-06-07 17:46:57 -04:00
core_cpu.cpp yuzu: Remove CPU Jit setting from the UI 2019-07-04 14:48:08 +02:00
core_cpu.h
core_timing_util.cpp core/core_timing_util: Use std::chrono types for specifying time units 2019-06-04 20:31:24 -04:00
core_timing_util.h core/core_timing_util: Amend casing of cyclesTo* functions 2019-06-04 20:31:46 -04:00
core_timing.cpp Core_Timing: Make core_timing threadsafe by default. 2019-06-16 14:14:35 -04:00
core_timing.h Core_Timing: Make core_timing threadsafe by default. 2019-06-16 14:14:35 -04:00
core.cpp Merge pull request #2533 from DarkLordZach/memory-frozen 2019-06-28 14:03:38 -04:00
core.h core: Keep track of ARPManager and register current application on boot 2019-06-24 19:27:35 -04:00
cpu_core_manager.cpp
cpu_core_manager.h
memory_setup.h
memory.cpp memory: Remove unused includes 2019-07-06 02:24:34 -04:00
memory.h memory: Remove unused PageTable forward declaration 2019-07-06 02:24:34 -04:00
perf_stats.cpp
perf_stats.h
reporter.cpp core/reporter: Allow moves into SaveToFile() 2019-07-05 17:45:34 -04:00
reporter.h core/reporter: Add missing includes and forward declarations 2019-07-05 17:45:24 -04:00
settings.cpp yuzu: Remove CPU Jit setting from the UI 2019-07-04 14:48:08 +02:00
settings.h Merge pull request #2669 from FearlessTobi/move-cpujit-setting 2019-07-04 15:33:59 -04:00
telemetry_session.cpp yuzu: Remove CPU Jit setting from the UI 2019-07-04 14:48:08 +02:00
telemetry_session.h core/telemetry_session: Remove usages of the global system accessor 2019-05-28 22:28:15 -04:00