> On 20 Jan 2022, at 09:09, Atish Patra <atishp@xxxxxxxxxxxx> wrote: > > > > Currently, SBI APIs accept a hartmask that is generated from struct > > cpumask. Cpumask data structure can hold upto NR_CPUs value. Thus, it > > is not the correct data structure for hartids as it can be higher > > than NR_CPUs for platforms with sparse or discontguous hartids. > > > > Remove all association between hartid mask and struct cpumask. .... > > -static int __sbi_rfence_v01(int fid, const unsigned long *hart_mask, > > +static int __sbi_rfence_v01(int fid, const struct cpumask *cpu_mask, > > unsigned long start, unsigned long size, > > unsigned long arg4, unsigned long arg5) > > { > > int result = 0; > > + unsigned long hart_mask; > > + > > + if (!cpu_mask) > > + cpu_mask = cpu_online_mask; > > + hart_mask = __sbi_v01_cpumask_to_hartmask(cpu_mask); > > > > /* v0.2 function IDs are equivalent to v0.1 extension IDs */ > > switch (fid) { > > case SBI_EXT_RFENCE_REMOTE_FENCE_I: > > sbi_ecall(SBI_EXT_0_1_REMOTE_FENCE_I, 0, > > - (unsigned long)hart_mask, 0, 0, 0, 0, 0); > > + (unsigned long)&hart_mask, 0, 0, 0, 0, 0); You don't need the cast. David - Registered Address Lakeside, Bramley Road, Mount Farm, Milton Keynes, MK1 1PT, UK Registration No: 1397386 (Wales)