예제 #1
0
static void write_INTC_IPRC(u32 addr, u32 data)
{
   if (INTC_IPRC.reg_data == (u16)data)
      return;
   INTC_IPRC.reg_data=(u16)data;
   SIIDRebuild(); //we need to rebuild the table
}
예제 #2
0
void write_INTC_IPRC(u32 addr, u32 data)
{
    if (INTC_IPRC.reg_data!=(u16)data)
    {
        INTC_IPRC.reg_data=(u16)data;
        SIIDRebuild(); //we need to rebuild the table
    }
}
예제 #3
0
void intc_reset()
{
    INTC_ICR.reg_data = 0x0;
    INTC_IPRA.reg_data = 0x0;
    INTC_IPRB.reg_data = 0x0;
    INTC_IPRC.reg_data = 0x0;

    SIIDRebuild(); //rebuild the interrupts table

    interrupts_reset();
}
예제 #4
0
void interrupts_reset(void)
{
	//reset interrupts cache
	interrupt_vpend=0x00000000;
	interrupt_vmask=0xFFFFFFFF;
	decoded_srimask=0;

	for (u32 i=0;i<28;i++)
		InterruptBit[i]=1<<i;

	//rebuild the interrupts table
	SIIDRebuild();
}