0

I am using customized armada 370 board based on ARMv7.

I am able to successfully load the u-boot. But when loaded the linux kernel through "loadb command" directly into DRAM, i am getting below error.

Error:-
########################################
[    0.400000] Unhandled fault: imprecise external abort (0x1406) at 0x00000000
[    0.400000] Internal error: : 1406 [#1] PREEMPT
[    0.400000] last sysfs file:
[    0.400000] Modules linked in:
[    0.400000] CPU: 0    Not tainted  (2.6.34.10-WR4.3.0.0_standard #73)
[    0.400000] PC is at trace_hardirqs_on+0x0/0x10
[    0.400000] LR is at kernel_thread_helper+0x4/0x14
########################################

Below is the specification at which board is running.

CPU freq - 1000MHz DDR & L2 cache freq - 667MHz

I am using DDR3 SDRAM

I am using linux kernel 2.6.34 marvel armada370 package from Windriver Linux. I tried booting the same kernel image in the marvel reference board and it is working fine.

I read in some article, this errors are related to RAM. But in u-boot, i am able to do successfull read and write operations.

I analysed the log and i found that the value 0x1406 specifies the Data fault status register. In this article, i decoded the value and the error is pointing to AXI slave read error.

Can you help why i am getting this error.

Thanks in advance.

Thanks & Regards Shamshad

  • [Linux ARM booting](https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/tree/Documentation/arm/Booting); read for concepts. – artless noise May 27 '14 at 15:24
  • 1
    Do you use the same u-boot on both boards? Marvell (with two Ls) tends to have a custom kernel/u-boot which at least in the past was not always compatible to how mainline did things. – Nico Erfurth May 27 '14 at 21:26
  • No. u-boot for reference board is given by marvel. For customized board, i did customization on top of the reference board u-boot as per the requirement. – user3157548 May 28 '14 at 03:46
  • This is probably a software bug, impossible to analyze without sitting in front of a debugger. – Gilles 'SO- stop being evil' Jul 23 '14 at 09:20
  • possible duplicate of [Enabling external aborts on an ARM CPU](http://stackoverflow.com/questions/23962450/enabling-external-aborts-on-an-arm-cpu). A slave on the bus may signal an abort at any time. The *external abort* can also be masked and typically Linux will leave it masked until the first user process runs. – artless noise Jul 25 '14 at 19:09
  • Kernel is booting now properly. The issue is that SERDES configuration is not proper in u-boot. When i modified the SERDES configuration properly in u-boot, kernel is now booting properly. – user3157548 Aug 13 '14 at 08:44

0 Answers0