]> Zhao Yanbai Git Server - minix.git/commitdiff
arm:make no assumptions about TRE and AFE 63/563/1
authorKees Jongenburger <kees.jongenburger@gmail.com>
Thu, 16 May 2013 07:50:55 +0000 (09:50 +0200)
committerKees Jongenburger <keesj@minix3.org>
Thu, 16 May 2013 18:39:19 +0000 (20:39 +0200)
The bootloader can leave the system control register
in at state that doesn't match our setup. make no assumptions
and configure TRE and AFE.

kernel/arch/earm/pg_utils.c

index eb2403ab646ade6e5985bbca5c9b3773d34570ad..2895aa314cc3376873cc340afb4423a45648a351 100644 (file)
@@ -159,6 +159,7 @@ void pg_identity(kinfo_t *cbi)
         for(i = 0; i < ARM_VM_DIR_ENTRIES; i++) {
                u32_t flags = ARM_VM_SECTION
                        | ARM_VM_SECTION_USER
+                       | ARM_VM_SECTION_DEVICE
                        | ARM_VM_SECTION_DOMAIN;
                phys = i * ARM_SECTION_SIZE;
                pagedir[i] =  phys | flags;
@@ -201,6 +202,10 @@ void vm_enable_paging(void)
 
        /* AFE set to zero (default reset value): not using simplified model. */
        /* TRE set to zero (default reset value): TEX[2:0] are used, plus C and B bits.*/
+       sctlr &= ~SCTLR_TRE;
+
+       /* AFE set to zero (default reset value): not using simplified model. */
+       sctlr &= ~SCTLR_AFE;
 
        /* Enable instruction and data cache */
        sctlr |= SCTLR_C;