From mboxrd@z Thu Jan 1 00:00:00 1970 From: Lucas Jin Date: Mon, 1 Oct 2007 19:07:20 +0800 Subject: [U-Boot-Users] a problem about rtl8139 driver on sandpoint8245board References: <200709301053117811863@gmail.com>, <4700C3B4.70401@necel.com> Message-ID: <200710011907162182500@gmail.com> List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: u-boot@lists.denx.de Shinya Kuribayashi: Thank you for your hint. I think it will be of help in the future debugging. But my problem occurs just in the process of rtl8139 reset. >Lucas Jin wrote: >> Hi, all >> >> I am debuging RTL8139 driver for a board based on Sandpoint8245 and I have a problem. > >I don't know much about Sandpoint 8245, but > >> The CPU panic on line 529 in rtl8139.c. (outb(CmdReset, ioaddr + ChipCmd);) >> >> Serial port displayed: >> ( >> Bad trap at PC: fffffffc, SR: 1000, vector=800 >> NIP: FFFFFFFC XER: 20000000 LR: 00001288 REGS: 077ceb30 TRAP: 0800 DAR: 077CECC0 >> MSR: 00001000 EE: 0 PR: 0 FP: 0 ME: 1 IR/DR: 00 >> >> GPR00: 00000010 077CEC20 FFFFFF1F 00000000 0000000A 00000010 FFFFFFFB 00000000 >> GPR08: 00000040 81000000 00000000 FFFFFFFF 00000020 A7AC5E24 07FFD000 080D1000 >> GPR16: 31380950 8E109020 05808002 55D84040 00003032 00000001 00000000 00000001 >> GPR24: 00000000 077CEEA8 077CEFC8 00000005 07FF80C8 077CEF94 07FFD6D8 00000000 >> Call backtrace: >> Exception in kernel pc fffffffc signal 0 >> ) >> >> The value of ioaddr is 0x80000000 >> >> The value of _IO_BASE outb uses is defined as 0 > >AFAICT the drivers/rtl8139.c has at least two problems: > > - First, the prospekctive target is MIPS > because it uses KSEG1ADDR macro to obtain uncached address. > > - Moreover it only works under cache-{disabled,less} CPU > because it lacks of flush_cache() before transmitting data or > reclaiming rx buffers. > >thanks, > > Shinya Kuribayashi > Yours Lucas Jin