> -#define flush_tlb_all() sbi_remote_sfence_vma(NULL, 0, -1)
> +static inline void remote_sfence_vma(struct cpumask *cmask, unsigned long 
> start,
> +                                  unsigned long size)
> +{
> +     struct cpumask hmask;
> +
> +     riscv_cpuid_to_hartid_mask(cmask, &hmask);
> +     sbi_remote_sfence_vma(hmask.bits, start, size);
> +}
> +
> +#define flush_tlb_all() remote_sfence_vma(NULL, 0, -1)

flush_tlb_all passed NULL to sbi_remote_sfence_vma before, so this
changes what we pass.  I think we should keep the existing behavior.

> @@ -93,10 +94,11 @@ static inline void plic_toggle(int ctxid, int hwirq, int 
> enable)
>  static inline void plic_irq_toggle(struct irq_data *d, int enable)
>  {
>       int cpu;
> +     struct plic_handler *handler;
>  
>       writel(enable, plic_regs + PRIORITY_BASE + d->hwirq * PRIORITY_PER_ID);
>       for_each_cpu(cpu, irq_data_get_affinity_mask(d)) {
> -             struct plic_handler *handler = per_cpu_ptr(&plic_handlers, cpu);
> +             handler = per_cpu_ptr(&plic_handlers, cpu);

This looks like a spurious change.

Reply via email to