This commit is contained in:
Carl-Benedikt Krüger 2011-06-29 23:10:12 +02:00
parent b98f7e78ea
commit 57e3e2da6f
2 changed files with 21 additions and 1 deletions

View file

@ -172,7 +172,7 @@ int icc_init(void)
return 0;
}
static inline int icc_send_irq(int ue)
inline int icc_send_irq(int ue)
{
int tmp, x, y, z, addr;

View file

@ -413,6 +413,7 @@ __inline int mmnif_trigger_irq(dest_ip)
#ifdef WIN32
return PulseEvent(remote_process_event);
#else
#if 0
/* NOTE: have to check how the remote interrupt managment works
* on the SCC
*/
@ -442,7 +443,26 @@ __inline int mmnif_trigger_irq(dest_ip)
value &= (~(RCK_INTR_MASK|RCK_NMI_MASK));
SetConfigReg((void*)irq_address,value);
}
#endif
int tmp, x, y, z, addr;
int ue = dest_ip -1;
z = Z_PID(RC_COREID[ue]);
x = X_PID(RC_COREID[ue]);
y = Y_PID(RC_COREID[ue]);
addr = CRB_ADDR(x,y) + (z==0 ? GLCFG0 : GLCFG1);
// send interrupt to ue
do {
NOP1;
tmp=ReadConfigReg(addr);
} while(tmp & 2);
tmp |= 2;
SetConfigReg(addr, tmp);
return 0;
#endif
};