From owner-freebsd-arm@freebsd.org Thu Jan 3 13:07:14 2019 Return-Path: Delivered-To: freebsd-arm@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 8CF70142A19A for ; Thu, 3 Jan 2019 13:07:13 +0000 (UTC) (envelope-from audioone.official@gmail.com) Received: from mail-it1-x134.google.com (mail-it1-x134.google.com [IPv6:2607:f8b0:4864:20::134]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client CN "smtp.gmail.com", Issuer "Google Internet Authority G3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 8620274450 for ; Thu, 3 Jan 2019 13:07:12 +0000 (UTC) (envelope-from audioone.official@gmail.com) Received: by mail-it1-x134.google.com with SMTP id w18so45150955ite.1 for ; Thu, 03 Jan 2019 05:07:12 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:references:in-reply-to:from:date:message-id:subject:to; bh=OoUrY4EjZkRsD0LOjY9NsI9i/Y8GHRX1Tjblbt4t5uw=; b=SNis+Ag5BXJ3jGC7RpjHfh/1VuwTjVX7DUJLl3tBdFl5su3OXiG1Knc6cBMWDnvrqI i2iosLK/uiaPBD0hGZp15cQB+XxFQAaQWyxo2CGfXX1KG2U/4iwuVk3l+hxBREXOOerv IU25xSGqZR/12Ae3XRQLx5fulTOwx4EhlFrS22LTCzRIjqRsN4NqNOBuhCf9PlOjeB8Y vKTzWT9aigC6xT4i3bxaMc6Ee/3Ezyonzzj5Orp6Y/Prv5CgDkxNoEIdlxAZUj6dqrlJ q8gpjjdqOlM3aX4Z14zpv84c3QHvz/Bu+oBY2lgsCzJSI6WjvW2+xDtd4Ghlt23Pzzmg 0G5w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to; bh=OoUrY4EjZkRsD0LOjY9NsI9i/Y8GHRX1Tjblbt4t5uw=; b=H/d4JJk4s/25/qY/uOdKbs9RPnF7+vpUzYUo/s5fisSyABuOZUJKx1W1K1UVO513Z2 1PhZCPBCxPlkiGnncORWb/6deh7vuu43jCymJ5sk1IaGb/0v+Tll13tU9mn+LYX+zRN9 UI6WubOSbKf/ADue/DSQRj8RODfncLTJt3CXfoNFW1oIrG89l0zWbUJSnSGug8eVS9Ve UIEzS9KvBj6Ua7ikN4tk+2ZQThnWa7Jlgyl00V9297/IiC00TGLlQg4LuSspauhrQy1+ HEItv3oNrZ3ks58X5WQBJ+nxFSoKXII34ZLVLg4jRo9I13rHkA52u2ZIxTd1t+L/zxAV oJnw== X-Gm-Message-State: AA+aEWYIM6+AJ+UXZZTGhsVGO8uVtv5hA5e/i9K5B8L+7WAx6DOvzc0v 5OWaoI2Fni6I17tJ/ic1PX1SMMPXOvjvLvbQk5McvZI6 X-Google-Smtp-Source: AFSGD/Vxp/9VdLWuwdz+qJG4PX101etFTK84ba4VFljQrl6wa+mgwWFPXVTNsC2WbuaeZNb9JchdcZBykNNLNTm+Bco= X-Received: by 2002:a02:9d0:: with SMTP id 77mr31053603jam.14.1546520831349; Thu, 03 Jan 2019 05:07:11 -0800 (PST) MIME-Version: 1.0 References: In-Reply-To: From: AudioONE Date: Thu, 3 Jan 2019 21:07:48 +0800 Message-ID: Subject: Re: i.MX6 DualLite stuck at early boot To: freebsd-arm@freebsd.org X-Rspamd-Queue-Id: 8620274450 X-Spamd-Bar: ------ Authentication-Results: mx1.freebsd.org; dkim=pass header.d=gmail.com header.s=20161025 header.b=SNis+Ag5; dmarc=pass (policy=none) header.from=gmail.com; spf=pass (mx1.freebsd.org: domain of audiooneofficial@gmail.com designates 2607:f8b0:4864:20::134 as permitted sender) smtp.mailfrom=audiooneofficial@gmail.com X-Spamd-Result: default: False [-6.44 / 15.00]; R_SPF_ALLOW(-0.20)[+ip6:2607:f8b0:4000::/36]; FREEMAIL_FROM(0.00)[gmail.com]; TO_DN_NONE(0.00)[]; DKIM_TRACE(0.00)[gmail.com:+]; MX_GOOD(-0.01)[cached: alt3.gmail-smtp-in.l.google.com]; DMARC_POLICY_ALLOW(-0.50)[gmail.com,none]; NEURAL_HAM_SHORT(-0.93)[-0.935,0]; FROM_EQ_ENVFROM(0.00)[]; RCVD_TLS_LAST(0.00)[]; MIME_TRACE(0.00)[0:+,1:+]; FREEMAIL_ENVFROM(0.00)[gmail.com]; ASN(0.00)[asn:15169, ipnet:2607:f8b0::/32, country:US]; TAGGED_FROM(0.00)[]; DWL_DNSWL_NONE(0.00)[gmail.com.dwl.dnswl.org : 127.0.5.0]; ARC_NA(0.00)[]; NEURAL_HAM_MEDIUM(-1.00)[-1.000,0]; R_DKIM_ALLOW(-0.20)[gmail.com:s=20161025]; FROM_HAS_DN(0.00)[]; TO_MATCH_ENVRCPT_ALL(0.00)[]; NEURAL_HAM_LONG(-1.00)[-1.000,0]; MIME_GOOD(-0.10)[multipart/alternative,text/plain]; PREVIOUSLY_DELIVERED(0.00)[freebsd-arm@freebsd.org]; RCPT_COUNT_ONE(0.00)[1]; IP_SCORE(-2.50)[ip: (-8.65), ipnet: 2607:f8b0::/32(-2.13), asn: 15169(-1.64), country: US(-0.08)]; RCVD_IN_DNSWL_NONE(0.00)[4.3.1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.2.0.0.4.6.8.4.0.b.8.f.7.0.6.2.list.dnswl.org : 127.0.5.0]; RCVD_COUNT_TWO(0.00)[2] Content-Type: text/plain; charset="UTF-8" X-Content-Filtered-By: Mailman/MimeDel 2.1.29 X-BeenThere: freebsd-arm@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: "Porting FreeBSD to ARM processors." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 03 Jan 2019 13:07:14 -0000 no luck to set sp_enabled = 0, any ideas? https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=208381 > okay....... after days and days mind storm(mind fuck), finally, I can > enter DDB, here is what I did in [reinit_mmu], maybe can help someone. > > > ============================== > > ASENTRY_NP(reinit_mmu) > push {r4-r11, lr} > mov r4, r0 > mov r5, r1 > mov r6, r2 > > + /* Only for Cortex-A9 Errdata Fix */ > + mrc p15, 0, r0, c15, c0, 1 @ read diagnostic register > + orr r0, r0, #1 << 4 @ set bit #4 > + orr r0, r0, #1 << 6 @ set bit #6 > + orr r0, r0, #1 << 11 @ set bit #11 > + orr r0, r0, #1 << 21 @ set bit #21 > + mcr p15, 0, r0, c15, c0, 1 @ write diagnostic register > + DSB > + ISB > > . > . > . > . > #else > bl dcache_inv_pou_all > #endif > mcr CP15_ICIALLU > + mcr CP15_TLBIALL /* Flush TLB */ > + mcr CP15_BPIALL /* Flush Branch predictor */ > DSB > ISB > > > /* Set auxiliary register */ > mrc CP15_ACTLR(r7) > . > . > . > > END(reinit_mmu) > ============================== > > my new problem is OS panic at same address "FAR=0000ec10"(after reset the > eval-board many times), what does it mean? something wrong with FDT? I use > wandboard-dual dts file(1 GB memory) > > > U-Boot 2016.05 (Dec 31 2018 - 22:57:28 +0800) > > CPU: Freescale i.MX6DL rev1.2 at 792 MHz > Reset cause: POR > Board: MX6DL-Armadillo2 > DRAM: 1 GiB > WARNING: Caches not enabled > MMC: FSL_SDHC: 0 > *** Warning - bad CRC, using default environment > > In: serial > Out: serial > Err: serial > Net: FEC > Error: FEC address not set. > > Hit any key to stop autoboot: 0 > reading tarker > ** Unable to read file tarker ** > reading tmpker > ** Unable to read file tmpker ** > Booting BSD loader > reading ubldr.bin > 185536 bytes read in 40 ms (4.4 MiB/s) > ## Starting application at 0x12000000 ... > Consoles: U-Boot console > Compatible U-Boot API signature found @0x4fd703e0 > > FreeBSD/armv6 U-Boot loader, Revision 1.2 > (root@freebsd-x250, Sat Dec 15 17:17:42 HKT 2018) > > DRAM: 1024MB > Number of U-Boot devices: 2 > U-Boot env: loaderdev not set, will probe all devices. > Found U-Boot device: disk > Probing all disk devices... > Checking unit=0 slice= partition=... good. > Booting from disk0s2: > / > /boot/kernel/kernel data=0x580b24+0xb74dc - > Hit [Enter] to boot immediately, or any other key for command prompt. > Booting [/boot/kernel/kernel]... > Kernel entry at 0x0x12200100... > Kernel args: (null) > initarm: console initialized > arg1 kmdp = 0xc2639000 > boothowto = 0x00000000 > dtbp = 0xc254af08 > lastaddr1: 0x1283a000 > loader passed (static) kenv: > loader_envp = 0xc2638000 > c2638000 LINES=24 > c2638009 console=uboot > c2638017 currdev=disk0s2: > c2638028 kerflag= > c2638031 kernelname=/boot/kernel/kernel > c2638050 loaddev=disk0s2: > c2638061 prompt=loader> > c2638070 twiddle_divisor=1 > imx_wdog_init_last_reset > ARM Debug Architecture v7 > 4 watchpoints and 6 breakpoints supported > KDB: debugger backends: ddb > KDB: current backend: ddb > Copyright (c) 1992-2016 The FreeBSD Project. > Copyright (c) 1979, 1980, 1983, 1986, 1988, 1989, 1991, 1992, 1993, 1994 > The Regents of the University of California. All rights reserved. > FreeBSD is a registered trademark of The FreeBSD Foundation. > FreeBSD 11.0-RELEASE-p1 #180 r309528M: Thu Jan 3 10:42:45 HKT 2019 > root@4160059805-freebsd-xeon:/mnt/dev/bsdbuild/arm.armv6/mnt/dev/11/sys/IMX6 > arm > FreeBSD clang version 3.8.0 (tags/RELEASE_380/final 262564) (based on LLVM > 3.8.0) > WARNING: WITNESS option enabled, expect reduced performance. > WARNING: DIAGNOSTIC option enabled, expect reduced performance. > subsystem 1000000 > 0xc23e0b88(0)... Fatal kernel mode data abort: 'Translation Fault (L1)' > on read > trapframe: 0xc2713d18 > FSR=00000005, FAR=0000ec10, spsr=600000d3 > r0 =12998000, r1 =c2ffc010, r2 =00000001, r3 =c261c07c > r4 =00000006, r5 =c261c074, r6 =00000000, r7 =2a600000 > r8 =c2ffc059, r9 =00000000, r10=c260ba28, r11=c2713dd8 > r12=c2ffc014, ssp=c2713da8, slr=0000ec10, pc =c23fa450 > > [ thread pid 0 tid 0 ] > Stopped at 0xc23fa450 > db> bt > Tracing pid 0 tid 0 td 0xc2617190 > KDB: reentering > KDB: stack backtrace: > KDB: reentering > KDB: stack backtrace: > blahblahblah..... > blahblahblah..... > blahblahblah..... > blahblahblah..... > KDB: reentering > KDB: stack backtrace: > KDB: reentering > KDB: stack backtrace: > panic: pmap_fault: pm_pt1 abort > cpuid = 0 > Uptime: 1s > > > > > hi guys > > > > > I've got a small brand eval-board which built with MCIMX6U6AVM08AC and > running FreeBSD 11.0.1(I have tried HEAD version, 12.0-BETA3, it didn't > work too), ubldr stage is fine but it stucked at "reinit_mmu" > function(FreeBSD might be have assembly printf for debug environment, > because aseeembly code just like a blackbox when you without JTAG debugger > in hand ) > > > > ====================================== > > Booting from disk0s2: > > / > > /boot/kernel/kernel data=0x57b564+0x58a9c > syms=[0x4+0x6e9d0+0x4+0x77ada] > > Hit [Enter] to boot immediately, or any other key for command prompt. > > Booting [/boot/kernel/kernel]... > > Kernel entry at 0x0x12200100... > > Kernel args: (null) > > EARL_DEBUG: pmap_kern_ttb 0x1290004a, actlr_mask 0xc1, actlr_set 0x41 > > (nothing) > > ====================================== > > > > > > > > when I trace the code to "reinit_mmu" function, commented code like > this, kernel panic and reported "Asynchronous External Abort". Am I the > only one who meet this WEIRD case? I got AM3352/AM3354/Zynq7 platforms, > they works fine with kernel 11.0.1. Is it something different between i.MX6 > Dual(Wandboard) and i.MX6 DualLite? > > > > /* Enable caches. */ > > mrc CP15_SCTLR(r7) > > // it will be stucked if don't commented this code > > /* orr r7, #CPU_CONTROL_DC_ENABLE //DEBUG > > orr r7, #CPU_CONTROL_IC_ENABLE //DEBUG > > orr r7, #CPU_CONTROL_BPRD_ENABLE //DEBUG */ > > mcr CP15_SCTLR(r7) > > DSB > > > > mcr CP15_TTBR0(r4) /* Set new TTB */ > > DSB > > ISB > > > > // it will be stucked if don't commented this code > > /* mcr CP15_TLBIALL /// Flush TLB //DEBUG */ > > mcr CP15_BPIALL /* Flush Branch predictor */ > > DSB > > ISB > > > > > > > > > > U-Boot 2016.05 (Dec 16 2018 - 13:09:25 +0800) > > > > CPU: Freescale i.MX6DL rev1.2 at 792 MHz > > Reset cause: POR > > Board: MX6DL-Armadillo2 > > DRAM: 1 GiB > > WARNING: Caches not enabled > > MMC: FSL_SDHC: 0 > > *** Warning - bad CRC, using default environment > > > > In: serial > > Out: serial > > Err: serial > > Net: FEC > > Error: FEC address not set. > > > > Hit any key to stop autoboot: 0 > > reading ubldr.bin > > 185536 bytes read in 40 ms (4.4 MiB/s) > > ## Starting application at 0x12000000 ... > > Consoles: U-Boot console > > Compatible U-Boot API signature found @0x4fd703e0 > > > > FreeBSD/armv6 U-Boot loader, Revision 1.2 > > (root@freebsd-x250, Sat Dec 15 17:17:42 HKT 2018) > > > > DRAM: 1024MB > > Number of U-Boot devices: 2 > > U-Boot env: loaderdev not set, will probe all devices. > > Found U-Boot device: disk > > Probing all disk devices... > > Checking unit=0 slice= partition=... good. > > Booting from disk0s2: > > / > > /boot/kernel/kernel data=0x57b564+0x58a9c > syms=[0x4+0x6e9d0+0x4+0x77ada] > > Hit [Enter] to boot immediately, or any other key for command prompt. > > Booting [/boot/kernel/kernel]... > > Kernel entry at 0x0x12200100... > > Kernel args: (null) > > EARL_DEBUG: pmap_kern_ttb 0x1290004a, actlr_mask 0xc1, actlr_set 0x41 > > EARL_DEBUG: cpu_setup pass > > EARL_DEBUG: init_param1 pass > > initarm: console initialized > > arg1 kmdp = 0xc26bc000 > > boothowto = 0x00000000 > > dtbp = 0xc2547eb8 > > lastaddr1: 0x128bd000 > > loader passed (static) kenv: > > loader_envp = 0xc26bb000 > > c26bb000 LINES=24 > > c26bb009 console=uboot > > c26bb017 currdev=disk0s2: > > c26bb028 kerflag= > > c26bb031 kernelname=/boot/kernel/kernel > > c26bb050 loaddev=disk0s2: > > c26bb061 prompt=loader> > > c26bb070 twiddle_divisor=1 > > EARL_DEBUG: platform_late_init pass > > Fatal kernel mode data abort: 'Asynchronous External Abort' on write > > trapframe: 0xc257c688 > > FSR=00001c06, FAR=Invalid, spsr=600000d3 > > r0 =00000100, r1 =600001d3, r2 =600000d3, r3 =30c52079 > > r4 =00000000, r5 =c257c7e4, r6 =c25b3280, r7 =c25b3280 > > r8 =c2578058, r9 =00000000, r10=c25ce154, r11=c257c7d8 > > r12=c2577c24, ssp=c257c718, slr=c244b3c0, pc =c244b3d4 > > > > panic: Fatal abort > > cpuid = 0 > > Uptime: 1s >