Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 28 May 2016 08:05:40 -0600
From:      Ian Lepore <ian@freebsd.org>
To:        Sylvain Garrigues <sylgar@gmail.com>, freebsd-arm@freebsd.org
Subject:   Re: =?ISO-8859-1?Q?R=E9p?= : Are there SPARC [or other] aligned memory access requirements to avoid exceptions? [now that 11.0's armv6/v7 is allowing more unaligned accesses]
Message-ID:  <1464444340.1204.149.camel@freebsd.org>
In-Reply-To: <C6722CF1-A700-43E3-BC0B-2ACD1E9318E1@gmail.com>
References:  <mailman.62.1464436801.9180.freebsd-arm@freebsd.org> <C6722CF1-A700-43E3-BC0B-2ACD1E9318E1@gmail.com>

next in thread | previous in thread | raw e-mail | index | archive | help
On Sat, 2016-05-28 at 14:40 +0200, Sylvain Garrigues wrote:
> Hello Ian,
> 
> > De: Ian Lepore <ian@freebsd.org>
> > 
> > […]
> > Original rpi is indeed 1176JZF-S, which IS armv6.  The differences
> > between it and armv7 are almost entirely in the cache maintenence
> > routines, and notably not in handling unaligned access the way we
> > now
> > configure the hardware.
> 
> Does that mean we now don’t support the RPI A/B version 1, or more
> importantly the Raspberry Pi Zero, which is to my knowledge still
> based on 1176JZF-S?
> 
> I was planning to run FreeBSD on the Pi Zero for an important
> embedded project, and would like to know better about the
> implications you mentioned of the new way the hardware is now
> configured, as regards this « old » armv6 cpu which doesn’t handle
> unaligned access properly.
> 

There has been no change in which chips and boards we support.  The
only change is that non-freebsd software which assumes that arm chips
can do unaligned access now has a much better chance of working without
needing freebsd-specific patches.

That doesn't mean every port with alignment problems will magically
start working now, but many of them will.  Basically if they work right
on arm on linux, they should now be able to work on freebsd as well. 
 However, it's still possible to write buggy C code that causes the
compiler to emit instructions that cause alignment faults.

-- Ian



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?1464444340.1204.149.camel>