lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date:   Tue, 5 Jun 2018 14:25:37 +0200
From:   Peter Zijlstra <peterz@...radead.org>
To:     Mark Rutland <mark.rutland@....com>
Cc:     linux-kernel@...r.kernel.org, Boqun Feng <boqun.feng@...il.com>,
        Will Deacon <will.deacon@....com>
Subject: Re: [PATCH 4/7] atomics: add common header generation files

On Tue, May 29, 2018 at 07:07:43PM +0100, Mark Rutland wrote:
> +++ b/scripts/atomic/atomics.tbl
> @@ -0,0 +1,41 @@
> +# name	meta	args...
> +#
> +# Where meta contains a string of variants to generate.
> +# Upper-case implies _{acquire,release,relaxed} variants.
> +# Valid meta values are:
> +# * B/b	- bool: returns bool
> +# * v	- void: returns void
> +# * I/i	- int: returns base type
> +# * R	- return: returns base type (has _return variants)
> +# * F/f	- fetch: returns base type (has fetch_ variants)
> +# * l	- load: returns base type (has _acquire order variant)
> +# * s	- store: returns void (has _release order variant)
> +#
> +# Where args contains list of type[:name], where type is:
> +# * cv	- const pointer to atomic base type (atomic_t/atomic64_t/atomic_long_t)
> +# * v	- pointer to atomic base type (atomic_t/atomic64_t/atomic_long_t)
> +# * i	- base type (int/s64/long)
> +# * I	- pointer to base type (int/s64/long)

I thought we agreed to make that 'p' instead of 'I'.

> +#
> +read			l	cv
> +set			s	v	i
> +add			vRF	i	v
> +sub			vRF	i	v
> +inc			vRF	v
> +dec			vRF	v
> +and			vF	i	v
> +andnot			vF	i	v
> +or			vF	i	v
> +xor			vF	i	v
> +xchg			I	v	i
> +cmpxchg			I	v	i:old	i:new
> +try_cmpxchg		B	v	I:old	i:new
> +sub_and_test		b	i	v
> +dec_and_test		b	v
> +inc_and_test		b	v
> +add_negative		b	i	v
> +add_unless		fb	v	i:a	i:u
> +inc_not_zero		b	v
> +inc_unless_negative	b	v
> +dec_unless_positive	b	v
> +dec_if_positive		i	v

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ