On Fri, Apr 25, 2025 at 12:29:35PM +0200, Niklas Schnelle wrote:
> On Fri, 2025-04-25 at 11:00 +0200, Thomas Huth wrote:
> > On 17/04/2025 19.37, Farhan Ali wrote:
> > > +    asm volatile(
> > > +        /* pcilgi */
> > > +        ".insn   rre,0xb9d60000,%[val],%[ioaddr_len]\n"
> > > +        "ipm     %[cc]\n"
> > > +        "srl     %[cc],28\n"
> > > +        : [cc] "=d"(cc), [val] "=d"(val),
> > > +        [ioaddr_len] "+&d"(ioaddr_len.pair) :: "cc");
> > 
> > Do we need the "&" modifier here? ... at least the kernel does not seem to 
> > use it ...
> 
> From my understanding it's not strictly needed, but I also used it in
> the rdma-core user-space code where I had pointed Farhan. I looked at

It is not needed, since all inputs are consumed before to any output
is written to.

> > > +    asm volatile (
> > > +        /* pcistgi */
> > > +        ".insn   rre,0xb9d40000,%[val],%[ioaddr_len]\n"
> > > +        : [ioaddr_len] "+&d" (ioaddr_len.pair)
> > 
> > dito

Same here, it is not needed.

Reply via email to