AR71XX RTC
Neelkanth Natu
neelnatu at yahoo.com
Mon Jan 25 09:31:00 UTC 2010
Hi Flo,
Can you try the following patch and see if it helps with the
hang-followed-by-trap problem?
I am seeing a similar problem on the Sibyte and this patch gets me
past it.
best
Neel
Index: swtch.S
===================================================================
--- swtch.S (revision 202961)
+++ swtch.S (working copy)
@@ -323,7 +323,7 @@
* to be saved with the other registers do so here.
*/
- sw a3, TD_LOCK(a0) # Switchout td_lock
+ sw a2, TD_LOCK(a3) # Switchout td_lock
mips_sw1:
#if defined(SMP) && defined(SCHED_ULE)
--- On Sun, 1/24/10, Florian Kruegl <smeagle at bsdler.de> wrote:
> From: Florian Kruegl <smeagle at bsdler.de>
> Subject: Re: AR71XX RTC
> To: "Oleksandr Tymoshenko" <gonzo at bluezbox.com>
> Cc: freebsd-mips at freebsd.org
> Date: Sunday, January 24, 2010, 8:52 AM
> Hi,
>
> On Sun, 2010-01-24 at 02:41 +0100, Florian Kruegl wrote:
> > On Sat, 2010-01-23 at 16:53 -0800, Oleksandr
> Tymoshenko wrote:
> > > On 2010-01-23, at 4:44 PM, Florian Kruegl wrote:
> > >
> > > > Hi,
> > > >
> > > > On Sat, 2010-01-23 at 16:21 -0800, Oleksandr
> Tymoshenko wrote:
> > > >> On 2010-01-23, at 4:00 PM, Florian
> Kruegl wrote:
> > > >>
> > > >>> Hi,
> > > >>>
> > > >>> anyone working on pfc2123 driver for
> RouterStation Pro?
> > > >>> Seems quite well documented, one
> issue might be CS hack, but the rest
> > > >>> should be straight.
> > > >> Driver was commited
> yesterday:
> > > >> http://svn.freebsd.org/viewvc/base?view=revision&revision=202839
> > > >>
> > > >> And yes, CS hack is the problem. I'm
> trying to figure out how to fit it into FreeBSD
> > > >> SPI framework.
> > > >
> > > > sounds good, will do an update as soon as i
> removed me work from code.
> > > > My CS "solution" was more than crude, but
> the frames simply didn't
> > > > fit... so I am looking forward for a
> different one :)
> > >
> > > Yeah, my CS solution was
> dirty hack too. If for "didn't fit" you mean missing last
> > > byte of frame then this problem was solved to.
> Bug was in AR71XX SPI code: falling
> > > edge was not provided for last byte in transfer
> in time and RTC chip acts of falling edge.
> > > Fix was committed before driver.
> > >
> > >
> > >
> >
> > code looks similar, can't tell much about result as
> kernel hangs for a
> > while before getting this:
> >
> <<<<<<<<<<<<<<<<<<<<<<<<<<<
> schnipp
> >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
> > Trap cause = 2 (TLB miss (load or instr. fetch) -
> kernel mode)
> > [thread pid 4 tid 100009 ]
> > Stopped at
> _thread_lock_flags+0x150:
> lw v0,60(a3)
> > db> bt
> > Tracing pid 4 tid 100009 td 0xc0c47270
> > db_trace_thread+30 (?,?,?,?) ra 800a6c10 sz 24
> > 800a6af4+11c (0,?,ffffffff,?) ra 800a6604 sz 32
> > 800a6270+394 (?,?,?,?) ra 800a6794 sz 168
> > db_command_loop+78 (?,?,?,?) ra 800a8e68 sz 24
> > 800a8d60+108 (?,?,?,?) ra 80215ff8 sz 424
> > kdb_trap+f8 (?,?,?,?) ra 80474350 sz 32
> > trap+134c (?,?,?,?) ra 8046b7fc sz 176
> > MipsKernGenException+100 (b,173,804d5de8,deadc0d8) ra
> 801c593c sz 200
> > _thread_lock_flags+130 (?,?,?,?) ra 80221f18 sz 56
> > sleepq_broadcast+ac (?,?,?,?) ra 801e5f20 sz 40
> > wakeup+2c (?,?,?,?) ra 8016de18 sz 32
> > g_io_deliver+198 (?,?,?,?) ra 8016bbd4 sz 80
> > 8016b590+644 (?,?,?,?) ra 8016e184 sz 104
> > g_io_schedule_down+2ec (?,?,?,?) ra 8016eb94 sz 64
> > 8016eb18+7c (?,?,?,?) ra 801a331c sz 24
> > fork_exit+a0 (?,?,?,?) ra 80478f10 sz 48
> > fork_trampoline+10 (?,?,?,?) ra 0 sz 0
> > pid 4
> >
> <<<<<<<<<<<<<<<<<<<<<<<<<<<
> schnapp
> >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
> >
> > will use AR71XX as config file tomorrow, mine has many
> additional devs
> > configured for booting from usb devices.
> >
> [...]
>
> seems to make no difference. removed all mini pci
> devs and most code
> changes. kernel hangs during bootup for a while. then gets
> a trap.
>
> Source Info:
>
> -------------------------- schnipp
> --------------------------
> brain:head> svn info
> Path: .
> URL: svn://svn.freebsd.org/base/head
> Repository Root: svn://svn.freebsd.org/base
> Repository UUID: ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f
> Revision: 202904
> Node Kind: directory
> Schedule: normal
> Last Changed Author: marcel
> Last Changed Rev: 202904
> Last Changed Date: 2010-01-24 00:16:50 +0100 (Sun, 24 Jan
> 2010)
> -------------------------- schnapp
> --------------------------
>
> -------------------------- schnipp
> --------------------------
> brain:head> svn stat
> ? GRTAGS
> ? GSYMS
> ? GTAGS
> ? GPATH
> M sys/kern/vfs_mount.c
> M sys/mips/conf/AR71XX
> ? sys/dev/pfc2123
> -------------------------- schnapp
> --------------------------
>
> - vfs_mount should be far away.
> - sys/dev/pfc2123 is no longer used.
> - sys/mips/conf/AR71XX altered to include pfc2123_rtc
>
>
> -------------------------- schnipp
> --------------------------
> FreeBSD 9.0-CURRENT #1: Sun Jan 24 15:58:37 UTC 2010
>
> root at pinky.lan.terror.local:/home/smeagle/obj/mips/mips/home/smeagle/src/freebsd/head/sys/AR71XX
> mips
> real memory = 134217728 (131072K bytes)
> avail memory = 125689856 (119MB)
> nexus0: <MIPS32 root nexus>
> clock0: <Generic MIPS32 ticker> on nexus0
> clock0: [FILTER]
> apb0 at irq 4 on nexus0
> apb0: [FILTER]
> uart0: <16550 or compatible> on apb0
> uart0: [FILTER]
> uart0: console (115200,n,8,1)
> pcib0 at irq 0 on nexus0
> pcib0: [FILTER]
> pci0: <PCI bus> on pcib0
> pci0: <old, non-VGA display device> at device 0.0 (no
> driver attached)
> pci0: <processor> at device 17.0 (no driver
> attached)
> arge0: <Atheros AR71xx built-in ethernet interface>
> at mem
> 0x19000000-0x19000fff irq 2 on nexus0
> miibus0: <MII bus> on arge0
> ukphy0: <Generic IEEE 802.3u media interface> PHY 4
> on miibus0
> ukphy0: 10baseT, 10baseT-FDX, 100baseTX,
> 100baseTX-FDX, 1000baseT-FDX,
> auto
> arge0: Ethernet address: 00:00:00:00:46:61
> arge0: [FILTER+ITHREAD]
> arge1: <Atheros AR71xx built-in ethernet interface>
> at mem
> 0x1a000000-0x1a000fff irq 3 on nexus0
> arge1: Ethernet address: 00:00:00:00:46:62
> arge1: [FILTER+ITHREAD]
> spi0: <AR71XX SPI> at mem 0x1f000000-0x1f00000f on
> nexus0
> spibus0: <spibus bus> on spi0
> mx25l0: <M25Pxx Flash Family> at cs 0 on spibus0
> mx25l0: mx25ll128, sector 65536 bytes, 256 sectors
> ar71xx_wdog0: <Atheros AR71XX watchdog timer> on
> nexus0
> Timecounter "MIPS32" frequency 360000000 Hz quality 800
> Timecounters tick every 1.000 msec
> bootpc_init: wired to interface 'arge0'
> Sending DHCP Discover packet from interface arge0
> (00:00:00:00:46:61)
> arge0: link state changed to DOWN
> Trap cause = 2 (TLB miss (load or instr. fetch) - kernel
> mode)
> [thread pid 4 tid 100008 ]
> Stopped at
> _thread_lock_flags+0x150:
> lw v0,60(a3)
> db> bt
> Tracing pid 4 tid 100008 td 0xc0c414e0
> db_trace_thread+30 (?,?,?,?) ra 80055900 sz 24
> 800557e4+11c (0,?,ffffffff,?) ra 800552f4 sz 32
> 80054f60+394 (?,?,?,?) ra 80055484 sz 168
> db_command_loop+78 (?,?,?,?) ra 80057b58 sz 24
> 80057a50+108 (?,?,?,?) ra 8017b7d8 sz 424
> kdb_trap+f8 (?,?,?,?) ra 8035ab40 sz 32
> trap+134c (?,?,?,?) ra 80351fec sz 176
> MipsKernGenException+100 (b,173,8039ce74,deadc0d8) ra
> 8012c92c sz 200
> _thread_lock_flags+130 (?,?,?,?) ra 801876f8 sz 56
> sleepq_broadcast+ac (?,?,?,?) ra 8014b700 sz 40
> wakeup+2c (?,?,?,?) ra 800d6ba8 sz 32
> g_io_deliver+198 (?,?,?,?) ra 800d4964 sz 80
> 800d4320+644 (?,?,?,?) ra 800d6f14 sz 104
> g_io_schedule_down+2ec (?,?,?,?) ra 800d7924 sz 64
> 800d78a8+7c (?,?,?,?) ra 8010c0ac sz 24
> fork_exit+a0 (?,?,?,?) ra 8035f700 sz 48
> fork_trampoline+10 (?,?,?,?) ra 0 sz 0
> pid 4
> -------------------------- schnapp
> --------------------------
>
>
>
>
> Flo
>
> _______________________________________________
> freebsd-mips at freebsd.org
> mailing list
> http://lists.freebsd.org/mailman/listinfo/freebsd-mips
> To unsubscribe, send any mail to "freebsd-mips-unsubscribe at freebsd.org"
>
More information about the freebsd-mips
mailing list