eden/src/dynarmic
lizzie bc9b9480fb
[dynarmic] fix 12th-gen Intel CPUs crashing due to UMONITOR (#3954)
see https://github.com/herumi/xbyak/issues/255

> Proof: https://godbolt.org/z/9vseq4Ynj
> Xbyak currently implements it as:
> ```c++
> void umonitor(const Reg& r) {
> int idx = r.getIdx();
> if (idx > 7) XBYAK_THROW(ERR_BAD_PARAMETER) //umonitor DOES accept r8,r9,r10,etc this is NOT correct
> int bit = r.getBit();
> if (BIT != bit) {
>   if ((BIT == 32 && bit == 16) || (BIT == 64 && bit == 32)) {
>     db(0x67);
>   } else {
>     XBYAK_THROW(ERR_BAD_SIZE_OF_REGISTER)
>   }
> }
> db(0xF3); db(0x0F); db(0xAE); setModRM(3, 6, idx);
> }
> ```
> My program was throwing Xbyak::Exception and I tracked it down to this particular umonitor

Signed-off-by: lizzie <lizzie@eden-emu.dev>
Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/3954
Reviewed-by: crueter <crueter@eden-emu.dev>
Reviewed-by: MaranBr <maranbr@eden-emu.dev>
2026-05-15 22:01:42 +02:00
..
CMakeModules [dynarmic] nuke mcl dependency (#3777) 2026-03-27 01:11:49 +01:00
src/dynarmic [dynarmic] fix 12th-gen Intel CPUs crashing due to UMONITOR (#3954) 2026-05-15 22:01:42 +02:00
tests [dynarmic] remove decode matcher function handlers using std::function<>, use raw function pointers (#3920) 2026-05-09 05:41:41 +02:00
.clang-format [cmake] refactor: Use CPM over submodules (#143) 2025-08-04 04:50:14 +02:00
.gitignore [cmake] refactor: Use CPM over submodules (#143) 2025-08-04 04:50:14 +02:00
CMakeLists.txt [dynarmic, cmake] Assorted RISC-V build fixes (#3797) 2026-04-06 19:11:47 +02:00