From owner-freebsd-arm@freebsd.org Tue May 24 21:59:18 2016 Return-Path: Delivered-To: freebsd-arm@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id E77A7B49737 for ; Tue, 24 May 2016 21:59:18 +0000 (UTC) (envelope-from ian@freebsd.org) Received: from pmta2.delivery6.ore.mailhop.org (pmta2.delivery6.ore.mailhop.org [54.200.129.228]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id B8B851BD7 for ; Tue, 24 May 2016 21:59:18 +0000 (UTC) (envelope-from ian@freebsd.org) X-MHO-User: d78dee3f-21fa-11e6-a09e-4d61a6885157 X-Report-Abuse-To: https://support.duocircle.com/support/solutions/articles/5000540958-duocircle-standard-smtp-abuse-information X-Originating-IP: 73.34.117.227 X-Mail-Handler: DuoCircle Outbound SMTP Received: from ilsoft.org (unknown [73.34.117.227]) by outbound2.ore.mailhop.org (Halon Mail Gateway) with ESMTPSA; Tue, 24 May 2016 21:59:52 +0000 (UTC) Received: from rev (rev [172.22.42.240]) by ilsoft.org (8.15.2/8.14.9) with ESMTP id u4OLxGka000979; Tue, 24 May 2016 15:59:16 -0600 (MDT) (envelope-from ian@freebsd.org) Message-ID: <1464127156.1204.10.camel@freebsd.org> Subject: Re: xorg broken on Beaglebone black revision 300438 From: Ian Lepore To: Mark Millard , freebsd-arm Date: Tue, 24 May 2016 15:59:16 -0600 In-Reply-To: References: Content-Type: text/plain; charset="ISO-8859-1" X-Mailer: Evolution 3.16.5 FreeBSD GNOME Team Port Mime-Version: 1.0 Content-Transfer-Encoding: 8bit X-BeenThere: freebsd-arm@freebsd.org X-Mailman-Version: 2.1.22 Precedence: list List-Id: "Porting FreeBSD to ARM processors." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 24 May 2016 21:59:19 -0000 On Tue, 2016-05-24 at 14:35 -0700, Mark Millard wrote: > Quoting from Otacílio Tue May 24 00:06:10 UTC 2016 and its locore > -v6.S changes: > > > - orr r7, #CPU_CONTROL_UNAL_ENABLE > > - orr r7, #CPU_CONTROL_AFLT_ENABLE > > + bic r7, #CPU_CONTROL_UNAL_ENABLE > > + bic r7, #CPU_CONTROL_AFLT_ENABLE > > -r295256 (2016-Feb-14) changed from: > > bic r7, #CPU_CONTROL_UNAL_ENABLE > > to: > > orr r7, #CPU_CONTROL_UNAL_ENABLE > > in two places (moving it a few lines down for each example as well). > So this much of the proposed changes would be reverting the -r295256 > change. The check in comment indicates the bit is RAO/SBOP for armv7. > For armv6 the check in comment claims it controls armv5 compatible > alignment support. > > But: > > orr r7, #CPU_CONTROL_AFLT_ENABLE > > has been in locore-v6.S since the file's first checkin. So this > change to bic here be new. > > What is the FreeBSD intent for each of the two new settings for > armv7? armv6? > It was always wrong to clear CPU_CONTROL_UNAL_ENABLE on armv7 (it's documented as RAO/SBOP). Setting it on armv6 makes the v6 (which is only the RPi in our world) behave the same as v7. So that change was just a bugfix. I think FreeBSD is the only major OS left that is enforcing strict alignment on armv6/v7 and it causes a lot of trouble for ports and other 3rd party software, and prevents us from enabling certain compiler options and optimizations. I'm very close to a commit to stop enforcing strict alignment (clear rather than CPU_CONTROL_AFLT_ENABLE). I've been testing it yesterday and today, and haven't run into any trouble at all. -- Ian