Print this page
bcm2835: move strict alignment check disable code into the loader
Since the loader wants to muck with alignment related bits of the SCTLR
anyway, it should set both A and U to the desired values (0 and 1
respectively).
*** 49,59 ****
/*
* Fix up alignment by turning off A and by turning on U.
*/
ENTRY(fakeload_unaligned_enable)
mrc p15, 0, r0, c1, c0, 0
! orr r0, #0x400000
mcr p15, 0, r0, c1, c0, 0
bx lr
SET_SIZE(fakeload_unaligned_enable);
#endif /* __lint */
--- 49,60 ----
/*
* Fix up alignment by turning off A and by turning on U.
*/
ENTRY(fakeload_unaligned_enable)
mrc p15, 0, r0, c1, c0, 0
! orr r0, #0x400000 /* U = 1 */
! bic r0, r0, #2 /* A = 0 */
mcr p15, 0, r0, c1, c0, 0
bx lr
SET_SIZE(fakeload_unaligned_enable);
#endif /* __lint */