diff options
author | Russell King <rmk+kernel@arm.linux.org.uk> | 2015-04-04 22:22:07 (GMT) |
---|---|---|
committer | Russell King <rmk+kernel@arm.linux.org.uk> | 2015-04-10 09:52:41 (GMT) |
commit | 6c5c2a01fcfdb70f2e95e30e96ccf53b88e81023 (patch) | |
tree | 43270eb85618290754b284806a66ff1bbb6d0223 /drivers/of | |
parent | f6ac49ba29499387e12e864a22e6d4bf46dafe9b (diff) | |
download | linux-6c5c2a01fcfdb70f2e95e30e96ccf53b88e81023.tar.xz |
ARM: proc-arm94*.S: fix setup function
Both ARM946 and ARM940 setup functions were corrupting r1 and r2,
which is not permissible - these are used to carry the machine ID
and boot data into the kernel, and must be preserved.
The code responsible for this was the same in both files: they were
using the registers to generate a protection region register value.
Fix this by turning this process into a macro, and using that macro
in both these files with an alternative register allocation. r0,
r3 and r7 can be used for temporary values here.
Reported-by: Alex Dumitrache <broscutamaker@gmail.com>
Tested-by: Georg Hofstetter <g3gg0.de@gmail.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Diffstat (limited to 'drivers/of')
0 files changed, 0 insertions, 0 deletions