• Rémi Denis-Courmont's avatar
    lavu/riscv: AV_READ_TIME cycle counter · d8080705
    Rémi Denis-Courmont authored
    This uses the architected RISC-V 64-bit cycle counter from the
    RISC-V unprivileged instruction set.
    
    In 64-bit and 128-bit, this is a straightforward CSR read.
    In 32-bit mode, the 64-bit value is exposed as two CSRs, which
    cannot be read atomically, so a loop is necessary to detect and fix up
    the race condition where the bottom half wraps exactly between the two
    reads.
    d8080705
timer.h 1.37 KB