Re: [PATCH v3] arm: remove !CPU_V6 and !GENERIC_ATOMIC64 build dependencies for XEN

From: Arnd Bergmann
Date: Thu Jan 09 2014 - 06:04:35 EST


On Thursday 09 January 2014, Will Deacon wrote:
> On Wed, Jan 08, 2014 at 06:00:23PM +0000, Stefano Stabellini wrote:
> > Remove !GENERIC_ATOMIC64 build dependency:
> > - rename atomic64_xchg to armv7_atomic64_xchg and define it even ifdef
> > GENERIC_ATOMIC64;
> > - call armv7_atomic64_xchg directly from xen/events.h.
> >
> > Remove !CPU_V6 build dependency:
> > - introduce __cmpxchg8 and __cmpxchg16, compiled even ifdef
> > CONFIG_CPU_V6;
> > - implement sync_cmpxchg using __cmpxchg8 and __cmpxchg16.
> >
> > Signed-off-by: Stefano Stabellini <stefano.stabellini@xxxxxxxxxxxxx>
> > CC: arnd@xxxxxxxx
> > CC: linux@xxxxxxxxxxxxxxxx
> > CC: will.deacon@xxxxxxx
> > CC: gang.chen@xxxxxxxxxxx
> > CC: catalin.marinas@xxxxxxx
> > CC: jaccon.bastiaansen@xxxxxxxxx
> > CC: linux-arm-kernel@xxxxxxxxxxxxxxxxxxx
> > CC: linux-kernel@xxxxxxxxxxxxxxx
> >
>
> I'm confused here. It looks like you want to call armv7 code in a v6 kernel.
> What am I missing?

This is about being able to build a kernel that runs on ARMv6 and ARMv7
and also includes Xen. Because of obvious hardware limitations, Xen
will only run on v7, but currently you cannot even build it once you
enable (pre-v6K) ARMv6 support, since the combined v6+v7 kernel can't
do atomic accesses in a generic way on non-32bit variables.

Arnd
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/