Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 15 Dec 2007 13:59:51 +0300
From:      Stanislav Sedov <stas@FreeBSD.org>
To:        Rafal Jaworowski <raj@semihalf.com>
Cc:        freebsd-arm@freebsd.org
Subject:   Align exception (was: MMC cards support)
Message-ID:  <20071215105951.GN17356@dracon.ht-systems.ru>
In-Reply-To: <20071214190825.GG17356@dracon.ht-systems.ru>
References:  <20071213222654.GE17356@dracon.ht-systems.ru> <20071214090128.GM31230@cicely12.cicely.de> <20071214115226.0b2cb7e2@peedub.jennejohn.org> <20071214.062511.74732956.imp@bsdimp.com> <20071214153201.18c4c5ea@peedub.jennejohn.org> <47629E53.30404@semihalf.com> <20071214190825.GG17356@dracon.ht-systems.ru>

next in thread | previous in thread | raw e-mail | index | archive | help
On Fri, Dec 14, 2007 at 10:08:25PM +0300 Stanislav Sedov mentioned:
> 
> Well, I downloaded the entire kernel via tftp, so the controller was probably
> configured correctly. Probably, u-boot resets it after transfer (have not checked
> this yet).
> 

Ok, I've solved my problem with if_ate by hardwiring MAC into the driver and
by commenting out the lines 1007-1008 in if_ates./c:
       if (phy != 0)
               return (0xffff);

My phy (rtl8102BL) is on 0x1D address, that forced the mii driver to return 0xffff
for all request? What this conditiond was intnded for? Probably we can strip this out?

For now I have another problem: i'm receiving the aligning exception when kernel is about
to start userland:

======================================================================

Fatal kernel mode data abort: 'Alignment Fault 3'
trapframe: 0xc422ebbc
FSR=00000003, FAR=42203735, spsr=600000d3
r0 =60000093, r1 =c0878220, r2 =c0878220, r3 =00000001
r4 =c0788b40, r5 =00000000, r6 =42203735, r7 =c0878220
r8 =00000001, r9 =c072a08c, r10=c0878220, r11=c422ec28
r12=c422ec08, ssp=c422ec08, slr=c01d04dc, pc =c0099cf4

[thread pid 24 tid 100035 ]
Stopped at      _thread_lock_flags+0x24:        ldr     r4, [r6]

======================================================================

>From the backtrace I can see it faults somewhere in the fork request:
======================================================================
_thread_lock_flags() at _thread_lock_flags+0x10
scp=0xc0099ce0 rlv=0xc008e320 (intr_event_schedule_thread+0x98)
        rsp=0xc422ec2c rfp=0xc422ec4c
        r7=0x00100000 r6=0x00000000
        r5=0x42203735 r4=0xc0788b40
intr_event_schedule_thread() at intr_event_schedule_thread+0x10
scp=0xc008e298 rlv=0xc008f120 (swi_sched+0x38)
        rsp=0xc422ec50 rfp=0xc422ec5c
        r5=0xc07b4000 r4=0x00100000
swi_sched() at swi_sched+0x10
scp=0xc008f0f8 rlv=0xc003729c (uart_bus_detach+0x1a4)
        rsp=0xc422ec60 rfp=0xc422ec70
uart_bus_detach() at uart_bus_detach+0x15c
scp=0xc0037254 rlv=0xc0037a10 (uart_bus_ipend+0x2dc)
        rsp=0xc422ec74 rfp=0xc422ec90
        r4=0xc07b4000
uart_bus_ipend() at uart_bus_ipend+0x68
scp=0xc003779c rlv=0xc01cf8ec (arm_handler_execute+0x98)
        rsp=0xc422ec94 rfp=0xc422ecb8
        r7=0xc422ecbc r6=0xc0781080
        r5=0x00000000 r4=0xc07b3640
arm_handler_execute() at arm_handler_execute+0x10
scp=0xc01cf864 rlv=0xc01de2d4 (irq_entry+0x98)
        rsp=0xc422ecbc rfp=0xc422ed40
        r10=0x0000000b r8=0x20300000
        r7=0x0000001b r6=0xc0303cd0 r5=0xe0000004 r4=0x2026c000
pmap_protect() at pmap_protect+0x10
scp=0xc01d6134 rlv=0xc01b9e24 (vmspace_fork+0x26c)
        rsp=0xc422ed44 rfp=0xc422ed74
        r10=0xc072a000 r9=0xc072a000
        r8=0xc072a4ec r7=0xc072a4ec r6=0xc02d9044 r5=0xc02da770
        r4=0x00000000
vmspace_fork() at vmspace_fork+0x10
scp=0xc01b9bc8 rlv=0xc008ca50 (fork1+0x1e4)
        rsp=0xc422ed78 rfp=0xc422edb8
        r10=0xc088d580 r9=0xc0878220
        r8=0x00000014 r7=0xc0877580 r6=0x00000000 r5=0x00000004
        r4=0x00000010
fork1() at fork1+0x10
scp=0xc008c87c rlv=0xc008dae4 (fork+0x24)
        rsp=0xc422edbc rfp=0xc422edd4
        r10=0xc088d580 r9=0xc422ee30
        r8=0x00000002 r7=0xc422eeac r6=0x00000000 r5=0xc0878220
        r4=0xc0878220
fork() at fork+0x10
scp=0xc008dad0 rlv=0xc01d93cc (swi_handler+0x2d4)
        rsp=0xc422edd8 rfp=0xc422eea8
        r4=0x00000000
swi_handler() at swi_handler+0x10
scp=0xc01d9108 rlv=0xc01ce928 (swi_entry+0x40)
        rsp=0xc422eeac rfp=0xbfffe868
        r10=0x00000000 r9=0x20204285
        r8=0x20204274 r7=0x00000002 r6=0x00000004 r5=0x2020e080
        r4=0x0002e52c
======================================================================

Is this problem somehow known? Can it be linked with the fact I'm using
NFS as a root filesystem? From kdb's ps it can be seen, that 3 userland processes
is already running, all sh.

Thanks!

-- 
Stanislav Sedov
ST4096-RIPE



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20071215105951.GN17356>