Martino Fontana
8235c38df7
Debugger: Small other cleanup
...
Change misleading names.
Fix function usage: Intepreter and Step Out will not check breakpoints in their own wrong way anymore (e.g. breaking on log-only breakpoints).
2024-07-02 18:29:42 +02:00
mitaclaw
2b337aec58
PowerPC: Remove Dead Config Code
2024-05-03 21:54:47 -07:00
mitaclaw
c24fa93965
PPCSymbolDB: Move instance to PowerPCManager
2024-03-13 22:58:14 -07:00
mitaclaw
67f60bec7e
PowerPC: Implement BranchWatch
...
This new component can track code paths by watching branch hits.
2024-02-26 19:38:27 -08:00
Lioncash
4ccc5178a6
PowerPC: Use #ifdef instead of #if for platform testing
...
This way we don't assume these symbols are always defined.
2024-01-23 16:47:43 -05:00
JosJuice
465f17a882
PowerPC: Add constants for the two TLB indices
...
Just for readability.
2023-12-30 14:31:05 +01:00
JosJuice
62787085e1
Jit: Add feature flag for performance monitor
...
By making the JIT cache check if the current state of MMCR0 and MMRC1
matches the state they had at the time the JIT block was compiled, we
solve a correctness issue (marked in a comment as a speed hack).
Not known to affect any games.
2023-11-30 22:40:36 +01:00
JosJuice
ca7e05bbc4
Jit: Replace "msrBits" with "featureFlags"
...
Preparation for the next commit.
2023-11-30 22:40:32 +01:00
Rairii
2333fc2701
MMU: Use VSID in segment register as additional TLB lookup key
2023-11-11 15:59:47 +00:00
JosJuice
b3bfcc5d7f
PowerPC: Allow toggling write-back cache during emulation
...
Now that PR 10575 is merged, the JIT automatically clears its cache
when this setting is changed, making this reasonable to implement.
2023-10-31 19:43:49 +01:00
JosJuice
ed7894924c
Merge pull request #12048 from krnlyng/someothertest
...
Jit: Load the memory register only when the msr bits have changed and do not use jumps to load it.
2023-08-19 09:49:29 +02:00
Admiral H. Curtiss
a34f221782
Core/PowerPC: Return AvailableCPUCores() as a std::span.
2023-08-16 19:25:03 +02:00
Franz-Josef Haider
8bfcd2deb7
JitArm64/Jit64: Load the memory register without jumps and only when necessary.
2023-07-28 14:24:53 +03:00
Admiral H. Curtiss
23843583bf
PowerPC: Refactor to class, move to System.
2023-04-09 21:48:37 +02:00
Pokechu22
af5013b60f
Suppress -Winvalid-offsetof for PowerPC::PowerPCState
...
This code doesn't need to be portable (since the goal is to have a smaller offset for x64 codegen), so if it's not supported there are other problems. Similar code exists in e.g. DSP.cpp.
2023-02-09 16:23:01 -08:00
Admiral H. Curtiss
485bba238e
PowerPC: Add PowerPCState parameter to UpdatePerformanceMonitor().
2023-01-27 15:22:44 +01:00
Admiral H. Curtiss
61ba516570
PowerPC: Move a few functions to PowerPCState.
2023-01-27 15:22:44 +01:00
Admiral H. Curtiss
0dcf228aaf
PowerPC: Parametrize TU macro.
2023-01-27 15:22:44 +01:00
Admiral H. Curtiss
a7d3315b4f
PowerPC: Parametrize TL macro.
2023-01-27 15:22:44 +01:00
Admiral H. Curtiss
2f241856b6
PowerPC: Add PowerPCState parameter to GQR macro.
2023-01-27 15:22:44 +01:00
Admiral H. Curtiss
814c01162a
PowerPC: Remove SPRG0/1/2/3 macros.
2023-01-27 15:22:43 +01:00
Admiral H. Curtiss
2f8b3ac1b7
PowerPC: Parametrize SRR1 macro.
2023-01-27 15:22:43 +01:00
Admiral H. Curtiss
652113e6ba
PowerPC: Parametrize SRR0 macro.
2023-01-27 15:22:43 +01:00
Admiral H. Curtiss
10dabd9975
PowerPC: Remove rDEC macro.
2023-01-27 15:22:43 +01:00
Admiral H. Curtiss
c13ca271d8
PowerPC: Parametrize CTR macro.
2023-01-27 15:22:43 +01:00
Admiral H. Curtiss
0a343007cb
PowerPC: Parametrize LR macro.
2023-01-27 15:22:43 +01:00
Admiral H. Curtiss
0f301829d2
PowerPC: Remove rPS macro.
2023-01-27 15:22:42 +01:00
Admiral H. Curtiss
0cd4a226d2
PowerPC: Remove rSPR macro.
2023-01-27 15:22:42 +01:00
Admiral H. Curtiss
27ce432012
PowerPC: Remove rGPR macro.
2023-01-27 15:22:42 +01:00
Admiral H. Curtiss
8fccefa3aa
PowerPC: Remove GPR macro.
2023-01-27 15:22:42 +01:00
Admiral H. Curtiss
ba1b624e1b
PowerPC: Remove MSR macro.
2023-01-27 15:22:42 +01:00
Admiral H. Curtiss
4b6b8fa1ae
PowerPC: Remove FPSCR macro.
2023-01-27 15:22:41 +01:00
Admiral H. Curtiss
2f3187eba9
PowerPC: Remove NPC macro.
2023-01-27 15:22:41 +01:00
Admiral H. Curtiss
be8d0b76ca
PowerPC: Remove PC macro.
2023-01-27 15:22:41 +01:00
Admiral H. Curtiss
82f3170876
PowerPC: Parametrize THRM1/2/3 macros.
2023-01-27 15:22:41 +01:00
Admiral H. Curtiss
8bab3ac755
PowerPC: Parametrize MMCR1 macro.
2023-01-27 15:22:41 +01:00
Admiral H. Curtiss
126590c4cd
PowerPC: Parametrize MMCR0 macro.
2023-01-27 15:22:40 +01:00
Admiral H. Curtiss
38529a2d8d
PowerPC: Parametrize DMAL macro.
2023-01-27 15:22:40 +01:00
Admiral H. Curtiss
2374365274
PowerPC: Parametrize DMAU macro.
2023-01-27 15:22:40 +01:00
Admiral H. Curtiss
31483e492e
PowerPC: Parametrize HID4 macro.
2023-01-27 15:22:40 +01:00
Admiral H. Curtiss
6f0ab1b33e
PowerPC: Parametrize HID2 macro.
2023-01-27 15:22:40 +01:00
Admiral H. Curtiss
49eeb986c6
PowerPC: Parametrize HID0 macro.
2023-01-27 15:22:40 +01:00
TheLordScruffy
e97d380437
Implement PPC write-back data cache
2022-12-08 18:18:32 -05:00
JosJuice
6203c101f8
JitArm64: Enforce correct alignment of SPR_TL
2022-09-20 18:55:28 +02:00
Pokechu22
78bfd25964
Fix all uninitialized variable warnings (C26495)
2021-10-13 12:32:16 -07:00
Lioncash
1c776d8c1a
MMU: Move invalidation logic into the TLBEntry struct
...
Puts the invalidation logic in one place and lets us tidy up
InvalidateTLBEntry a little.
2021-08-31 10:04:44 -04:00
Lioncash
3216040bfe
MMU: Remove implicit sign conversions and truncation in UpdateTLBEntry
...
These are trivial to resolve.
Converting the structure member into a u32 results in no increase in
structure size, as it's making use of the three extra padding bits in
the structure.
2021-08-31 10:00:18 -04:00
CrystalGamma
c991904e04
PowerPC: Add reservation monitor to save state
2021-07-21 12:14:07 +02:00
CrystalGamma
d763d693e8
PowerPC: Move lwarx/stwcxd. reservation into PowerPCState
2021-07-21 12:12:19 +02:00
Pierre Bourdon
e149ad4f0a
treewide: convert GPLv2+ license info to SPDX tags
...
SPDX standardizes how source code conveys its copyright and licensing
information. See https://spdx.github.io/spdx-spec/1-rationale/ . SPDX
tags are adopted in many large projects, including things like the Linux
kernel.
2021-07-05 04:35:56 +02:00