eden-miror/src/core/hle
xbzk 3f78512c83
[ro] add TLS patching for runtime NROs (#4492)
- [x] I have read and followed the [Contribution Guidelines](https://git.eden-emu.dev/eden-emu/eden/src/branch/master/CONTRIBUTING.md#code-contributions).
- [x] I have read and followed the [AI Policy](https://git.eden-emu.dev/eden-emu/eden/src/branch/master/docs/policies/AI.md)
- [x] I have read and followed the [Coding Guidelines](https://git.eden-emu.dev/eden-emu/eden/src/branch/master/docs/policies/Coding.md) to the best of my ability.

-------------------

Aimed to fix Biomutant which stucks in a bootloop due to guest being unable to reach correct thread local storage (TLS)
This fixes runtime NRO loading by properly patching the guest TLS (TPIDR_EL0) path. Steps:
-Read the loaded NRO image into a temporary buffer.
-Run the NCE patcher on it.
-Produce a patch section / relocated code.
-Map that patch section as executable memory in the target process.
Game still has intermittent visual issues which can be solved with GPU level accurate, but that causes a huge performance drop in exchange. Someone else will resume this one.

Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/4492
Reviewed-by: CamilleLaVey <camillelavey99@gmail.com>
Reviewed-by: lizzie <lizzie@eden-emu.dev>
2026-09-30 00:58:29 +02:00
..
kernel [k_scheduler] fix for libc++ that lazily initializes mutexes (#4447) 2026-09-17 00:28:37 +02:00
service [ro] add TLS patching for runtime NROs (#4492) 2026-09-30 00:58:29 +02:00
api_version.h [hle] Firmware 23.0.0 (#4390) 2026-09-10 22:28:39 +02:00
ipc.h [hle] inline HLE cmif request to not allocate on heap stuff (#3605) 2026-05-15 22:07:03 +02:00
result.h [cmake] Fix some macOS compilation errors (#4350) 2026-09-05 23:43:46 +02:00