[PATCH v10 2/9] riscv: add infrastructure for preemptible this_cpu operations
David Laight
david.laight.linux at gmail.com
Thu Nov 12 04:02:48 PST 2026
On Thu, 12 Nov 2026 18:41:42 +0800
Yunhui Cui <cuiyunhui at bytedance.com> wrote:
> +/*
> + * Mark a region where the per-CPU offset and address registers may need to
> + * be rewritten by exception return after migration. The three registers
> + * must remain distinct for the whole region.
> + */
> +#define __PCPU_GPRS_BEGIN \
> + __DEFINE_ASM_GPR_NUMS \
> + __PCPU_GPRS_ASSERT_DISTINCT \
> + "li %[off], " __PCPU_GPRS_VALUE "\n" \
> + "sh %[off], %[gprs]\n" \
> + REG_L " %[off], %[pcpu_offset]\n" \
> + "add %[addr], %[pcp], %[off]\n"
> +
> +#define __PCPU_GPRS_END \
> + "sh zero, %[gprs]\n"
Those are quite nasty with all the hidden variable names.
It wouldn't do any harm to pass the names though.
David
More information about the linux-riscv
mailing list