Ignore:
File:
1 edited

Legend:

Unmodified
Added
Removed
  • boot/arch/arm32/src/mm.c

    rb5a3b50 rc6b601b  
    3838#include <arch/mm.h>
    3939
    40 /** Check if caching can be enabled for a given memory section.
    41  *
    42  * Memory areas used for I/O are excluded from caching.
    43  * At the moment caching is enabled only on GTA02.
    44  *
    45  * @param section       The section number.
    46  *
    47  * @return      1 if the given section can be mapped as cacheable, 0 otherwise.
    48 */
    49 static inline int section_cacheable(pfn_t section)
    50 {
    51 #ifdef MACHINE_gta02
    52         unsigned long address = section << PTE_SECTION_SHIFT;
    53 
    54         if (address >= GTA02_IOMEM_START && address < GTA02_IOMEM_END)
    55                 return 0;
    56         else
    57                 return 1;
    58 #else
    59         return 0;
    60 #endif
    61 }
    62 
    6340/** Initialize "section" page table entry.
    6441 *
     
    7855        pte->descriptor_type = PTE_DESCRIPTOR_SECTION;
    7956        pte->bufferable = 1;
    80         pte->cacheable = section_cacheable(frame);
     57        pte->cacheable = 0;
    8158        pte->xn = 0;
    8259        pte->domain = 0;
     
    146123                "ldr r1, =0x00000005\n"
    147124#else
    148 #ifdef MACHINE_gta02
    149                 /* Mask to enable paging (bit 0),
    150                    D-cache (bit 2), I-cache (bit 12) */
    151                 "ldr r1, =0x00001005\n"
    152 #else
    153125                /* Mask to enable paging */
    154126                "ldr r1, =0x00000001\n"
    155 #endif
    156127#endif
    157128                "orr r0, r0, r1\n"
Note: See TracChangeset for help on using the changeset viewer.