From owner-freebsd-arm@FreeBSD.ORG Tue May 13 16:20:39 2014 Return-Path: Delivered-To: arm@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 23BD61F7; Tue, 13 May 2014 16:20:39 +0000 (UTC) Received: from mail-n.franken.de (drew.ipv6.franken.de [IPv6:2001:638:a02:a001:20e:cff:fe4a:feaa]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (Client CN "mail-n.franken.de", Issuer "Thawte DV SSL CA" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id A4F8E2652; Tue, 13 May 2014 16:20:38 +0000 (UTC) Received: from [10.225.7.42] (unknown [194.95.73.101]) (Authenticated sender: macmic) by mail-n.franken.de (Postfix) with ESMTP id 92A211C1049AB; Tue, 13 May 2014 18:20:34 +0200 (CEST) Content-Type: text/plain; charset=us-ascii Mime-Version: 1.0 (Mac OS X Mail 7.2 \(1874\)) Subject: Re: svn commit: r265927 - head/sys/dev/vt From: Michael Tuexen In-Reply-To: <201405121929.s4CJTcBx010967@svn.freebsd.org> Date: Tue, 13 May 2014 18:20:32 +0200 Content-Transfer-Encoding: quoted-printable Message-Id: <2899E6ED-712E-46BC-960B-9847FD99431C@freebsd.org> References: <201405121929.s4CJTcBx010967@svn.freebsd.org> To: Aleksandr Rybalko X-Mailer: Apple Mail (2.1874) Cc: "freebsd-arm@freebsd.org" , src-committers@freebsd.org X-BeenThere: freebsd-arm@freebsd.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: "Porting FreeBSD to ARM processors." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 13 May 2014 16:20:39 -0000 Hi Aleksandr, could it be that this commit results in the following panic when booting a Raspberry Pi: fb0: 656x416(0x0@0,0) 16bpp fb0: pitch 1312, base 0x5e006000, screen_size 545792 fbd0 on fb0 VT: initialize with new VT driver "fb". panic: mtx_lock() of spin mutex (null) @ = /usr/home/tuexen/head/sys/dev/vt/vt_core.c:2035 KDB: enter: panic [ thread pid 0 tid 100000 ] Stopped at $d: ldrb r15, [r15, r15, ror r15]! db> where=20 Tracing pid 0 tid 100000 td 0xc06648a0 db_trace_self() at db_trace_self pc =3D 0xc0495760 lr =3D 0xc0130fdc (db_stack_trace+0xf4) sp =3D 0xc075ea68 fp =3D 0xc075ea80 r10 =3D 0xc0663930 db_stack_trace() at db_stack_trace+0xf4 pc =3D 0xc0130fdc lr =3D 0xc013094c (db_command+0x270) sp =3D 0xc075ea88 fp =3D 0xc075eb28 r4 =3D 0x00000000 r5 =3D 0x00000000 r6 =3D 0x00000072 db_command() at db_command+0x270 pc =3D 0xc013094c lr =3D 0xc01306b0 (db_command_loop+0x60) sp =3D 0xc075eb30 fp =3D 0xc075eb40 r4 =3D 0xc04d5176 r5 =3D 0xc04ef7ba r6 =3D 0xc066391c r7 =3D 0xc0590b40 r8 =3D 0xc065a294 r9 =3D 0xc065a290 r10 =3D 0xc075ed10 db_command_loop() at db_command_loop+0x60 pc =3D 0xc01306b0 lr =3D 0xc0133078 (db_trap+0xd8) sp =3D 0xc075eb48 fp =3D 0xc075ec68 r4 =3D 0x00000000 r5 =3D 0xc0663928 r6 =3D 0xc065a2c0 db_trap() at db_trap+0xd8 pc =3D 0xc0133078 lr =3D 0xc028de10 (kdb_trap+0xbc) sp =3D 0xc075ec70 fp =3D 0xc075ec90 r4 =3D 0x00000000 r5 =3D 0x00000001 r6 =3D 0xc065a2c0 r7 =3D 0xc0590b40 kdb_trap() at kdb_trap+0xbc pc =3D 0xc028de10 lr =3D 0xc04a90e0 = (undefinedinstruction+0x298) sp =3D 0xc075ec98 fp =3D 0xc075ed08 r4 =3D 0x00000000 r5 =3D 0x00000000 r6 =3D 0xc04a8d98 r7 =3D 0xe7ffffff r8 =3D 0xc06648a0 r9 =3D 0xc028d6e0 r10 =3D 0xc075ed10 undefinedinstruction() at undefinedinstruction+0x298 pc =3D 0xc04a90e0 lr =3D 0xc04972dc (exception_exit) sp =3D 0xc075ed10 fp =3D 0xc075ed68 r4 =3D 0xc04ef814 r5 =3D 0xc075edbc r6 =3D 0xc04ed1f1 r7 =3D 0xc064c7d0 r8 =3D 0xc06648a0 r9 =3D 0xc066537c r10 =3D 0xc064c630 exception_exit() at exception_exit pc =3D 0xc04972dc lr =3D 0xc028d6d4 (kdb_enter+0x40) sp =3D 0xc075ed60 fp =3D 0xc075ed68 r0 =3D 0xc065a2a4 r1 =3D 0x00000000 r2 =3D 0xc04f328a r3 =3D 0x000000ab r4 =3D 0xc04ef814 r5 =3D 0xc075edbc r6 =3D 0xc04ed1f1 r7 =3D 0xc064c7d0 r8 =3D 0xc06648a0 r9 =3D 0xc066537c r10 =3D 0xc064c630 r12 =3D 0x00000000 $a() at $a pc =3D 0xc028d6e4 lr =3D 0xc0256eb8 (vpanic+0xb4) sp =3D 0xc075ed70 fp =3D 0xc075ed90 r4 =3D 0x00000100 vpanic() at vpanic+0xb4 pc =3D 0xc0256eb8 lr =3D 0xc0256df4 ($d) sp =3D 0xc075ed98 fp =3D 0xc075edb0 r4 =3D 0xc064c6d0 r5 =3D 0xc04ed1f1 r6 =3D 0xc075edbc r7 =3D 0xc064c630 r8 =3D 0x00000000 r9 =3D 0x000007f3 r10 =3D 0x000007f7 $d() at $d pc =3D 0xc0256df4 lr =3D 0xc0243240 (__mtx_lock_flags+0x134) sp =3D 0xc075edc8 fp =3D 0xc075edf0 r4 =3D 0xc04df462 r5 =3D 0xc05a0f00 r6 =3D 0x000007f3 r7 =3D 0xc05a0f00 __mtx_lock_flags() at __mtx_lock_flags+0x134 pc =3D 0xc0243240 lr =3D 0xc0192008 (vt_resize+0x44) sp =3D 0xc075edf8 fp =3D 0xc075ee18 r4 =3D 0xc05a0e90 r5 =3D 0xc05a0f00 r6 =3D 0xc04df462 r7 =3D 0xc05a0f50 r8 =3D 0x00000000 vt_resize() at vt_resize+0x44 pc =3D 0xc0192008 lr =3D 0xc0191f7c (vt_upgrade+0x38c) sp =3D 0xc075ee20 fp =3D 0xc075ee88 r4 =3D 0x00000001 r5 =3D 0xc0664898 r6 =3D 0xc05a0e90 r7 =3D 0xc0523148 r8 =3D 0xc06650a4 r9 =3D 0xc06650a0 r10 =3D 0x00001bd6 vt_upgrade() at vt_upgrade+0x38c pc =3D 0xc0191f7c lr =3D 0xc0205e14 (mi_startup+0x11c) sp =3D 0xc075ee90 fp =3D 0xc075eea8 r4 =3D 0x00000001 r5 =3D 0xc0664898 r6 =3D 0x00000000 r7 =3D 0xc0523148 r8 =3D 0xc06650a4 r9 =3D 0xc06650a0 r10 =3D 0x00001bd6 mi_startup() at mi_startup+0x11c pc =3D 0xc0205e14 lr =3D 0xc0100238 (virt_done+0x44) sp =3D 0xc075eeb0 fp =3D 0x00000000 r4 =3D 0xc0100268 r5 =3D 0xc066c000 r6 =3D 0x02048740 r7 =3D 0x0010014c r8 =3D 0x00000000 r9 =3D 0xc074d000 virt_done() at virt_done+0x44 pc =3D 0xc0100238 lr =3D 0xc0100238 (virt_done+0x44) sp =3D 0xc075eeb0 fp =3D 0x00000000 Unable to unwind further db> On 12 May 2014, at 21:29, Aleksandr Rybalko wrote: > Author: ray > Date: Mon May 12 19:29:38 2014 > New Revision: 265927 > URL: http://svnweb.freebsd.org/changeset/base/265927 >=20 > Log: > Update terminal sizes in any case when new vt(4) driver arrive. > (Plus remove one unused newline) >=20 > Sponsored by: The FreeBSD Foundation >=20 > Modified: > head/sys/dev/vt/vt_core.c >=20 > Modified: head/sys/dev/vt/vt_core.c > = =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D > --- head/sys/dev/vt/vt_core.c Mon May 12 19:11:39 2014 = (r265926) > +++ head/sys/dev/vt/vt_core.c Mon May 12 19:29:38 2014 = (r265927) > @@ -1981,8 +1981,11 @@ vt_upgrade(struct vt_device *vd) > unsigned int i; >=20 > /* Device didn't pass vd_init() or already upgraded. */ > - if (vd->vd_flags & (VDF_ASYNC|VDF_DEAD)) > + if (vd->vd_flags & (VDF_ASYNC|VDF_DEAD)) { > + /* Refill settings with new sizes anyway. */ > + vt_resize(vd); > return; > + } > vd->vd_flags |=3D VDF_ASYNC; >=20 > for (i =3D 0; i < VT_MAXWINDOWS; i++) { > @@ -2019,7 +2022,6 @@ vt_upgrade(struct vt_device *vd) >=20 > /* Refill settings with new sizes. */ > vt_resize(vd); > - > } >=20 > static void >=20 >=20