Android and compatibility with deprecated armv7 instructions
Russell King - ARM Linux
linux at arm.linux.org.uk
Thu Jul 3 15:47:53 PDT 2014
On Thu, Jul 03, 2014 at 11:16:16PM +0100, Måns Rullgård wrote:
> Will Deacon <will.deacon at arm.com> writes:
>
> > On Thu, Jul 03, 2014 at 06:05:58PM +0100, Russell King - ARM Linux wrote:
> >> On Thu, Jul 03, 2014 at 05:22:30PM +0100, Grant Likely wrote:
> >> > So, no. I completely reject any notion that breaking existing apps is
> >> > okay. If we're going to say that v8 still supports 32-bit apps, then
> >> > it has to be all of v7, not just the 'good' bits. Nor do I think
> >> > saying "it's just a bunch of games" justifies anything. We're kernel
> >> > engineers. Applications are applications and we don't break userspace.
> >> > Period.
> >>
> >> +1 on all points above. I'd go further - if we're going to say that v8
> >> still supports 32-bit apps, that covers at least v6 *as well*.
> >
> > We've never pretended to support anything other than ARMv8 in the compat
> > layer. uname even reports this in the machine name.
> >
> > If people are suddenly so concerned about *full* compatibility with an ARMv7
> > kernel, that needs a lot more than just SWP emulation:
> >
> > - Alignment fixups for ldm/stm
>
> No ARM variant ever supported unaligned ldm/stm.
Quite right but that's not the point being discussed. Please note that
the sentence says "with an ARMv7 *kernel*" - we are not talking about
the architecture there.
So, what's more to the point is that on 32-bit ARM userspace under Linux,
we _have_ supported it since early 2000 up to present. It's not currently
supported on 64-bit ARM running Linux, even when running a 32-bit binary
in userspace.
Ergo, it's a user visible ABI change, one which we don't know whether it
matters. In all probability, it doesn't because (hopefully) no one ever
does unaligned LDMs/STMs - I think it would require hand-crafted assembly,
at which point you're talking about optimising something, and you'd be
silly to do it as it would invoke the alignment fault handling which
would be slow.
--
FTTC broadband for 0.8mile line: now at 9.7Mbps down 460kbps up... slowly
improving, and getting towards what was expected from it.
More information about the linux-arm-kernel
mailing list