ARM: pm: CPU specific code should not overwrite r1 (v:p offset)
authorRussell King <rmk+kernel@arm.linux.org.uk>
Sat, 27 Aug 2011 10:37:58 +0000 (11:37 +0100)
committerRussell King <rmk+kernel@arm.linux.org.uk>
Sun, 28 Aug 2011 09:39:53 +0000 (10:39 +0100)
commit6f354e5f40f433da98fab4103cd3a0aef1c18bde
treea8bc5472da31021ee456870ea41b63be1f0bb5e7
parent0f81bb6b051ad760686b5b0fef8c731282c16ef5
ARM: pm: CPU specific code should not overwrite r1 (v:p offset)

r1 stores the v:p offset from the CPU invariant resume code, and is
expected to be preserved by the CPU specific code.  Overwriting it is
not a good idea.

We've managed to get away with it on sa1100 platforms because most
happen to have PHYS_OFFSET == PAGE_OFFSET, but that may not be the
case depending on kernel configuration.  So fix this latent bug.

This fixes xsc3 as well which was saving and restoring this register
independently.

Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
arch/arm/mm/proc-sa1100.S
arch/arm/mm/proc-xsc3.S