Openwall GNU/*/Linux - a small security-enhanced Linux distro for servers
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date: Sun, 25 Aug 2013 23:41:37 +0400
From: Solar Designer <solar@...nwall.com>
To: john-dev@...ts.openwall.com
Cc: Sylvain Munaut <246tnt@...il.com>
Subject: Re: FPGA reprogramming on ZedBoard / Parallella board

Katja, Sylvain -

On Sun, Aug 25, 2013 at 02:01:28PM +0200, Katja Malvoni wrote:
> [...] I see two possibilities which could
> result with us being able to replace bitstream - one is replacing boot
> image with Sylvain's files and another one (if HDMI really is the only not
> supported peripheral) is generating bitstream with HDMI support.

This sounds right to me (the two possibilities).

I've just tried Sylvain's boot files (sorry I did not get around to
doing this sooner).  First, I tried just the bitstream - extracted it
out of Sylvain's BOOT.BIN with dd, stopped X, tried loading the
bitstream via /dev/xdevcfg.  I fully expected this to crash with no
messages on console, like it happened for Katja's bitstreams.  However,
this time it locked up after having printed to console:

root@...aro-ubuntu-desktop:~# Unhandled fault: imprecise external abort (0x406)5
Internal error: : 406 [#1] PREEMPT SMP
Modules linked in:
CPU: 1    Tainted: G    B   W     (3.3.0-01412-g71b0efa-dirty #2504)
PC is at xiic_bus_busy+0xc/0x18
LR is at xiic_xfer+0x30/0x1a4
pc : [<c02277a4>]    lr : [<c0227b64>]    psr: 600e0013
sp : d52dbe10  ip : c0328e68  fp : c0194e58
r10: 00000000  r9 : d812d3bc  r8 : 00000002
r7 : d52dbe60  r6 : 00000002  r5 : d52dbe60  r4 : d8233000
r3 : de820000  r2 : 00000002  r1 : d52dbe60  r0 : 00000000
Flags: nZCv  IRQs on  FIQs on  Mode SVC_32  ISA ARM  Segment kernel
Control: 18c5387d  Table: 18c0404a  DAC: 00000015
Process kworker/1:0 (pid: 4918, stack limit = 0xd52da2f0)
Stack: (0xd52dbe10 to 0xd52dc000)
be00:                                     00000000 00000000 00000000 00000000

Well, that was merely to satisfy my curiosity as to what would happen.

Then I went ahead and replaced the files on the boot partition with
Sylvain's (all 3 files).  I did this from the system itself, without
reconnecting the SD card to anywhere else.  Then I did "umount /mnt",
"sync", "reboot".  Watching the serial console, I saw the system (along
with Sylvain's newer Linux kernel version) boot up to running rc.local,
at which point it seemed to lock up - at least no response to me
pressign Enter on the serial console, and no response via Ethernet.

Then I power-cycled it.  Curiously, it is now responsive via the serial
console (I can issue shell commands just fine), but Ethernet is not
working.  dmesg contains:

xemacps e000b000.ps7-ethernet: Set clk to 24999999 Hz
xemacps e000b000.ps7-ethernet: link up (100/FULL)

Wow, while I was typing this message, I got:

EXT4-fs (mmcblk0p2): error count: 16
EXT4-fs (mmcblk0p2): initial error at 77: ext4_journal_start_sb:327
EXT4-fs (mmcblk0p2): last error at 313: ext4_lookup:1044: inode 164565

OK, may need to run fsck ...

Even more curiously:

------------[ cut here ]------------
WARNING: at net/sched/sch_generic.c:255 dev_watchdog+0x15c/0x240()
NETDEV WATCHDOG: eth0 (xemacps): transmit queue 0 timed out
Modules linked in:
[<c00142e8>] (unwind_backtrace+0x0/0x11c) from [<c0020d78>] (warn_slowpath_comm)
[<c0020d78>] (warn_slowpath_common+0x4c/0x68) from [<c0020e14>] (warn_slowpath_)
[<c0020e14>] (warn_slowpath_fmt+0x2c/0x3c) from [<c0350a68>] (dev_watchdog+0x15)
[<c0350a68>] (dev_watchdog+0x15c/0x240) from [<c002c5fc>] (call_timer_fn.isra.2)
[<c002c5fc>] (call_timer_fn.isra.20+0x20/0x84) from [<c002c7f4>] (run_timer_sof)
[<c002c7f4>] (run_timer_softirq+0x194/0x1e4) from [<c0027088>] (__do_softirq+0x)
[<c0027088>] (__do_softirq+0xc8/0x1ac) from [<c002746c>] (irq_exit+0x74/0xbc)
[<c002746c>] (irq_exit+0x74/0xbc) from [<c000eaa0>] (handle_IRQ+0x68/0x8c)
[<c000eaa0>] (handle_IRQ+0x68/0x8c) from [<c00084c4>] (gic_handle_irq+0x38/0x5c)
[<c00084c4>] (gic_handle_irq+0x38/0x5c) from [<c000ddc0>] (__irq_svc+0x40/0x70)
Exception stack(0xde485fa8 to 0xde485ff0)
5fa0:                   de485ff0 de484000 c05acb08 00000000 1e46806a 00000015
5fc0: 10c0387d c05acdd8 0000406a 413fc090 00000000 00000000 00000000 de485ff0
5fe0: c000ee34 c000ee38 600f0013 ffffffff
[<c000ddc0>] (__irq_svc+0x40/0x70) from [<c000ee38>] (cpu_idle+0xb4/0x10c)
[<c000ee38>] (cpu_idle+0xb4/0x10c) from [<003c6d04>] (0x3c6d04)
---[ end trace 2007cf26752fba65 ]---
xemacps e000b000.ps7-ethernet: transmit timeout 3000 ms, reseting...
xemacps e000b000.ps7-ethernet: Set clk to 24999999 Hz
xemacps e000b000.ps7-ethernet: link up (100/FULL)

... and after this point Ethernet works - I was able to SSH in.

There are also lots of instances of:

Switching to clocksource jiffies
Switching to clocksource ttc_clocksource
Switching to clocksource jiffies
Switching to clocksource ttc_clocksource
Switching to clocksource jiffies
Switching to clocksource ttc_clocksource

Trying to run the previously compiled and working matmul sample resulted
in "Unable to handle kernel paging request at virtual0 pgd = ddd08000"
followed by several other Oops'es (lots of output via the serial console),
and the system is now locked up.  The matmul output ended here:

solar@...aro-ubuntu-desktop:~/matmul-16$ ./run.sh 

Matrix: C[512][512] = A[512][512] * B[512][512]

Using 4 x 4 cores

Seed = 0.000000
Loading program on Epiphany chip...
Writing C[1048576B] to address 00200000...
Writing A[1048576B] to address 00000000...

I'll power-cycle again, but I'm not sure what's next... maybe try Sylvain's
BOOT.BIN and devicetree.dtb along with our older kernel?

Alexander

Powered by blists - more mailing lists

Your e-mail address:

Powered by Openwall GNU/*/Linux - Powered by OpenVZ