From mboxrd@z Thu Jan 1 00:00:00 1970 From: Aaro Koskinen Subject: omap2plus_defconfig broken on ARMv6 Date: Sat, 25 May 2019 01:07:31 +0300 Message-ID: <20190524220731.GB4597@t60.musicnaut.iki.fi> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Return-path: Content-Disposition: inline List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=m.gmane.org@lists.infradead.org To: linux-omap@vger.kernel.org, linux-arm-kernel@lists.infradead.org, Russell King , Tony Lindgren List-Id: linux-omap@vger.kernel.org Hi, Noticed today that booting omap2plus_defconfig on N8x0 crashes early. Disabling CONFIG_SMP makes it work. Uncompressing Linux... done, booting the kernel. [ 0.000000] Booting Linux on physical CPU 0x0 [ 0.000000] Linux version 5.2.0-rc1-n8x0-los_925980+-00233-g0a72ef899014 (aaro@amd-fx-6350) (gcc version 8.3.0 (GCC)) #2 SMP Fri May 24 23:55:08 EEST 2019 [ 0.000000] CPU: ARMv6-compatible processor [4107b362] revision 2 (ARMv6TEJ), cr=00c5387d [ 0.000000] CPU: VIPT aliasing data cache, VIPT aliasing instruction cache [ 0.000000] OF: fdt: Machine model: Nokia N810 [ 0.000000] printk: bootconsole [earlycon0] enabled [ 0.000000] Memory policy: Data cache writeback [ 0.000000] CPU: All CPU(s) started in SVC mode. [ 0.000000] OMAP2420 [ 0.000000] percpu: Embedded 16 pages/cpu s33996 r8192 d23348 u65536 [ 0.000000] Built 1 zonelists, mobility grouping on. Total pages: 32512 [ 0.000000] Kernel command line: console=ttyO2,115200 earlyprintk [ 0.000000] Dentry cache hash table entries: 16384 (order: 4, 65536 bytes) [ 0.000000] Inode-cache hash table entries: 8192 (order: 3, 32768 bytes) [ 0.000000] Memory: 119992K/131072K available (4717K kernel code, 153K rwdata, 1488K rodata, 2080K init, 1128K bss, 11080K reserved, 0K cma-reserved, 0K highmem) [ 0.000000] SLUB: HWalign=64, Order=0-3, MinObjects=0, CPUs=1, Nodes=1 [ 0.000000] rcu: Hierarchical RCU implementation. [ 0.000000] rcu: RCU restricting CPUs from NR_CPUS=4 to nr_cpu_ids=1. [ 0.000000] rcu: RCU calculated value of scheduler-enlistment delay is 10 jiffies. [ 0.000000] rcu: Adjusting geometry for rcu_fanout_leaf=16, nr_cpu_ids=1 [ 0.000000] NR_IRQS: 16, nr_irqs: 16, preallocated irqs: 16 [ 0.000000] IRQ: Found an INTC at 0x(ptrval) (revision 2.0) with 96 interrupts [ 0.000000] random: get_random_bytes called from start_kernel+0x250/0x424 with crng_init=0 [ 0.000000] Clocking rate (Crystal/DPLL/MPU): 19.2/658/329 MHz [ 0.000000] OMAP clockevent source: timer1 at 32768 Hz [ 0.000000] clocksource: 32k_counter: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 58327039986419 ns [ 0.000030] sched_clock: 32 bits at 32kHz, resolution 30517ns, wraps every 65535999984741ns [ 0.008605] OMAP clocksource: 32k_counter at 32768 Hz [ 0.014007] hw-breakpoint: CPUID feature registers not supported. Assuming v6 debug is present. [ 0.023468] Console: colour dummy device 80x30 [ 0.028137] Calibrating delay loop... 326.86 BogoMIPS (lpj=1634304) [ 0.088439] pid_max: default: 32768 minimum: 301 [ 0.093658] Mount-cache hash table entries: 1024 (order: 0, 4096 bytes) [ 0.100494] Mountpoint-cache hash table entries: 1024 (order: 0, 4096 bytes) [ 0.108276] Internal error: Oops - undefined instruction: 0 [#1] SMP ARM [ 0.115203] Modules linked in: [ 0.118377] CPU: 0 PID: 0 Comm: swapper/0 Not tainted 5.2.0-rc1-n8x0-los_925980+-00233-g0a72ef899014 #2 [ 0.128021] Hardware name: Generic OMAP2420 (Flattened Device Tree) [ 0.134521] PC is at lockref_get+0x2c/0xd0 [ 0.138732] LR is at 0x0 [ 0.141357] pc : [] lr : [<00000000>] psr: 60000053 [ 0.147796] sp : c0843ea0 ip : 00000001 fp : c0666a38 [ 0.153198] r10: 00000001 r9 : c0868700 r8 : c0669624 [ 0.158569] r7 : 00000000 r6 : c00de694 r5 : 00000002 r4 : 00010001 [ 0.165283] r3 : 00000001 r2 : 00010001 r1 : 00010001 r0 : c7402050 [ 0.172027] Flags: nZCv IRQs on FIQs off Mode SVC_32 ISA ARM Segment none [ 0.179473] Control: 00c5387d Table: 80004000 DAC: 00000051 [ 0.185394] Process swapper/0 (pid: 0, stack limit = 0x(ptrval)) [ 0.191558] Stack: (0xc0843ea0 to 0xc0844000) [ 0.196075] 3ea0: c7402000 00000000 c00de694 00000000 c0669624 c0122f4c 00000000 c0843ee8 [ 0.204528] 3ec0: c04b9c20 c7825600 c00de890 00000000 00000004 c0154c00 c7825600 00000000 [ 0.212951] 3ee0: 00000000 c0121b88 c05a91bc 00000002 c7825600 00000000 00000000 c0669624 [ 0.221405] 3f00: c0868700 c0141e2c c7825600 c0141eb4 00000000 c0970728 c0842000 c0141f00 [ 0.229858] 3f20: 00000000 c064b73c c00de8a0 c014031c c0847388 00000000 00000000 c063b070 [ 0.238281] 3f40: c0847388 c064f8f8 00000004 c0847388 c0847390 00000000 00000000 00000001 [ 0.246734] 3f60: c0666a38 c024af58 00000000 9ac7f44c 00000000 c0847360 00000021 c0847080 [ 0.255187] 3f80: c0868700 c064f590 0000002c 00000024 00000000 00000000 c086874c c086874c [ 0.263610] 3fa0: ffffffff c063ac94 ffffffff ffffffff 00000000 c063a584 00000000 c7ffcd80 [ 0.272064] 3fc0: 00000000 c0666a38 9ac2f64c 00000000 00000000 c063a330 00000051 00c0387d [ 0.280487] 3fe0: ffffffff 82009000 4107b362 00c5387d 00000000 00000000 00000000 00000000 [ 0.288970] [] (lockref_get) from [] (mount_nodev+0x6c/0x94) [ 0.296600] [] (mount_nodev) from [] (legacy_get_tree+0x28/0x54) [ 0.304595] [] (legacy_get_tree) from [] (vfs_get_tree+0x24/0xf8) [ 0.312713] [] (vfs_get_tree) from [] (fc_mount+0xc/0x30) [ 0.320068] [] (fc_mount) from [] (vfs_kern_mount.part.3+0x64/0x80) [ 0.328338] [] (vfs_kern_mount.part.3) from [] (kern_mount+0x1c/0x34) [ 0.336791] [] (kern_mount) from [] (shmem_init+0x64/0xb4) [ 0.344268] [] (shmem_init) from [] (init_rootfs+0x44/0x88) [ 0.351837] [] (init_rootfs) from [] (mnt_init+0x104/0x268) [ 0.359374] [] (mnt_init) from [] (vfs_caches_init+0x6c/0x88) [ 0.367095] [] (vfs_caches_init) from [] (start_kernel+0x368/0x424) [ 0.375366] [] (start_kernel) from [<00000000>] (0x0) [ 0.381469] Code: e3a0e000 e1a04001 e28c5001 f5d0f000 (e1b06f9f) [ 0.387786] ---[ end trace 57f1c61709eb3312 ]--- [ 0.392547] Kernel panic - not syncing: Attempted to kill the idle task! [ 0.399475] ---[ end Kernel panic - not syncing: Attempted to kill the idle task! ]--- It seems lockref_get+0x2c is __cmpxchg64: c0236ff0 : [...] __asm__ __volatile__( c023701c: e1b06f9f ldrexd r6, [r0] c0237020: e1360002 teq r6, r2 c0237024: 01370003 teqeq r7, r3 c0237028: 1a000002 bne c0237038 c023702c: e1a01f94 strexd r1, r4, [r0] c0237030: e3310000 teq r1, #0 c0237034: 1afffff8 bne c023701c and ldrexd is not supported on ARMv6. A. From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-2.5 required=3.0 tests=DKIM_SIGNED,DKIM_VALID, HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS, T_DKIMWL_WL_HIGH,USER_AGENT_MUTT autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 9CD17C282E1 for ; Fri, 24 May 2019 22:07:43 +0000 (UTC) Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 6A3FC20675 for ; Fri, 24 May 2019 22:07:43 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (2048-bit key) header.d=lists.infradead.org header.i=@lists.infradead.org header.b="tOh6KEP7" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 6A3FC20675 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=iki.fi Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=linux-arm-kernel-bounces+infradead-linux-arm-kernel=archiver.kernel.org@lists.infradead.org DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20170209; h=Sender: Content-Transfer-Encoding:Content-Type:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:MIME-Version:Message-ID:Subject:To:From :Date:Reply-To:Cc:Content-ID:Content-Description:Resent-Date:Resent-From: Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:In-Reply-To:References: List-Owner; bh=7u2RkAcFAhccPYaMm8BxSbpQFpeuAC6I3PWI5u7zS5g=; b=tOh6KEP7jcDjTi NJ8vnOnnKti/vTVC2jdbE3RHNIzaRKrNIn15ZIV6ScIXrAa/vsb3EL3t64s21vZ8qCjgxvNfWTl3N jB5NjzF+MV+ojAHZGcwTAJsPV6KIZVpiXZ56M4I0ueQkWpNRQMgZ+fx0XVsYrGgMHmekX44zYVoPx gabb9oaXkdNw7YXD9Hr7Auc9k6erCOUlGmB/V0KbhRV/gqV/DnifX51XG2mp8NGOQvQOSayzxUqRd hh/R8IO3l1rcnju3GGfjBKaTMqb7mC+W01nmB1OSyicRkHaZZvUoPwhdubKdU9HkohmnQPGmZ4VSB o5XYHF3t1Z3jJcs/NUjg==; Received: from localhost ([127.0.0.1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.90_1 #2 (Red Hat Linux)) id 1hUILl-0008GC-IM; Fri, 24 May 2019 22:07:41 +0000 Received: from emh02.mail.saunalahti.fi ([62.142.5.108]) by bombadil.infradead.org with esmtps (Exim 4.90_1 #2 (Red Hat Linux)) id 1hUILg-0008Fd-R0 for linux-arm-kernel@lists.infradead.org; Fri, 24 May 2019 22:07:39 +0000 Received: from t60.musicnaut.iki.fi (85-76-86-221-nat.elisa-mobile.fi [85.76.86.221]) by emh02.mail.saunalahti.fi (Postfix) with ESMTP id 92DDD20052; Sat, 25 May 2019 01:07:31 +0300 (EEST) Date: Sat, 25 May 2019 01:07:31 +0300 From: Aaro Koskinen To: linux-omap@vger.kernel.org, linux-arm-kernel@lists.infradead.org, Russell King , Tony Lindgren Subject: omap2plus_defconfig broken on ARMv6 Message-ID: <20190524220731.GB4597@t60.musicnaut.iki.fi> MIME-Version: 1.0 Content-Disposition: inline User-Agent: Mutt/1.5.24 (2015-08-30) X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20190524_150737_370706_C6705070 X-CRM114-Status: UNSURE ( 8.37 ) X-CRM114-Notice: Please train this message. X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+infradead-linux-arm-kernel=archiver.kernel.org@lists.infradead.org Hi, Noticed today that booting omap2plus_defconfig on N8x0 crashes early. Disabling CONFIG_SMP makes it work. Uncompressing Linux... done, booting the kernel. [ 0.000000] Booting Linux on physical CPU 0x0 [ 0.000000] Linux version 5.2.0-rc1-n8x0-los_925980+-00233-g0a72ef899014 (aaro@amd-fx-6350) (gcc version 8.3.0 (GCC)) #2 SMP Fri May 24 23:55:08 EEST 2019 [ 0.000000] CPU: ARMv6-compatible processor [4107b362] revision 2 (ARMv6TEJ), cr=00c5387d [ 0.000000] CPU: VIPT aliasing data cache, VIPT aliasing instruction cache [ 0.000000] OF: fdt: Machine model: Nokia N810 [ 0.000000] printk: bootconsole [earlycon0] enabled [ 0.000000] Memory policy: Data cache writeback [ 0.000000] CPU: All CPU(s) started in SVC mode. [ 0.000000] OMAP2420 [ 0.000000] percpu: Embedded 16 pages/cpu s33996 r8192 d23348 u65536 [ 0.000000] Built 1 zonelists, mobility grouping on. Total pages: 32512 [ 0.000000] Kernel command line: console=ttyO2,115200 earlyprintk [ 0.000000] Dentry cache hash table entries: 16384 (order: 4, 65536 bytes) [ 0.000000] Inode-cache hash table entries: 8192 (order: 3, 32768 bytes) [ 0.000000] Memory: 119992K/131072K available (4717K kernel code, 153K rwdata, 1488K rodata, 2080K init, 1128K bss, 11080K reserved, 0K cma-reserved, 0K highmem) [ 0.000000] SLUB: HWalign=64, Order=0-3, MinObjects=0, CPUs=1, Nodes=1 [ 0.000000] rcu: Hierarchical RCU implementation. [ 0.000000] rcu: RCU restricting CPUs from NR_CPUS=4 to nr_cpu_ids=1. [ 0.000000] rcu: RCU calculated value of scheduler-enlistment delay is 10 jiffies. [ 0.000000] rcu: Adjusting geometry for rcu_fanout_leaf=16, nr_cpu_ids=1 [ 0.000000] NR_IRQS: 16, nr_irqs: 16, preallocated irqs: 16 [ 0.000000] IRQ: Found an INTC at 0x(ptrval) (revision 2.0) with 96 interrupts [ 0.000000] random: get_random_bytes called from start_kernel+0x250/0x424 with crng_init=0 [ 0.000000] Clocking rate (Crystal/DPLL/MPU): 19.2/658/329 MHz [ 0.000000] OMAP clockevent source: timer1 at 32768 Hz [ 0.000000] clocksource: 32k_counter: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 58327039986419 ns [ 0.000030] sched_clock: 32 bits at 32kHz, resolution 30517ns, wraps every 65535999984741ns [ 0.008605] OMAP clocksource: 32k_counter at 32768 Hz [ 0.014007] hw-breakpoint: CPUID feature registers not supported. Assuming v6 debug is present. [ 0.023468] Console: colour dummy device 80x30 [ 0.028137] Calibrating delay loop... 326.86 BogoMIPS (lpj=1634304) [ 0.088439] pid_max: default: 32768 minimum: 301 [ 0.093658] Mount-cache hash table entries: 1024 (order: 0, 4096 bytes) [ 0.100494] Mountpoint-cache hash table entries: 1024 (order: 0, 4096 bytes) [ 0.108276] Internal error: Oops - undefined instruction: 0 [#1] SMP ARM [ 0.115203] Modules linked in: [ 0.118377] CPU: 0 PID: 0 Comm: swapper/0 Not tainted 5.2.0-rc1-n8x0-los_925980+-00233-g0a72ef899014 #2 [ 0.128021] Hardware name: Generic OMAP2420 (Flattened Device Tree) [ 0.134521] PC is at lockref_get+0x2c/0xd0 [ 0.138732] LR is at 0x0 [ 0.141357] pc : [] lr : [<00000000>] psr: 60000053 [ 0.147796] sp : c0843ea0 ip : 00000001 fp : c0666a38 [ 0.153198] r10: 00000001 r9 : c0868700 r8 : c0669624 [ 0.158569] r7 : 00000000 r6 : c00de694 r5 : 00000002 r4 : 00010001 [ 0.165283] r3 : 00000001 r2 : 00010001 r1 : 00010001 r0 : c7402050 [ 0.172027] Flags: nZCv IRQs on FIQs off Mode SVC_32 ISA ARM Segment none [ 0.179473] Control: 00c5387d Table: 80004000 DAC: 00000051 [ 0.185394] Process swapper/0 (pid: 0, stack limit = 0x(ptrval)) [ 0.191558] Stack: (0xc0843ea0 to 0xc0844000) [ 0.196075] 3ea0: c7402000 00000000 c00de694 00000000 c0669624 c0122f4c 00000000 c0843ee8 [ 0.204528] 3ec0: c04b9c20 c7825600 c00de890 00000000 00000004 c0154c00 c7825600 00000000 [ 0.212951] 3ee0: 00000000 c0121b88 c05a91bc 00000002 c7825600 00000000 00000000 c0669624 [ 0.221405] 3f00: c0868700 c0141e2c c7825600 c0141eb4 00000000 c0970728 c0842000 c0141f00 [ 0.229858] 3f20: 00000000 c064b73c c00de8a0 c014031c c0847388 00000000 00000000 c063b070 [ 0.238281] 3f40: c0847388 c064f8f8 00000004 c0847388 c0847390 00000000 00000000 00000001 [ 0.246734] 3f60: c0666a38 c024af58 00000000 9ac7f44c 00000000 c0847360 00000021 c0847080 [ 0.255187] 3f80: c0868700 c064f590 0000002c 00000024 00000000 00000000 c086874c c086874c [ 0.263610] 3fa0: ffffffff c063ac94 ffffffff ffffffff 00000000 c063a584 00000000 c7ffcd80 [ 0.272064] 3fc0: 00000000 c0666a38 9ac2f64c 00000000 00000000 c063a330 00000051 00c0387d [ 0.280487] 3fe0: ffffffff 82009000 4107b362 00c5387d 00000000 00000000 00000000 00000000 [ 0.288970] [] (lockref_get) from [] (mount_nodev+0x6c/0x94) [ 0.296600] [] (mount_nodev) from [] (legacy_get_tree+0x28/0x54) [ 0.304595] [] (legacy_get_tree) from [] (vfs_get_tree+0x24/0xf8) [ 0.312713] [] (vfs_get_tree) from [] (fc_mount+0xc/0x30) [ 0.320068] [] (fc_mount) from [] (vfs_kern_mount.part.3+0x64/0x80) [ 0.328338] [] (vfs_kern_mount.part.3) from [] (kern_mount+0x1c/0x34) [ 0.336791] [] (kern_mount) from [] (shmem_init+0x64/0xb4) [ 0.344268] [] (shmem_init) from [] (init_rootfs+0x44/0x88) [ 0.351837] [] (init_rootfs) from [] (mnt_init+0x104/0x268) [ 0.359374] [] (mnt_init) from [] (vfs_caches_init+0x6c/0x88) [ 0.367095] [] (vfs_caches_init) from [] (start_kernel+0x368/0x424) [ 0.375366] [] (start_kernel) from [<00000000>] (0x0) [ 0.381469] Code: e3a0e000 e1a04001 e28c5001 f5d0f000 (e1b06f9f) [ 0.387786] ---[ end trace 57f1c61709eb3312 ]--- [ 0.392547] Kernel panic - not syncing: Attempted to kill the idle task! [ 0.399475] ---[ end Kernel panic - not syncing: Attempted to kill the idle task! ]--- It seems lockref_get+0x2c is __cmpxchg64: c0236ff0 : [...] __asm__ __volatile__( c023701c: e1b06f9f ldrexd r6, [r0] c0237020: e1360002 teq r6, r2 c0237024: 01370003 teqeq r7, r3 c0237028: 1a000002 bne c0237038 c023702c: e1a01f94 strexd r1, r4, [r0] c0237030: e3310000 teq r1, #0 c0237034: 1afffff8 bne c023701c and ldrexd is not supported on ARMv6. A. _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel