|
@@ -372,8 +372,13 @@ flush_dcache:
|
|
* disable MMU and D cache, and enable I cache
|
|
* disable MMU and D cache, and enable I cache
|
|
*/
|
|
*/
|
|
mrc p15, 0, r0, c1, c0, 0
|
|
mrc p15, 0, r0, c1, c0, 0
|
|
- bic r0, r0, #0x00002300 /* clear bits 13, 9:8 (--V- --RS) */
|
|
|
|
|
|
+ bic r0, r0, #0x00000300 /* clear bits 9:8 (---- --RS) */
|
|
bic r0, r0, #0x00000087 /* clear bits 7, 2:0 (B--- -CAM) */
|
|
bic r0, r0, #0x00000087 /* clear bits 7, 2:0 (B--- -CAM) */
|
|
|
|
+#ifdef CONFIG_SYS_EXCEPTION_VECTORS_HIGH
|
|
|
|
+ orr r0, r0, #0x00002000 /* set bit 13 (--V- ----) */
|
|
|
|
+#else
|
|
|
|
+ bic r0, r0, #0x00002000 /* clear bit 13 (--V- ----) */
|
|
|
|
+#endif
|
|
orr r0, r0, #0x00000002 /* set bit 2 (A) Align */
|
|
orr r0, r0, #0x00000002 /* set bit 2 (A) Align */
|
|
orr r0, r0, #0x00001000 /* set bit 12 (I) I-Cache */
|
|
orr r0, r0, #0x00001000 /* set bit 12 (I) I-Cache */
|
|
mcr p15, 0, r0, c1, c0, 0
|
|
mcr p15, 0, r0, c1, c0, 0
|