On 24/04/2025 13:00, Andrew Jones wrote: > On Thu, Apr 17, 2025 at 02:19:50PM +0200, Clément Léger wrote: >> This SBI extensions enables supervisor mode to control feature that are >> under M-mode control (For instance, Svadu menvcfg ADUE bit, Ssdbltrp >> DTE, etc). Add an interface to set local features for a specific cpu >> mask as well as for the online cpu mask. >> >> Signed-off-by: Clément Léger <cleger@xxxxxxxxxxxx> >> Reviewed-by: Andrew Jones <ajones@xxxxxxxxxxxxxxxx> >> --- >> arch/riscv/include/asm/sbi.h | 17 +++++++++++ >> arch/riscv/kernel/sbi.c | 57 ++++++++++++++++++++++++++++++++++++ >> 2 files changed, 74 insertions(+) >> >> diff --git a/arch/riscv/include/asm/sbi.h b/arch/riscv/include/asm/sbi.h >> index 7ec249fea880..c8eab315c80e 100644 >> --- a/arch/riscv/include/asm/sbi.h >> +++ b/arch/riscv/include/asm/sbi.h >> @@ -503,6 +503,23 @@ int sbi_remote_hfence_vvma_asid(const struct cpumask *cpu_mask, >> unsigned long asid); >> long sbi_probe_extension(int ext); >> >> +int sbi_fwft_set(u32 feature, unsigned long value, unsigned long flags); >> +int sbi_fwft_local_set_cpumask(const cpumask_t *mask, u32 feature, >> + unsigned long value, unsigned long flags); > > I'm confused by the naming that includes 'local' and 'cpumask' together > and... > >> +/** >> + * sbi_fwft_local_set() - Set a feature on all online cpus >> + * @feature: The feature to be set >> + * @value: The feature value to be set >> + * @flags: FWFT feature set flags >> + * >> + * Return: 0 on success, appropriate linux error code otherwise. >> + */ >> +static inline int sbi_fwft_local_set(u32 feature, unsigned long value, >> + unsigned long flags) >> +{ >> + return sbi_fwft_local_set_cpumask(cpu_online_mask, feature, value, flags); > > ...that something named with just 'local' is applied to all online cpus. > I've always considered 'local' functions to only affect the calling cpu. Yeah I thought of that as well, local here refers to the fact that this function applies for a local feature (as described in the SBI documentation) but agreed that it's really missleading. Any idea for a better naming ? Thanks, Clément > > Thanks, > drew