cachepc-linux

Fork of AMDESE/linux with modifications for CachePC side-channel attack
git clone https://git.sinitax.com/sinitax/cachepc-linux
Log | Files | Refs | README | LICENSE | sfeed.txt

dec_if_positive (259B)


      1cat <<EOF
      2static __always_inline ${ret}
      3arch_${atomic}_dec_if_positive(${atomic}_t *v)
      4{
      5	${int} dec, c = arch_${atomic}_read(v);
      6
      7	do {
      8		dec = c - 1;
      9		if (unlikely(dec < 0))
     10			break;
     11	} while (!arch_${atomic}_try_cmpxchg(v, &c, dec));
     12
     13	return dec;
     14}
     15EOF