<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD>
<META http-equiv=Content-Type content="text/html; charset=iso-2022-jp">
<META content="MSHTML 6.00.2900.6148" name=GENERATOR>
<STYLE></STYLE>
</HEAD>
<BODY bgColor=#ffffff>
<DIV><FONT face="MS UI Gothic" size=2>$B$O$8$a$^$7$F!"$*@$OC$K$J$j$^$9!#(B<BR>$BCfEg$H$$$$$^$9!#(B</FONT></DIV>
<DIV><FONT face="MS UI Gothic" size=2></FONT> </DIV>
<DIV><FONT face="MS UI Gothic" 
size=2>$B8=:_(BSZ410$B$H(Bsz410-20090427$B%W%m%8%'%/%H$r;H$$(B<BR>$B3d9~$_%3%s%H%m!<%i$X$N3d9~$_?.9f$rDI2C$7$?(B<BR>$B2sO)$rAH$_$^$7$?!#(B<BR>$B$*<j@=3d9~$_%O%s%I%i$K$H$P$9$3$H$^$G$G$-$F$$$^$9!#(B<BR>$B$7$+$7!"3d9~$_MW0x%l%8%9%?$K(B0x38000000$B$H$$$&CM$,FI$a$F$$$F(B<BR>0x38$B$r(B2$B?J?t$G=q$/$H(B00111000b$B$G$9$,!"$I$N%S%C%H$,$I$NMW0x$+$N(B<BR>$BBP1~$,%S%C%0%(%s%G%#%"%s$,$h$/$o$+$C$F$$$J$$$?$a!"$o$+$i$J$$$G$$$^$9!#(B<BR>$B$H$$$&E@$H!"2<5-%m%0$N$h$&$K$^$@LdBj$,$"$k$h$&$G(B,bus 
error$B$,$G$F$$$^$9!#(B<BR>$B%I%i%$%P$N5-=R$KLdBj$,$"$k$N$G$7$g$&$+!)(B<BR>$B0J>e!"$I$J$?$+?F@Z$JJ}$,$$$i$C$7$c$?$i!"%R%s%H$@$1$G$b$$$?$@$1$?$i9,$$$G$9!#(B</FONT></DIV>
<DIV><FONT face="MS UI Gothic" size=2></FONT> </DIV>
<DIV><FONT face="MS UI Gothic" size=2>mhs$B%U%!%$%k$NH4?h$O!"2<5-$NDL$j$G$9!#(B<BR>BEGIN 
xps_intc<BR> PARAMETER INSTANCE = intc_system<BR> PARAMETER HW_VER = 
1.00.a<BR> PARAMETER C_BASEADDR = 0xF0FF3000<BR> PARAMETER C_HIGHADDR 
= 0xF0FF30FF<BR> BUS_INTERFACE SPLB = plb_peripheral<BR> PORT Irq = 
EICC405EXTINPUTIRQ<BR> PORT Intr = 
int_rst&int_b&int_a&phy_mii_int&console_uart_interrupt&fifo_int<BR>END</FONT></DIV>
<DIV><FONT face="MS UI Gothic" size=2></FONT> </DIV>
<DIV><FONT face="MS UI Gothic" size=2></FONT> </DIV>
<DIV><FONT face="MS UI Gothic" size=2></FONT> </DIV>
<DIV><FONT face="MS UI Gothic" 
size=2>int_rst$B!"(Bint_b$B!"(Bint_a$B$N#3K\$N3d9~$_?.9f$rDI2C$7$F$$$^$9!#(B</FONT></DIV>
<DIV><FONT face="MS UI Gothic" size=2></FONT> </DIV>
<DIV><FONT face="MS UI Gothic" size=2>$B%F%9%HMQ$N%I%i%$%P$O!"<!$NDL$j$G$9(B</FONT></DIV>
<DIV><FONT face="MS UI Gothic" size=2></FONT> </DIV>
<DIV><FONT face="MS UI Gothic" size=2>#include 
<linux/module.h><BR>//#include <linux/types.h><BR>#include 
<linux/kernel.h><BR>//#include <linux/errno.h><BR>#include 
<linux/string.h><BR>//#include <linux/mm.h><BR>//#include 
<linux/vmalloc.h><BR>//#include <linux/slab.h><BR>//#include 
<linux/delay.h><BR>//#include <linux/fb.h><BR>//#include 
<linux/init.h><BR>#include <linux/interrupt.h><BR>#include 
<linux/ioctl.h><BR>//#include <linux/uaccess.h><BR>//#include 
<linux/platform_device.h><BR>//#include <linux/device.h><BR>#include 
<linux/cdev.h></FONT></DIV>
<DIV><FONT face="MS UI Gothic" size=2></FONT> </DIV>
<DIV><FONT face="MS UI Gothic" size=2>#include <asm/io.h></FONT></DIV>
<DIV><FONT face="MS UI Gothic" size=2></FONT> </DIV>
<DIV><FONT face="MS UI Gothic" size=2>static char IRQNAME[9] = 
"TEST_IRQ";<BR>static int irq = 3;<BR>static unsigned int *BASE_ADDDR;<BR>static 
int FLAG;</FONT></DIV>
<DIV><FONT face="MS UI Gothic" size=2></FONT> </DIV><FONT 
face="MS UI Gothic" size=2>
<DIV><BR>static irqreturn_t<BR>test_irq(int irq, void *dev_id, struct pt_regs 
*r)<BR>{<BR> int temp;<BR> temp = 
ioread32(BASE_ADDDR/*0xf0ff3000*/);<BR> if(FLAG == 
0){<BR> printk("interrupt status reg=%x\n",temp);<BR> FLAG = 
1;<BR> }<BR>// if((temp & 
0x80000000)==0x80000000){<BR>//    
 iowrite32(0x80000000,BASE_ADDDR+0x0c/*0xf0ff300c*/);<BR>//  printk("tondayo!!\n");<BR>//  return 
IRQ_HANDLED;<BR>// } else {<BR>  return 
IRQ_NONE;<BR>// }<BR>}</DIV>
<DIV> </DIV>
<DIV>int init_module(void)<BR>{<BR>    int 
ret;<BR> printk("IRQ TEST driver initialiing!!!!\n");<BR> BASE_ADDDR = 
(unsigned int*)ioremap_nocache(0xf0ff3000,0x14);<BR> ret = request_irq(irq, 
test_irq, SA_INTERRUPT/*IRQF_SHARED*/, IRQNAME, NULL);<BR> if(ret < 
0){<BR>  printk("IRQ NOT REGISTERED!!\n");<BR> } else 
{<BR>  iowrite32(0xffffffff,BASE_ADDDR+0x8/*0xf0ff3008*/);/*INTA INTB 
default int ENABLE*/<BR> }<BR> FLAG=0;<BR> return 0;<BR>}</DIV>
<DIV> </DIV>
<DIV>/*void cleanup_module(void)<BR>{<BR> printk("cleaned up 
module!!\n");<BR> iounmap(BASE_ADDDR);<BR>}*/<BR>MODULE_LICENSE("GPL 
v2");</DIV>
<DIV> </DIV>
<DIV><BR>PowerPC$B$N%"%I%l%96u4V>e$N%"%I%l%9(B0xf0ff3000$B$,3d9~$_%3%s%H%m!<%i$N%Y!<%9%"%I%l%9$G$9(B<BR>0xf0ff3000 
$B$,(Binterrupt status register$B$N%"%I%l%9$G$9(B</DIV>
<DIV> </DIV>
<DIV>$B0J2<$,>e5-%I%i%$%P$r#O#S$K%j%s%/$7$?$H$-$N%m%0$G$9!#(B</DIV>
<DIV> </DIV>
<DIV>IRQ TEST driver initialiing!!!!<BR>interrupt status reg=38000000<BR>irq 3: 
nobody cared (try booting with the "irqpoll" option)<BR>Call 
Trace:<BR>[C3D1DBB0] [C00099DC] show_stack+0x4c/0x1b0 (unreliable)<BR>[C3D1DBE0] 
[C0045230] __report_bad_irq+0x30/0xc0<BR>[C3D1DC00] [C00453A4] 
note_interrupt+0xe4/0x2b0<BR>[C3D1DC30] [C0044814] 
__do_IRQ+0x124/0x130<BR>[C3D1DC50] [C0007484] do_IRQ+0xc4/0xd0<BR>[C3D1DC60] 
[C000353C] ret_from_except+0x0/0x18<BR>[C3D1DD20] [00000000] 0x0<BR>[C3D1DD40] 
[C00447B0] __do_IRQ+0xc0/0x130<BR>[C3D1DD60] [C0007484] 
do_IRQ+0xc4/0xd0<BR>[C3D1DD70] [C000353C] ret_from_except+0x0/0x18<BR>[C3D1DE30] 
[C0044F08] setup_irq+0x1a8/0x200<BR>[C3D1DE50] [C004501C] 
request_irq+0xbc/0xd0<BR>[C3D1DE80] [C50040C4] init_module+0x54/0x180 
[IRQ_TEST2]<BR>[C3D1DE90] [C0042444] sys_init_module+0x174/0x1590<BR>[C3D1DF40] 
[C0002EF4] ret_from_syscall+0x0/0x3c<BR>handlers:<BR>[<c5004000>] 
(test_irq+0x0/0x70 [IRQ_TEST2])<BR>Disabling IRQ #3<BR>Data machine check in 
kernel mode.<BR>Oops: machine check, sig: 7 [#1]<BR>NIP: C0042444 LR: C0042444 
CTR: 00000000<BR>REGS: c0205f50 TRAP: 0202   Not tainted  
(2.6.18-at7)<BR>MSR: 00029030 <EE,ME,IR,DR>  CR: 33005593  XER: 
E000007F<BR>TASK = c0524830[158] 'exe' THREAD: c3d1c000<BR>GPR00: C0042444 
C3D1DE90 C0524830 00000000 00000014 00000000 C3E1E608 00000000 <BR>GPR08: 
00000014 C5000000 00000000 FFFFFFFF 000014FC 100417C0 0000000F C5002AB0 
<BR>GPR16: C057EA40 C5002720 00000124 00000000 C0041350 C5002434 C5002770 
C5004548 <BR>GPR24: C5002000 00000011 00000011 C5004500 C052F6D8 C5004500 
C01C8CDC C052F6B0 <BR>NIP [C0042444] sys_init_module+0x174/0x1590<BR>LR 
[C0042444] sys_init_module+0x174/0x1590<BR>Call Trace:<BR>[C3D1DE90] [C0042444] 
sys_init_module+0x174/0x1590 (unreliable)<BR>[C3D1DF40] [C0002EF4] 
ret_from_syscall+0x0/0x3c<BR>Instruction dump:<BR>7fc3f378 481509c9 3c60c01d 
38800001 7f65db78 38638ce8 4bfef815 801b00dc <BR>2f800000 419e0014 7c0903a6 
4e800421 <7c7f1b79> 418000b4 3d20c01d 3be00000 <BR>Bus error</DIV>
<DIV> </DIV>
<DIV>$B>e5-%m%0$h$j(B,$B%O%s%I%i$NEPO?$O$G$-$F$$$k$h$&$G$9!#(B<BR>32$BK\$N3d9~$_!J#2#6K\$O!"L58z!K$r%$%M!<%V%k$K$7$F$$$^$9!#(B</DIV>
<DIV> </DIV>
<DIV>cat ./proc/interrupts$B$NFbMF$O<!$NDL$j$G$9!#(B</DIV>
<DIV> </DIV>
<DIV># cat ./proc/interrupts 
<BR>           
CPU0       <BR>  
0:         56  Xilinx Interrupt 
Controller Level     eth0<BR>  
1:        271  Xilinx Interrupt 
Controller Edge      uartlite<BR>  
3:     100000  Xilinx Interrupt Controller 
Level     
TEST_IRQ<BR>BAD:          0<BR># # 
cat ./proc/interrupts 
<BR>           
CPU0       <BR>  
0:         56  Xilinx Interrupt 
Controller Level     eth0<BR>  
1:        278  Xilinx Interrupt 
Controller Edge      uartlite<BR>  
3:     100000  Xilinx Interrupt Controller 
Level     
TEST_IRQ<BR>BAD:          0<BR># # 
cat ./proc/interrupts 
<BR>           
CPU0       <BR>  
0:         56  Xilinx Interrupt 
Controller Level     eth0<BR>  
1:        285  Xilinx Interrupt 
Controller Edge      uartlite<BR>  
3:     100000  Xilinx Interrupt Controller 
Level     
TEST_IRQ<BR>BAD:          
0<BR>#</DIV>
<DIV> </DIV>
<DIV>TEST_IRQ$B$N3d9~$_H/@82s?t$G$9$,!"M=Dj$G$O#0$K$J$k$O$:$G$7$?!#(B<BR>$B%\%?%s$r$*$9$H(B,$B%$%s%/%j%a%s%H$7$F$$$/M=Dj$G$7$?!#(B</DIV>
<DIV> </DIV>
<DIV>$B#E#D#K$,$O$-$@$7$?(Bxparameters.h$B$NH4?h$O<!$NDL$j$G$9!#(B</DIV>
<DIV> </DIV>
<DIV>#define XPAR_INTC_SINGLE_BASEADDR 0xF0FF3000<BR>#define 
XPAR_INTC_SINGLE_HIGHADDR 0xF0FF30FF<BR>#define XPAR_INTC_SINGLE_DEVICE_ID 
XPAR_INTC_SYSTEM_DEVICE_ID<BR>#define XPAR_OCM_TEMAC_CNTLR_FIFO_INT_MASK 
0X000001<BR>#define XPAR_INTC_SYSTEM_OCM_TEMAC_CNTLR_FIFO_INT_INTR 0<BR>#define 
XPAR_UART_CONSOLE_INTERRUPT_MASK 0X000002<BR>#define 
XPAR_INTC_SYSTEM_UART_CONSOLE_INTERRUPT_INTR 1<BR>#define 
XPAR_OCM_TEMAC_CNTLR_PHY_MII_INT_MASK 0X000004<BR>#define 
XPAR_INTC_SYSTEM_OCM_TEMAC_CNTLR_PHY_MII_INT_INTR 2<BR>#define 
XPAR_SYSTEM_INTA_MASK 0X000008<BR>#define XPAR_INTC_SYSTEM_SYSTEM_INTA_INTR 
3<BR>#define XPAR_SYSTEM_INTB_MASK 0X000010<BR>#define 
XPAR_INTC_SYSTEM_SYSTEM_INTB_INTR 4<BR>#define XPAR_SYSTEM_INTRST_MASK 
0X000020<BR>#define XPAR_INTC_SYSTEM_SYSTEM_INTRST_INTR 5</DIV>
<DIV> </DIV>
<DIV>XPAR_INTC_SYSTEM_SYSTEM_INTA_INTR 3$B$H$$$&5-=R$r$b$H$K(B<BR>IRQ$BHV9f$r#3$K$7$F$$$^$9!#(B</DIV>
<DIV> </DIV>
<DIV> *-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*<BR> $B")(B221-0031<BR> $B?@F`@n8)2#IM;T?@F`@n6h?71:EgD.(B1-1-32<BR> $B%K%e!<%9%F!<%82#IM(B 
13F</DIV>
<DIV> </DIV>
<DIV> NTT$B%(%l%/%H%m%K%/%93t<02q<R(B</DIV>
<DIV> </DIV>
<DIV> $B%G%8%?%k1GA|;v6HK\It(B<BR> $BBh0l@=IJ;v6HIt(B<BR> $B@_7WIt!!%b%8%e!<%k3+H/ItLg(B<BR> <BR> $BCfEg!!9'(B<BR> <BR> E-mail 
nakajima-takashi$B!w(Bntt-el.com<BR> TEL 045-414-9465</DIV>
<DIV> </DIV>
<DIV>*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*</FONT></DIV></BODY></HTML>