...
This commit is contained in:
parent
b98f7e78ea
commit
57e3e2da6f
2 changed files with 21 additions and 1 deletions
|
@ -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;
|
||||
|
||||
|
|
|
@ -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
|
||||
};
|
||||
|
||||
|
|
Loading…
Add table
Reference in a new issue