mirror of
https://github.com/RPCS3/rpcs3.git
synced 2025-07-16 11:48:36 +12:00
RawSPU: protect NPC from writes/reads in running state
This commit is contained in:
parent
fad8b38b28
commit
727d783959
7 changed files with 53 additions and 56 deletions
|
@ -577,14 +577,18 @@ public:
|
|||
atomic_t<u32> ch_event_stat;
|
||||
atomic_t<bool> interrupts_enabled;
|
||||
|
||||
bool skip_npc_set = false;
|
||||
|
||||
u64 ch_dec_start_timestamp; // timestamp of writing decrementer value
|
||||
u32 ch_dec_value; // written decrementer value
|
||||
|
||||
atomic_t<u32> run_ctrl; // SPU Run Control register (only provided to get latest data written)
|
||||
atomic_t<u32> status; // SPU Status register
|
||||
atomic_t<u32> npc; // SPU Next Program Counter register
|
||||
|
||||
struct alignas(8) status_npc_sync_var
|
||||
{
|
||||
u32 status; // SPU Status register
|
||||
u32 npc; // SPU Next Program Counter register
|
||||
};
|
||||
|
||||
atomic_t<status_npc_sync_var> status_npc;
|
||||
|
||||
std::array<spu_int_ctrl_t, 3> int_ctrl; // SPU Class 0, 1, 2 Interrupt Management
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue