1
0
Fork 0
mirror of https://github.com/Ryujinx/Ryujinx.git synced 2024-12-24 08:36:06 +00:00
Ryujinx/Ryujinx.HLE/HOS/Services
gdkchan 95017b8c66
Support memory aliasing (#2954)
* Back to the origins: Make memory manager take guest PA rather than host address once again

* Direct mapping with alias support on Windows

* Fixes and remove more of the emulated shared memory

* Linux support

* Make shared and transfer memory not depend on SharedMemoryStorage

* More efficient view mapping on Windows (no more restricted to 4KB pages at a time)

* Handle potential access violations caused by partial unmap

* Implement host mapping using shared memory on Linux

* Add new GetPhysicalAddressChecked method, used to ensure the virtual address is mapped before address translation

Also align GetRef behaviour with software memory manager

* We don't need a mirrorable memory block for software memory manager mode

* Disable memory aliasing tests while we don't have shared memory support on Mac

* Shared memory & SIGBUS handler for macOS

* Fix typo + nits + re-enable memory tests

* Set MAP_JIT_DARWIN on x86 Mac too

* Add back the address space mirror

* Only set MAP_JIT_DARWIN if we are mapping as executable

* Disable aliasing tests again (still fails on Mac)

* Fix UnmapView4KB (by not casting size to int)

* Use ref counting on memory blocks to delay closing the shared memory handle until all blocks using it are disposed

* Address PR feedback

* Make RO hold a reference to the guest process memory manager to avoid early disposal

Co-authored-by: nastys <nastys@users.noreply.github.com>
2022-05-02 20:30:02 -03:00
..
Account Implement -p or --profile command line argument (#2947) 2022-03-02 09:51:37 +01:00
Am Update LibHac to v0.16.0 (#3159) 2022-02-27 00:52:25 +01:00
Apm
Arp hle: Some cleanup (#3210) 2022-03-22 20:46:16 +01:00
Audio Implement HwOpus multistream functions (#3275) 2022-04-15 23:16:28 +02:00
Bcat Update to LibHac v0.14.3 (#2925) 2021-12-23 13:55:50 -03:00
Bgtc
Bluetooth
BluetoothManager
Caps caps: Stubs GetAlbumFileList0AafeAruidDeprecated and GetAlbumFileList3AaeAruid (#2403) 2021-06-25 00:37:48 +02:00
Cec
Ectx
Erpt
Es
Eupld
Fatal
Friend misc: Make PID unsigned long instead of long (#3043) 2022-02-09 17:18:07 -03:00
Fs hle: Some cleanup (#3210) 2022-03-22 20:46:16 +01:00
Grc
Hid service: hid: Signal event on AcquireNpadStyleSetUpdateEventHandle (#3247) 2022-04-07 15:43:14 -03:00
Ins
Lbl
Ldn
Lm
Loader
Mig
Mii Update to LibHac 0.13.1 (#2475) 2021-08-12 23:56:24 +02:00
Mm
Mnpp Implement/Stub mnpp:app service and some hid calls (#3131) 2022-02-18 02:00:06 +01:00
Ncm hle: Some cleanup (#3210) 2022-03-22 20:46:16 +01:00
News
Nfc Fix Amiibo hanging since .NET 6 changes (#2890) 2021-11-30 11:09:32 +01:00
Ngct
Nifm Caching local network info and using an event handler to invalidate as needed (improves menu slow down issue in FE3H) (#2761) 2022-03-15 03:49:35 +01:00
Nim hle: Some cleanup (#3210) 2022-03-22 20:46:16 +01:00
Notification
Npns
Ns misc: Make PID unsigned long instead of long (#3043) 2022-02-09 17:18:07 -03:00
Nv De-tile GOB when DMA copying from block linear to pitch kind memory regions (#3207) 2022-03-20 13:55:07 -03:00
Olsc oslc: Fix condition in GetSaveDataBackupSetting (#3208) 2022-03-20 13:25:29 -03:00
Ovln
Pcie
Pctl Update LibHac to v0.16.0 (#3159) 2022-02-27 00:52:25 +01:00
Pcv clkrst: Stub/Implement IClkrstManager and IClkrstSession calls (#2692) 2021-09-29 01:03:35 +02:00
Pm misc: Make PID unsigned long instead of long (#3043) 2022-02-09 17:18:07 -03:00
Prepo prepo: Implement SaveSystemReport and SaveSystemReportWithUser (#2379) 2021-06-23 22:41:44 +02:00
Psc
Ptm
Ro Support memory aliasing (#2954) 2022-05-02 20:30:02 -03:00
Sdb hle: Some cleanup (#3210) 2022-03-22 20:46:16 +01:00
Settings hle: Some cleanup (#3210) 2022-03-22 20:46:16 +01:00
Sm Fix disposing of IPC sessions server at emulation stop (#2334) 2021-06-29 19:37:13 +02:00
Sockets misc: Make PID unsigned long instead of long (#3043) 2022-02-09 17:18:07 -03:00
Spl hle: Some cleanup (#3210) 2022-03-22 20:46:16 +01:00
Srepo
Ssl hle: Some cleanup (#3210) 2022-03-22 20:46:16 +01:00
SurfaceFlinger misc: Make PID unsigned long instead of long (#3043) 2022-02-09 17:18:07 -03:00
Time hle: Some cleanup (#3210) 2022-03-22 20:46:16 +01:00
Usb
Vi Limit number of events that can be retrieved from GetDisplayVSyncEvent (#3188) 2022-03-12 17:56:19 +01:00
Wlan
CommandHIpcAttribute.cs
CommandTIpcAttribute.cs
DisposableIpcService.cs Add dedicated ServerBase for FileSystem services (#3142) 2022-02-19 15:29:11 +01:00
DummyService.cs
IpcService.cs Added trace log level (#3096) 2022-02-17 21:08:07 -03:00
ServerBase.cs Collapse AsSpan().Slice(..) calls into AsSpan(..) (#3145) 2022-02-22 10:32:10 -03:00
ServiceAttributes.cs