github.com/eh-steve/goloader@v0.0.0-20240111193454-90ff3cfdae39/mmap/mmap_linux_arm64.s (about)

     1  #include "textflag.h"
     2  
     3  // func read_CTR_ELO_Register() uint32
     4  TEXT ·read_CTR_ELO_Register(SB),NOSPLIT|NOFRAME,$0
     5    MRS  CTR_EL0, R0
     6    MOVW R0, ret+0(FP)
     7    RET
     8  
     9  // clearInstructionCacheLine(addr uintptr)
    10  TEXT ·clearInstructionCacheLine(SB),NOSPLIT|NOFRAME,$0
    11  	MOVD	start+0(FP), R0
    12    // IC R0, IVAU
    13    WORD $0xd50b7520
    14    RET
    15  
    16  // clearDataCacheLine(addr uintptr)
    17  TEXT ·clearDataCacheLine(SB),NOSPLIT|NOFRAME,$0
    18  	MOVD	start+0(FP), R0
    19    // DC R0, CVAU
    20    WORD $0xd50b7b20
    21    RET
    22  
    23  TEXT ·dataSyncBarrierInnerShareableDomain(SB),NOSPLIT|NOFRAME,$0
    24    // DSB ISH
    25    WORD $0xd5033b9f
    26    RET
    27  
    28  TEXT ·instructionSyncBarrier(SB),NOSPLIT|NOFRAME,$0
    29    // ISB
    30    WORD $0xd5033fdf
    31    RET