Re: [PATCH 3/3] ARM: Select CPU_32v6K for CPU_V7 only if ARCH_OMAP2 isnot selected

Jamie Lokier
2010-01-28T18:33:08Z

Catalin Marinas wrote:
> > Hmm, but then we can't compile in SMP for single core systems and
> > keep it bootable on single core v6?
>
> Not with the current kernel since it hardcodes the shareability bit in
> the page tables and the LDREX/STREX operations don't work as expected on
> uniprocessor hardware.

My understanding of LDREX/STREX is that it's allowed to be quite
different on uniprocessors (and CPU-local activity on SMP), but if
it's used properly it still works ok.

Can you say a bit more about assumptions made by the kernel using
LDREX/STREX that fail on uniprocessor hardware?

Is it just the shareability bit in page tables having the wrong value?

Thanks,
-- Jamie