Changes in / [6db5d4b:dff90fa7] in mainline


Ignore:
Files:
2 added
2 edited

Legend:

Unmodified
Added
Removed
  • boot/arch/arm32/src/asm.S

    r6db5d4b rdff90fa7  
    7171        mrc     p15, 0, r4, c1, c0, 0
    7272        bic     r4, r4, #(1 << CP15_C1_DC)
     73#ifndef PROCESSOR_ARCH_armv7_a
    7374        bic     r4, r4, #(1 << CP15_C1_IC)
    7475        bic     r4, r4, #(1 << CP15_C1_BP)
     76#endif
    7577        mcr     p15, 0, r4, c1, c0, 0
    7678
  • boot/arch/arm32/src/main.c

    r6db5d4b rdff90fa7  
    6363{
    6464        const uintptr_t addr = (uintptr_t)address;
    65         /* DCIMVAC - invalidate by address to the point of coherence */
    6665        for (uintptr_t a = addr; a < addr + size; a += 4) {
     66                /* DCIMVAC - invalidate by address to the point of coherence */
    6767                asm volatile ("mcr p15, 0, %[a], c7, c6, 1\n" :: [a]"r"(a) : );
    6868        }
     
    7272{
    7373        const uintptr_t addr = (uintptr_t)address;
    74         /* DCCMVAC - clean by address to the point of coherence */
    7574        for (uintptr_t a = addr; a < addr + size; a += 4) {
     75                /* DCCMVAC - clean by address to the point of coherence */
    7676                asm volatile ("mcr p15, 0, %[a], c7, c10, 1\n" :: [a]"r"(a) : );
    7777        }
     
    8282void bootstrap(void)
    8383{
    84         /* Make sure  we run in memory code when caches are enabled,
     84        /* Make sure we run in memory code when caches are enabled,
    8585         * make sure we read memory data too. This part is ARMv7 specific as
    8686         * ARMv7 no longer invalidates caches on restart.
     
    105105                    components[i].start, components[i].name, components[i].inflated,
    106106                    components[i].size);
     107                /* Make sure there is no cache garbage in read locations */
    107108                invalidate_dcache(components[i].start, components[i].size);
    108109        }
     
    148149                        halt();
    149150                }
     151                /* Make sure data are in the memory, ICache will need them */
    150152                clean_dcache_poc(dest[i - 1], components[i - 1].inflated);
    151153        }
Note: See TracChangeset for help on using the changeset viewer.