+ int cnt;
+ u32 *addr;
+ u32 *cntl;
+
+ VICIntEnClr=(1<<src_number);
+ VICIntSelect&=~(1<<src_number);
+
+ addr=(u32 *)&VICVectAddr0;
+ cntl=(u32 *)&VICVectCntl0;
+
+ for(cnt=0;cnt<INTERRUPT_MAX_VIC;cnt++) {
+ if((cntl[cnt]&0x1f)==src_number) {
+ *((volatile u32 *)(addr+cnt))=0;
+ *((volatile u32 *)(cntl+cnt))=0;
+ }
+ }
+}
+
+void interrupt_soft_enable(u8 src_number) {
+
+ VICSoftInt=(1<<src_number);