Ignore:
File:
1 edited

Legend:

Unmodified
Added
Removed
  • kernel/arch/arm64/src/asm.S

    r28a5ebd rebb3538  
    5656FUNCTION_END(memcpy_to_uspace_failover_address)
    5757
    58 FUNCTION_BEGIN(early_putuchar)
     58/** Flush instruction caches
     59 *
     60 * @param x0 Starting address of the flushing.
     61 * @param x1 Number of bytes to flush.
     62 *
     63 */
     64FUNCTION_BEGIN(smc_coherence)
     65        /* Initialize loop */
     66        mov x9, x0
     67        mov x10, xzr
     68
     69        __dc_loop:
     70                /* Data or Unified Cache Line Clean */
     71                dc cvau, x9
     72                add x9, x9, #4
     73                add x10, x10, #4
     74                cmp x10, x1
     75                blo __dc_loop
     76
     77        dsb ish
     78
     79        /* Initialize loop */
     80        mov x9, x0
     81        mov x10, xzr
     82
     83        __ic_loop:
     84                /* Instruction Cache Line Invalidate */
     85                ic ivau, x9
     86                add x9, x9, #4
     87                add x10, x10, #4
     88                cmp x10, x1
     89                blo __ic_loop
     90
     91        dsb ish
     92        isb
    5993        ret
    60 FUNCTION_END(early_putuchar)
     94FUNCTION_END(smc_coherence)
    6195
    6296/* Static checks for the istate_t save/load. */
Note: See TracChangeset for help on using the changeset viewer.