Commit graph

829 commits

Author SHA1 Message Date
Samuliak
c52427b676
mark format functions as const 2024-10-05 08:04:46 +02:00
SylverDiscord51
1648d189d3
license-fix (#31)
Co-authored-by: palfaiate <syl.paulo.alfaiate@gmail.com>
Co-authored-by: SylverDiscord51 <p71468162@gmail.com>
Co-committed-by: SylverDiscord51 <p71468162@gmail.com>
2024-03-23 22:58:07 -03:00
Exverge
93dc7fb6b2 fix: Fixes compiling to non-Apple OSes on arm64 2024-03-18 23:11:32 +00:00
Akatsuki Levi
70d0df5e55
fix: Clang fix part 2: Electric bogaloo 2024-03-15 21:05:43 -03:00
Akatsuki Levi
94a84f5943
fix: CLang fix 2024-03-15 21:03:47 -03:00
ddutchie
5d8f3f7cb1 Revert "Quality-of-Life Improvements" 2024-03-15 22:26:16 +00:00
Levi Akatsuki
e1538413e9 Quality-of-Life Improvements 2024-03-15 21:48:09 +00:00
JuanCStar
18baf880c4 fix: clang format 2024-03-12 09:13:35 +01:00
Levi Akatsuki
e5a954617b Improved Addons Manager 2024-03-12 04:30:44 +00:00
JuanCStar
88b901a24e Full rebrand 2024-03-08 09:06:48 +00:00
JuanCStar
edf7a3be81 Rebrand SUYU_NON_COPYABLE and SUYU_NON_MOVEABLE 2024-03-07 09:36:29 +00:00
Crimson Hawk
cdbdf63ebe Revert "Merge branch 'master' into 'dev'"
This reverts merge request !17
2024-03-06 05:26:38 +00:00
AMA2581
5720814b13 modifying all the files to match the app 2024-03-06 00:19:07 +03:30
GPUCode
d4acdac168 core: Support multiple modules per patcher 2024-01-15 00:46:05 +02:00
Liam
ddda76f9b0 core: track separate heap allocation for linux 2023-12-25 23:30:56 -05:00
Liam
419055e484 kernel: instantiate memory separately for each guest process 2023-12-22 21:52:49 -05:00
Fernando S
f1cb14eb54
Merge pull request #12417 from liamwhite/arm64-gcc-fix
nce: hide shadowing warnings from dynarmic headers
2023-12-20 18:46:08 +01:00
Liam
4b60aec190 nce: hide shadowing warnings from dynarmic headers 2023-12-20 11:07:50 -05:00
Liam
93c19a40bf nce: increase handler stack size 2023-12-19 15:24:13 -05:00
Liam
a94721fde0 nce: fix read size in simd immediate emulation 2023-12-19 12:51:19 -05:00
Liam
a05c242429 nce: adjust initialization for repeated calls 2023-12-11 23:02:01 -05:00
Liam
bd59934350 nce: implement instruction emulation for misaligned memory accesses 2023-12-10 18:23:42 -05:00
Liam
fe5e4bd846 debug: fix reading of module names 2023-12-09 11:18:10 -05:00
Fernando S
8a79dd2d6c
Merge pull request #12236 from liamwhite/cpu-refactor
core: refactor emulated cpu core activation
2023-12-06 14:19:17 +01:00
Liam
f0ee3e29cb arm: fix context save of vector regs 2023-12-04 22:19:11 -05:00
Liam
45c87c7e6e core: refactor emulated cpu core activation 2023-12-04 10:37:16 -05:00
Liam
9de99839bd nce: fix pre-text patch for single modules 2023-12-02 16:14:52 -05:00
GPUCode
4a3abba16d core: Rename patcher file 2023-11-29 23:49:16 +02:00
GPUCode
6432508740 oaknut: Address warnings 2023-11-25 00:47:43 -05:00
GPUCode
9ff8d0f3e6 Address more review comments 2023-11-25 00:47:43 -05:00
Liam
cf534f5149 arm_nce: skip data aborts for crash handling parity 2023-11-25 00:47:36 -05:00
GPUCode
1cde01c8c8 arm: Print backtrace on data abort 2023-11-25 00:47:36 -05:00
Liam
f542a3bb7a patch: check offsets from first code word 2023-11-25 00:47:36 -05:00
Liam
263b7a44f9 arm_nce: skip dc cvac on possibly write-protected areas 2023-11-25 00:47:36 -05:00
GPUCode
6de2edcca1 Address some review comments 2023-11-25 00:47:35 -05:00
Liam
9f91ba1f73 arm: Implement native code execution backend 2023-11-25 00:46:47 -05:00
Liam
e3b510a4b4 core: check for thread dpc before eret 2023-11-13 11:28:23 -05:00
Liam
8c59543ee3 kernel: update KProcess 2023-10-21 20:03:41 -04:00
liamwhite
fca7d975fd
Merge pull request #10839 from lat9nq/pgc-plus
general: Reimplement per-game configurations
2023-08-02 14:25:52 -04:00
liamwhite
d3da1e6517
Merge pull request #10990 from comex/ubsan
Fixes and workarounds to make UBSan happier on macOS
2023-07-26 10:33:28 -04:00
Liam
05bc024260 core: remove remaining uses of dynamic_cast 2023-07-21 19:37:29 -04:00
lat9nq
d146dd9d12 settings,general: Rename non-confirming enums 2023-07-21 10:56:54 -04:00
comex
d7c532d889 Fixes and workarounds to make UBSan happier on macOS
There are still some other issues not addressed here, but it's a start.

Workarounds for false-positive reports:

- `RasterizerAccelerated`: Put a gigantic array behind a `unique_ptr`,
  because UBSan has a [hardcoded limit](https://stackoverflow.com/questions/64531383/c-runtime-error-using-fsanitize-undefined-object-has-a-possibly-invalid-vp)
  of how big it thinks objects can be, specifically when dealing with
  offset-to-top values used with multiple inheritance.  Hopefully this
  doesn't have a performance impact.

- `QueryCacheBase::QueryCacheBase`: Avoid an operation that UBSan thinks
  is UB even though it at least arguably isn't.  See the link in the
  comment for more information.

Fixes for correct reports:

- `PageTable`, `Memory`: Use `uintptr_t` values instead of pointers to
  avoid UB from pointer overflow (when pointer arithmetic wraps around
  the address space).

- `KScheduler::Reload`: `thread->GetOwnerProcess()` can be `nullptr`;
  avoid calling methods on it in this case.  (The existing code returns
  a garbage reference to a field, which is then passed into
  `LoadWatchpointArray`, and apparently it's never used, so it's
  harmless in practice but still triggers UBSan.)

- `KAutoObject::Close`: This function calls `this->Destroy()`, which
  overwrites the beginning of the object with junk (specifically a free
  list pointer).  Then it calls `this->UnregisterWithKernel()`.  UBSan
  complains about a type mismatch because the vtable has been
  overwritten, and I believe this is indeed UB.  `UnregisterWithKernel`
  also loads `m_kernel` from the 'freed' object, which seems to be
  technically safe (the overwriting doesn't extend as far as that
  field), but seems dubious.  Switch to a `static` method and load
  `m_kernel` in advance.
2023-07-15 12:00:28 -07:00
Liam
82568412f6 arm_interface: correct breakpoint rewind condition 2023-07-09 12:03:25 -04:00
Merry
e3c548d081 arm_dynarmic_32: Remove disabling of block linking on arm64 2023-06-27 23:51:49 +01:00
Liam
8506915208 core: decouple ARM interface from Dynarmic 2023-06-12 22:11:51 -04:00
bunnei
9c94faaa2b core: arm_dynarmic_32: Update SaveContext/LoadContext. 2023-04-01 17:03:08 -07:00
Liam
41d99aa89d memory: rename global memory references to application memory 2023-03-23 20:28:47 -04:00
Liam
fb49ec19c1 kernel: use KTypedAddress for addresses 2023-03-22 09:35:16 -04:00
Liam
ceda2d280e general: rename CurrentProcess to ApplicationProcess 2023-02-13 19:03:12 -05:00