We have an IMX6Q platform on which we encounter a very strange issue.
While rebooting the system, platform hangs @ flush_pmd_entry(pmd). This is probably because one of the CPUs ends up crashing and won't restart. Don't have a debugger to check the actual state of the machine.
log:
root@android:/ # reboot
[ 15.914484] SysRq : Emergency Remount R/O
[ 15.930771] EXT4-fs (mmcblk0p6): re-mounted. Opts: (null)
[ 15.949119] EXT4-fs (mmcblk0p5): re-mounted. Opts: (null)
[ 15.963710] EXT4-fs (mmcblk0p7): re-mounted. Opts: (null)
[ 15.969570] Emergency Remount complete
[ 16.022363] imx2-wdt imx2-wdt.0: Device shutdown: Expect reboot!
[ 16.028632] Restarting system.
<HANG>
Mention: using fsl kernel 3.0.35
The exact asm line where system hangs is (tlbflush.h):
<>if (tlb_flag(TLB_DCLEAN))
<><-->asm("mcr<-->p15, 0, %0, c7, c10, 1<>@ flush_pmd"
<><--><-->: : "r" (pmd) : "cc");
已解决! 转到解答。
We found the root of the issue. It seems like activating one of these CONFIGs generated this issue:
CONFIG_ARM_ERRATA_430973=y | |
CONFIG_ARM_ERRATA_458693=y | |
CONFIG_ARM_ERRATA_460075=y | |
CONFIG_ARM_ERRATA_742230=y | |
CONFIG_ARM_ERRATA_742231=y | |
CONFIG_PL310_ERRATA_588369=y | |
CONFIG_ARM_ERRATA_720789=y | |
CONFIG_PL310_ERRATA_727915=y | |
CONFIG_ARM_ERRATA_743622=y | |
CONFIG_ARM_ERRATA_751472=y | |
CONFIG_ARM_ERRATA_794072=y | |
CONFIG_ARM_ERRATA_761320=y | |
CONFIG_ARM_ERRATA_753970=y | |
CONFIG_ARM_ERRATA_754322=y | |
CONFIG_ARM_ERRATA_754327=y |
Deactivating these configs fixed this.
We found the root of the issue. It seems like activating one of these CONFIGs generated this issue:
CONFIG_ARM_ERRATA_430973=y | |
CONFIG_ARM_ERRATA_458693=y | |
CONFIG_ARM_ERRATA_460075=y | |
CONFIG_ARM_ERRATA_742230=y | |
CONFIG_ARM_ERRATA_742231=y | |
CONFIG_PL310_ERRATA_588369=y | |
CONFIG_ARM_ERRATA_720789=y | |
CONFIG_PL310_ERRATA_727915=y | |
CONFIG_ARM_ERRATA_743622=y | |
CONFIG_ARM_ERRATA_751472=y | |
CONFIG_ARM_ERRATA_794072=y | |
CONFIG_ARM_ERRATA_761320=y | |
CONFIG_ARM_ERRATA_753970=y | |
CONFIG_ARM_ERRATA_754322=y | |
CONFIG_ARM_ERRATA_754327=y |
Deactivating these configs fixed this.
Hi agherzan
what reference board you followed designing your board ?
Is it Freescale Sabre board ? On Sabre board this should not
happen because reset (Wdog output) connected to MMPF0100
PWRON (SPF-27392 rev.C3.pdf schematic), which cold reset whole
system. So all CPUs should restart healthly.
If it is not so, then this problem seems reported below
Discussing the Linux ARM kernel
Since this is common problem for arm kernels please post this issue
on that forum.
Best regards
chip
-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------