...

Text file src/internal/runtime/sys/dit_arm64.s

Documentation: internal/runtime/sys

     1// Copyright 2024 The Go Authors. All rights reserved.
     2// Use of this source code is governed by a BSD-style
     3// license that can be found in the LICENSE file.
     4
     5#include "textflag.h"
     6
     7TEXT ·EnableDIT(SB),$0-1
     8    MRS DIT, R0
     9    UBFX $24, R0, $1, R1
    10    MOVB R1, ret+0(FP)
    11    MSR $1, DIT
    12    // TODO(roland): the SB instruction is significantly more
    13    // performant when available. We should detect its availability
    14    // and use it when we can.
    15    DSB $7  // nsh
    16    ISB $15 // sy
    17    RET
    18
    19TEXT ·DITEnabled(SB),$0-1
    20    MRS DIT, R0
    21    UBFX $24, R0, $1, R1
    22    MOVB R1, ret+0(FP)
    23    RET
    24
    25TEXT ·DisableDIT(SB),$0
    26    MSR $0, DIT
    27    RET

View as plain text