lizzie
941caf31ce
[port] NetBSD and improper ctor for SpinLock fixes ( #3092 )
...
So when libc starts it has to start at an entry point located into crt0, now most OSes will do "enough" setup to allow mprotect() and mmap() to be called in static ctors (remember they're called BEFORE main)
By some stupid miracle, NetBSD doesn't; this means that using those functions on NetBSD will result in spurious results
The reason why is still unknown to me, but this is also combined with the fact that allocating a big chunk of memory for the JIT will make NetBSD refuse to mprotect()/mmap() it in low memory situations (even when space is available); so I take the same approach as with solaris
Also I now make it so fastmem handlers are NOT registered for OSes that disabled fastmem, this is because they pollute sigsegv and makes debugging stupidier
Signed-off-by: lizzie lizzie@eden-emu.dev
Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/3092
Reviewed-by: Caio Oliveira <caiooliveirafarias0@gmail.com >
Reviewed-by: MaranBr <maranbr@eden-emu.dev >
Co-authored-by: lizzie <lizzie@eden-emu.dev >
Co-committed-by: lizzie <lizzie@eden-emu.dev >
2025-11-30 06:05:53 +01:00
lizzie
92274ff280
[dynarmic] remove scopedjit remnants ( #3029 )
...
not even used anymore, yay!
Signed-off-by: lizzie lizzie@eden-emu.dev
Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/3029
Reviewed-by: Caio Oliveira <caiooliveirafarias0@gmail.com >
Reviewed-by: crueter <crueter@eden-emu.dev >
Co-authored-by: lizzie <lizzie@eden-emu.dev >
Co-committed-by: lizzie <lizzie@eden-emu.dev >
2025-11-17 22:39:22 +01:00
PavelBARABANOV
227a007413
[dynarmic] removes ScopedJitExecution / fix-ac3 ( #3018 )
...
Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/3018
Reviewed-by: Lizzie <lizzie@eden-emu.dev >
Reviewed-by: MaranBr <maranbr@eden-emu.dev >
Reviewed-by: Caio Oliveira <caiooliveirafarias0@gmail.com >
Co-authored-by: PavelBARABANOV <pavelbarabanov94@gmail.com >
Co-committed-by: PavelBARABANOV <pavelbarabanov94@gmail.com >
2025-11-16 22:54:49 +01:00
lizzie
e9d84d098d
[dynarmic] attempt fix totk regression from #358 ( #3013 )
...
Signed-off-by: lizzie <lizzie@eden-emu.dev >
Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/3013
Reviewed-by: MaranBr <maranbr@eden-emu.dev >
Reviewed-by: Caio Oliveira <caiooliveirafarias0@gmail.com >
Co-authored-by: lizzie <lizzie@eden-emu.dev >
Co-committed-by: lizzie <lizzie@eden-emu.dev >
2025-11-14 15:07:13 +01:00
PavelBARABANOV
42863027e2
Revert "[core/memory] Remove defered heap allocation on Linux." ( #2974 )
...
Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/2974
Reviewed-by: CamilleLaVey <camillelavey99@gmail.com >
Reviewed-by: Caio Oliveira <caiooliveirafarias0@gmail.com >
Reviewed-by: MaranBr <maranbr@eden-emu.dev >
Co-authored-by: PavelBARABANOV <pavelbarabanov94@gmail.com >
Co-committed-by: PavelBARABANOV <pavelbarabanov94@gmail.com >
2025-11-09 22:42:09 +01:00
lizzie
48843306e2
[compat] Fix other DragonFlyBSD/NixOS issues ( #2860 )
...
Uh - the other pr that had "Fix dragonfly" got commits lost and I didn't notice... oops; cherry picked them back through :)
Signed-off-by: lizzie <lizzie@eden-emu.dev >
Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/2860
Reviewed-by: crueter <crueter@eden-emu.dev >
Reviewed-by: MaranBr <maranbr@eden-emu.dev >
Co-authored-by: lizzie <lizzie@eden-emu.dev >
Co-committed-by: lizzie <lizzie@eden-emu.dev >
2025-11-07 16:50:03 +01:00
lizzie
dbc98f758e
[core/memory] Remove defered heap allocation on Linux. ( #2587 )
...
Authored-by: weakboson <weakboson@eden-emu.dev >
Signed-off-by: lizzie <lizzie@eden-emu.dev >
Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/2587
Reviewed-by: crueter <crueter@eden-emu.dev >
Reviewed-by: MaranBr <maranbr@eden-emu.dev >
Co-authored-by: lizzie <lizzie@eden-emu.dev >
Co-committed-by: lizzie <lizzie@eden-emu.dev >
2025-10-31 17:37:21 +01:00
lizzie
a5996c7511
[dynarmic] Refactoring to reduce latency hit from recompilation ( #358 )
...
Signed-off-by: lizzie <lizzie@eden-emu.dev >
Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/358
Reviewed-by: MaranBr <maranbr@eden-emu.dev >
Reviewed-by: Caio Oliveira <caiooliveirafarias0@gmail.com >
Reviewed-by: crueter <crueter@eden-emu.dev >
Co-authored-by: lizzie <lizzie@eden-emu.dev >
Co-committed-by: lizzie <lizzie@eden-emu.dev >
2025-10-28 23:42:31 +01:00
lizzie
87cacbeed4
[compat] HaikuOS port ( #2805 )
...
Still had the issues with libusb, but that should get solved with the other PRs anyways
Signed-off-by: lizzie <lizzie@eden-emu.dev >
Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/2805
Reviewed-by: MaranBr <maranbr@eden-emu.dev >
Reviewed-by: crueter <crueter@eden-emu.dev >
Co-authored-by: lizzie <lizzie@eden-emu.dev >
Co-committed-by: lizzie <lizzie@eden-emu.dev >
2025-10-22 04:53:40 +02:00
lizzie
c0fb872d1a
[arm] Add "debugging" cpu accuracy option to replace CPU debug toggle ( #2640 )
...
The debug toggle and the CPU accuracy options are mutually exclusive, if debug toggle on => cpu accuracy is ignored, if debug toggle off => cpu accuracy is used. So just add it to cpu accuracy and avoid the extra hassle.
Signed-off-by: lizzie <lizzie@eden-emu.dev >
Co-authored-by: crueter <crueter@eden-emu.dev >
Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/2640
Reviewed-by: crueter <crueter@eden-emu.dev >
Co-authored-by: lizzie <lizzie@eden-emu.dev >
Co-committed-by: lizzie <lizzie@eden-emu.dev >
2025-10-17 22:09:19 +02:00
lizzie
191e4c75a1
[meta] fix license headers ( #2547 )
...
Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/2547
Reviewed-by: MaranBr <maranbr@eden-emu.dev >
Co-authored-by: lizzie <lizzie@eden-emu.dev >
Co-committed-by: lizzie <lizzie@eden-emu.dev >
2025-09-21 21:58:59 +02:00
MaranBr
19036c59b5
[video_core] Simplify DMA options ( #525 )
...
This simplifies DMA options in a clearer and more objective way.
Co-authored-by: PavelBARABANOV <pavelbarabanov94@gmail.com >
Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/525
Reviewed-by: crueter <crueter@eden-emu.dev >
Reviewed-by: Shinmegumi <shinmegumi@eden-emu.dev >
Co-authored-by: MaranBr <maranbr@outlook.com >
Co-committed-by: MaranBr <maranbr@outlook.com >
2025-09-16 18:42:48 +02:00
lizzie
9d2681ecc9
[cmake] enable clang-cl and WoA builds ( #348 )
...
Compilation and CMake fixes for both Windows on ARM and clang-cl, meaning Windows can now be built on both MSVC and clang on both amd64 and aarch64.
Compiling on clang is *dramatically* faster so this should be useful for CI.
Co-authored-by: crueter <crueter@eden-emu.dev >
Co-authored-by: crueter <crueter@crueter.xyz >
Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/348
Reviewed-by: CamilleLaVey <camillelavey99@gmail.com >
Reviewed-by: crueter <crueter@eden-emu.dev >
Co-authored-by: lizzie <lizzie@eden-emu.dev >
Co-committed-by: lizzie <lizzie@eden-emu.dev >
2025-09-09 20:47:49 +02:00
crueter
bbcd8aded6
Revert "[heap_tracker] Use ankerl map instead of rb tree ( #249 )" ( #382 )
...
This reverts commit c9a3baab5d .
this commit caused issues in ender magnolia or something, need to make
sure I didn't mess up the revert
Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/382
Reviewed-by: Shinmegumi <shinmegumi@eden-emu.dev >
Reviewed-by: Lizzie <lizzie@eden-emu.dev >
Reviewed-by: MaranBr <maranbr@outlook.com >
2025-09-04 16:04:42 +02:00
MaranBr
7f482d0730
[core] Add option to control Host MMU Emulation ( #324 )
...
This adds an option to enable or disable Host MMU Emulation [Android/PC], brings better config per-game handling with Disable Buffer Reorder, disables Flush Debug Lines by Log, option which was enabled by default on Android/PC taxing performance and translates to all supported languages the recent changes.
Leaves room for NCE improvements in the foreseable future.
Co-authored-by: crueter <crueter@eden-emu.dev >
Co-authored-by: PavelBARABANOV <pavelbarabanov94@gmail.com >
Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/324
Reviewed-by: crueter <crueter@eden-emu.dev >
Reviewed-by: CamilleLaVey <camillelavey99@gmail.com >
Co-authored-by: MaranBr <maranbr@outlook.com >
Co-committed-by: MaranBr <maranbr@outlook.com >
2025-08-27 23:02:46 +02:00
lizzie
9d53933a95
[fmt] use {:#X} for format instead of 0x{:X} ( #309 )
...
Signed-off-by: lizzie <lizzie@eden-emu.dev >
Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/309
Reviewed-by: crueter <crueter@eden-emu.dev >
Co-authored-by: lizzie <lizzie@eden-emu.dev >
Co-committed-by: lizzie <lizzie@eden-emu.dev >
2025-08-27 22:39:11 +02:00
lizzie
7950c5cca0
[common/host_memory] use assert instead of throw on Impl() ctor; abort on error ( #316 )
...
Rationale: Throwing when running out of memory just creates sad paths for no reason (and at that point, just abort immediately). We are using MAP_NORESERVE, if there isn't enough memory a crash will follow anyways.
Signed-off-by: lizzie <lizzie@eden-emu.dev >
Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/316
Reviewed-by: crueter <crueter@eden-emu.dev >
Co-authored-by: lizzie <lizzie@eden-emu.dev >
Co-committed-by: lizzie <lizzie@eden-emu.dev >
2025-08-27 22:26:08 +02:00
CamilleLaVey
9fae048a5a
revert [jit] Increase x86_64 default code size to full 2GiB hugepage ( #318 ) ( #337 )
...
revert [jit] Increase x86_64 default code size to full 2GiB hugepage (#318 )
Abuses the existence of transparent huge pages on Unix. 4*2 = 8GiB virtual memory used total by JIT. May reduce native host TLB trees.
--------------
WIP: Wasn't meant to be merged, it's going to be refined to be added later when more data/ testing have been made about this approach.
Signed-off-by: lizzie <lizzie@eden-emu.dev >
Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/318
Reviewed-by: Shinmegumi <shinmegumi@eden-emu.dev >
Co-authored-by: lizzie <lizzie@eden-emu.dev >
Co-committed-by: lizzie <lizzie@eden-emu.dev >
Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/337
Co-authored-by: CamilleLaVey <camillelavey99@gmail.com >
Co-committed-by: CamilleLaVey <camillelavey99@gmail.com >
2025-08-27 21:28:23 +02:00
Shinmegumi
eb80a30c42
revert 22847ec78a ( #331 )
...
revert [jit] Disable fastmem (by default) on FreeBSD, Solaris and OpenBSD due to subpar timings of SIGSEGV (#319 )
According to MaranBR, this should have never been merged and should have been closed instead as they iterated on it in 324.
Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/319
Reviewed-by: Shinmegumi <shinmegumi@eden-emu.dev >
Co-authored-by: lizzie <lizzie@eden-emu.dev >
Co-committed-by: lizzie <lizzie@eden-emu.dev >
Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/331
Co-authored-by: Shinmegumi <shinmegumi@eden-emu.dev >
Co-committed-by: Shinmegumi <shinmegumi@eden-emu.dev >
2025-08-27 15:12:16 +02:00
lizzie
22847ec78a
[jit] Disable fastmem (by default) on FreeBSD, Solaris and OpenBSD due to subpar timings of SIGSEGV ( #319 )
...
Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/319
Reviewed-by: Shinmegumi <shinmegumi@eden-emu.dev >
Co-authored-by: lizzie <lizzie@eden-emu.dev >
Co-committed-by: lizzie <lizzie@eden-emu.dev >
2025-08-27 12:12:32 +02:00
lizzie
3cb8e6111a
[jit] Increase x86_64 default code size to full 2GiB hugepage ( #318 )
...
Abuses the existence of transparent huge pages on Unix. 4*2 = 8GiB virtual memory used total by JIT. May reduce native host TLB trees.
Signed-off-by: lizzie <lizzie@eden-emu.dev >
Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/318
Reviewed-by: Shinmegumi <shinmegumi@eden-emu.dev >
Co-authored-by: lizzie <lizzie@eden-emu.dev >
Co-committed-by: lizzie <lizzie@eden-emu.dev >
2025-08-27 12:10:53 +02:00
crueter
21cd44ec04
[dynarmic] jit fix branch v2 ( #203 )
...
Co-authored-by: lizzie <lizzie@eden-emu.dev >
Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/203
Reviewed-by: Shinmegumi <shinmegumi@eden-emu.dev >
2025-08-27 06:49:50 +02:00
lizzie
c9a3baab5d
[heap_tracker] Use ankerl map instead of rb tree ( #249 )
...
Signed-off-by: lizzie <lizzie@eden-emu.dev >
Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/249
Reviewed-by: CamilleLaVey <camillelavey99@gmail.com >
Co-authored-by: lizzie <lizzie@eden-emu.dev >
Co-committed-by: lizzie <lizzie@eden-emu.dev >
2025-08-27 05:00:38 +02:00
crueter
41f0fa97ca
[dynarmic] revert bad changes ( #202 )
...
This reverts commit 56acd4041a .
pr needs rebase and fix, audio broke
Signed-off-by: crueter <crueter@eden-emu.dev >
Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/202
Reviewed-by: Lizzie <lizzie@eden-emu.dev >
Signed-off-by: crueter <crueter@eden-emu.dev >
2025-08-04 15:21:54 -04:00
lizzie
56acd4041a
[dynarmic] XMM spill, SSE/AVX emit, sub/add, configurable JIT state pointer, remove unnecessary stuff ( #128 )
...
Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/128
https://www.agner.org/optimize/
Co-authored-by: lizzie <lizzie@eden-emu.dev >
Co-committed-by: lizzie <lizzie@eden-emu.dev >
2025-08-02 00:48:10 +02:00
lizzie
7b23cd0df4
[dynarmic] fix userconfig casting warn ( #55 )
...
Co-authored-by: crueter <crueter@eden-emu.dev >
Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/55
Co-authored-by: lizzie <lizzie@eden-emu.dev >
Co-committed-by: lizzie <lizzie@eden-emu.dev >
2025-07-14 00:54:00 +02:00
crueter
9cef9f5dce
Update fmt to allow for v11
...
Signed-off-by: swurl <swurl@swurl.xyz >
2025-04-10 01:11:22 +02:00
Briar
c98be3d793
Update fastmem pointer handling to use std::optional
2025-04-04 03:23:32 +02:00
Liam
c366d8e8d9
core: track separate heap allocation for linux
2023-12-25 23:30:56 -05:00
Liam
e2b5f2392e
kernel: instantiate memory separately for each guest process
2023-12-22 21:52:49 -05:00
Liam
33b7353d73
arm: fix context save of vector regs
2023-12-04 22:19:11 -05:00
Liam
3d5c6a73cb
core: refactor emulated cpu core activation
2023-12-04 10:37:16 -05:00
liamwhite
28b236b988
Merge pull request #10839 from lat9nq/pgc-plus
...
general: Reimplement per-game configurations
2023-08-02 14:25:52 -04:00
Liam
545880f71b
core: remove remaining uses of dynamic_cast
2023-07-21 19:37:29 -04:00
lat9nq
78f92086ca
settings,general: Rename non-confirming enums
2023-07-21 10:56:54 -04:00
Merry
09012476db
arm_dynarmic_32: Remove disabling of block linking on arm64
2023-06-27 23:51:49 +01:00
Liam
5b858c8306
core: decouple ARM interface from Dynarmic
2023-06-12 22:11:51 -04:00
bunnei
a09fcccb72
core: arm_dynarmic_32: Update SaveContext/LoadContext.
2023-04-01 17:03:08 -07:00
Liam
6eaef51cf2
memory: rename global memory references to application memory
2023-03-23 20:28:47 -04:00
Liam
156516e399
kernel: use KTypedAddress for addresses
2023-03-22 09:35:16 -04:00
Liam
7429e31f30
externals: update dynarmic, xbyak
2023-01-05 18:06:06 -05:00
Liam
dfc09df118
core: add option to break on unmapped access
2022-12-02 08:25:45 -05:00
Fernando Sahmkow
ee4b6380b9
Dynarmic: Remove inaccurate NaN from Auto CPU settings.
2022-11-17 16:59:41 +01:00
Liam
9509fb30a4
Initial ARM64 support
2022-11-09 16:58:49 -05:00
Liam
8544af06f5
arm_interface: curb infinite recursion in stacktrace generation
2022-10-27 16:01:05 -04:00
Liam
545875eaa1
k_server_session: preliminary support for userspace server sessions
2022-10-11 18:40:40 -04:00
Kyle Kienapfel
ea00332a67
code: dodge PAGE_SIZE #define
...
Some header files, specifically for OSX and Musl libc define PAGE_SIZE to be a number
This is great except in yuzu we're using PAGE_SIZE as a variable
Specific example
`static constexpr u64 PAGE_SIZE = u64(1) << PAGE_BITS;`
PAGE_SIZE PAGE_BITS PAGE_MASK are all similar variables.
Simply deleted the underscores, and then added YUZU_ prefix
Might be worth noting that there are multiple uses in different classes/namespaces
This list may not be exhaustive
Core::Memory 12 bits (4096)
QueryCacheBase 12 bits
ShaderCache 14 bits (16384)
TextureCache 20 bits (1048576, or 1MB)
Fixes #8779
2022-08-19 16:08:40 -07:00
liamwhite
530b5032dd
Merge pull request #8745 from merryhime/null-fastmem-arena
...
arm_dynarmic: Fix nullptr fastmem arenas
2022-08-12 14:57:32 -04:00
bunnei
448ed1ed01
Merge pull request #8729 from merryhime/cp15-barriers
...
arm_dynarmic_cp15: Implement CP15DMB/CP15DSB/CP15ISB
2022-08-09 16:12:53 -07:00
Merry
c5b77f78f8
arm_dynarmic: Fix nullptr fastmem arenas
...
Unable to enable fastmem of exclusive access without a valid fastmem arena.
2022-08-09 20:48:19 +01:00