IPC: Clear X1 when acknowledging a reply
Hardware tests indicate that IOS clears X1 when it acknowledges an IPC request.
This commit is contained in:
parent
1a71076e50
commit
d029f2a7b6
|
@ -211,6 +211,11 @@ static void UpdateInterrupts(u64 userdata, s64 cyclesLate)
|
|||
!!(ppc_irq_flags & ppc_irq_masks));
|
||||
}
|
||||
|
||||
void ClearX1()
|
||||
{
|
||||
ctrl.X1 = 0;
|
||||
}
|
||||
|
||||
void GenerateAck(u32 _Address)
|
||||
{
|
||||
ctrl.Y2 = 1;
|
||||
|
|
|
@ -42,6 +42,7 @@ void DoState(PointerWrap& p);
|
|||
|
||||
void RegisterMMIO(MMIO::Mapping* mmio, u32 base);
|
||||
|
||||
void ClearX1();
|
||||
void GenerateAck(u32 _Address);
|
||||
void GenerateReply(u32 _Address);
|
||||
|
||||
|
|
|
@ -629,6 +629,7 @@ void Kernel::UpdateIPC()
|
|||
|
||||
if (m_request_queue.size())
|
||||
{
|
||||
ClearX1();
|
||||
GenerateAck(m_request_queue.front());
|
||||
u32 command = m_request_queue.front();
|
||||
m_request_queue.pop_front();
|
||||
|
|
Loading…
Reference in New Issue