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
|
@ -7773,9 +7773,6 @@ public:
|
|||
m_ir->CreateStore(&*(m_function->arg_begin() + 2), spu_ptr<u32>(&spu_thread::pc))->setVolatile(true);
|
||||
else
|
||||
update_pc();
|
||||
const auto pstatus = spu_ptr<u32>(&spu_thread::status);
|
||||
const auto chalt = m_ir->getInt32(SPU_STATUS_STOPPED_BY_HALT);
|
||||
m_ir->CreateAtomicRMW(llvm::AtomicRMWInst::Or, pstatus, chalt, llvm::AtomicOrdering::Release)->setVolatile(true);
|
||||
const auto ptr = _ptr<u32>(m_memptr, 0xffdead00);
|
||||
m_ir->CreateStore(m_ir->getInt32("HALT"_u32), ptr)->setVolatile(true);
|
||||
m_ir->CreateBr(next);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue