Rép : Are there SPARC [or other] aligned memory access requirements to avoid exceptions? [now that 11.0's armv6/v7 is allowing more unaligned accesses]

Ian Lepore ian at freebsd.org
Sat May 28 14:05:49 UTC 2016


On Sat, 2016-05-28 at 14:40 +0200, Sylvain Garrigues wrote:
> Hello Ian,
> 
> > De: Ian Lepore <ian at 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


More information about the freebsd-arm mailing list