mirror of
https://github.com/torvalds/linux.git
synced 2025-10-29 15:56:19 +02:00
In order to support LKMM atomics in Rust, add rust_helper_* for atomic APIs. These helpers ensure the implementation of LKMM atomics in Rust is the same as in C. This could save the maintenance burden of having two similar atomic implementations in asm. Originally-by: Mark Rutland <mark.rutland@arm.com> Signed-off-by: Boqun Feng <boqun.feng@gmail.com> Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org> Reviewed-by: Alice Ryhl <aliceryhl@google.com> Link: https://lore.kernel.org/all/20250719030827.61357-2-boqun.feng@gmail.com/
21 lines
683 B
Bash
Executable file
21 lines
683 B
Bash
Executable file
#!/bin/sh
|
|
# SPDX-License-Identifier: GPL-2.0
|
|
#
|
|
# Generate atomic headers
|
|
|
|
ATOMICDIR=$(dirname $0)
|
|
ATOMICTBL=${ATOMICDIR}/atomics.tbl
|
|
LINUXDIR=${ATOMICDIR}/../..
|
|
|
|
cat <<EOF |
|
|
gen-atomic-instrumented.sh linux/atomic/atomic-instrumented.h
|
|
gen-atomic-long.sh linux/atomic/atomic-long.h
|
|
gen-atomic-fallback.sh linux/atomic/atomic-arch-fallback.h
|
|
gen-rust-atomic-helpers.sh ../rust/helpers/atomic.c
|
|
EOF
|
|
while read script header args; do
|
|
/bin/sh ${ATOMICDIR}/${script} ${ATOMICTBL} ${args} > ${LINUXDIR}/include/${header}
|
|
HASH="$(sha1sum ${LINUXDIR}/include/${header})"
|
|
HASH="${HASH%% *}"
|
|
printf "// %s\n" "${HASH}" >> ${LINUXDIR}/include/${header}
|
|
done
|