On Sat, Jun 18, 2022 at 12:09:11AM +0000, Sean Christopherson wrote: > On Fri, Jun 17, 2022, Colton Lewis wrote: > > On Thu, Jun 16, 2022 at 02:10:06PM +0200, Andrew Jones wrote: > > > We probably want to ensure all architectures are good with this. afaict, > > > riscv only expects 6 args and uses UCALL_MAX_ARGS to cap the ucall inputs, > > > for example. > > > > All architectures use UCALL_MAX_ARGS for that. Are you saying there > > might be limitations beyond the value of the macro? If so, who should > > verify whether this is ok? > > I thought there were architectural limitations too, but I believe I was thinking > of vcpu_args_set(), where the number of params is limited by the function call > ABI, e.g. the number of registers. > > Unless there's something really, really subtle going on, all architectures pass > the actual ucall struct purely through memory. Actually, that code is ripe for > deduplication, and amazingly it doesn't conflict with Colton's series. Patches > incoming... > RISC-V uses sbi_ecall() for their implementation of ucall(). CC'ing Anup for confirmation, but if I understand the SBI spec correctly, then inputs are limited to registers a0-a5. Thanks, drew