From owner-freebsd-arm@freebsd.org Thu Jan 3 11:26:34 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 329F41425617; Thu, 3 Jan 2019 11:26:34 +0000 (UTC) (envelope-from audioone.official@gmail.com) Received: from mail-it1-x12e.google.com (mail-it1-x12e.google.com [IPv6:2607:f8b0:4864:20::12e]) (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 27CB6708FD; Thu, 3 Jan 2019 11:26:33 +0000 (UTC) (envelope-from audioone.official@gmail.com) Received: by mail-it1-x12e.google.com with SMTP id c9so42283780itj.1; Thu, 03 Jan 2019 03:26:33 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:from:date:message-id:subject:to; bh=0O5Rnfmy9jSGRcXPXOjA0I7PpHDTinonI93RvV9xRa4=; b=TDYNlpvsaV3ngwgjw1+LQfMGRo8r15MTsFUsnZYMXMWTzPw1Umy+bAw9JUEkmDVtHS gYBosUhgxpeG0XQmfnMYZPAq40yhENnFj9LU0i6lZYBVYIIGuWMNiEAtca2a22InGwly 85SmEwSaZa9pLuZTwbpUbtBiIPY9tNmiHPG581ielAny0dYG51J9+HS43nvODEnQ2Fjh HgQtu211WHh94Er0y/KxGywKavMivtyYqdpYXR1oRXEzgdbNqG3RfsMfrP+3I4WdFHED i2MOGi/L7j3pncwitpiugtjbIkPqgtNq+PEqgRUm5D0iXnBKyJ3HSoRglpaMTiJU9P/K Vafg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:from:date:message-id:subject:to; bh=0O5Rnfmy9jSGRcXPXOjA0I7PpHDTinonI93RvV9xRa4=; b=KSmLlmIQIhYAhNp42rTw4TyWQ7ECPkUTscwXgJOLr/Oqv9k5EBU/gB7UCtECZpkbOZ b70P/uqBJhT5qUpnMIlx0CndXyLCQRQ+Xs733HDJynuA8jj+4opAvn6aUZCW+uF6M0hp +DwyfOXENLYUdMFx/R8YG5q6vshdyNxXJ3aXC6aNbg5FiLnIdwGWE66+IXJos8Bcix5M QtrjD++nAP4ePoUbJzbZRVLinXdj8q5TVZvFiKj/a5M3OaFW5D6an/1utaai125OCAKr OnM6JwqqUUghKZo/12pUDEH3kYaJ+YVddtzkwmaLnlzDyBVBTxAPJ1La0ZSoIS4dD/h3 d++w== X-Gm-Message-State: AA+aEWbh3oK/TYNGcJNAxiZYsA3rtb1s5Pty8kd7cKqUjNzci2z7+U4W riOtq7XrqDLPpNsb88sOEV+Amtk0mmLkGOsLvDeaDsuv X-Google-Smtp-Source: AFSGD/VVo9y+mFwQUxQAQkNAV8ddYecGSywZ3rLLLFh+YzZzAXq6QALQXx1SKS8IQGjNHz3DwoDYUNAcZV9/1sAOHtU= X-Received: by 2002:a02:1bc5:: with SMTP id 66mr33167547jas.105.1546514792002; Thu, 03 Jan 2019 03:26:32 -0800 (PST) MIME-Version: 1.0 From: AudioONE Date: Thu, 3 Jan 2019 19:27:04 +0800 Message-ID: Subject: i.MX6 DualLite stuck at early boot To: freebsd-ports@freebsd.org, freebsd-arm@freebsd.org X-Rspamd-Queue-Id: 27CB6708FD X-Spamd-Bar: ------ Authentication-Results: mx1.freebsd.org; dkim=pass header.d=gmail.com header.s=20161025 header.b=TDYNlpvs; dmarc=pass (policy=none) header.from=gmail.com; spf=pass (mx1.freebsd.org: domain of audiooneofficial@gmail.com designates 2607:f8b0:4864:20::12e as permitted sender) smtp.mailfrom=audiooneofficial@gmail.com X-Spamd-Result: default: False [-6.47 / 15.00]; ARC_NA(0.00)[]; NEURAL_HAM_MEDIUM(-1.00)[-0.999,0]; R_DKIM_ALLOW(-0.20)[gmail.com:s=20161025]; FROM_HAS_DN(0.00)[]; DWL_DNSWL_NONE(0.00)[gmail.com.dwl.dnswl.org : 127.0.5.0]; R_SPF_ALLOW(-0.20)[+ip6:2607:f8b0:4000::/36]; FREEMAIL_FROM(0.00)[gmail.com]; MIME_GOOD(-0.10)[multipart/alternative,text/plain]; TO_DN_NONE(0.00)[]; NEURAL_HAM_LONG(-1.00)[-1.000,0]; TO_MATCH_ENVRCPT_ALL(0.00)[]; RCVD_TLS_LAST(0.00)[]; DKIM_TRACE(0.00)[gmail.com:+]; RCPT_COUNT_TWO(0.00)[2]; DMARC_POLICY_ALLOW(-0.50)[gmail.com,none]; MX_GOOD(-0.01)[cached: alt3.gmail-smtp-in.l.google.com]; RCVD_IN_DNSWL_NONE(0.00)[e.2.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]; NEURAL_HAM_SHORT(-0.94)[-0.942,0]; FROM_EQ_ENVFROM(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)[]; IP_SCORE(-2.52)[ip: (-8.77), ipnet: 2607:f8b0::/32(-2.13), asn: 15169(-1.64), country: US(-0.08)]; 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 11:26:35 -0000 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