> > > > > > @Marcel, @Yuval: As David has suggested, what if we just read the dma > > > addresses in pvrdma_load(), and let the load_dsr() do the mapping? > > > In pvrdma_regs_write(), we can check if dev->dsr_info.dma is already set, > > > so > > > that its value is not overwritten. > > > > Have you tried that? Did it works? > > I haven't tried it, but in the dest, the guest will not call > pvrdma_regs_write() > for DSR again as it calls it only when the guest driver probes pci. > load_dsr() will not be called then. > So, I guess my assumption was wrong.
To clarify. The guest is not "calling" pvrdma_regs_write() directly, it writes into a register and this triggers the function. So my thinking was that you meant to hook into *any* such register-write and call "load_dsr" indirectly, i.e. to simulate a guest writing into DSR register. This might work and it is nice idea, just wondering whether you actually give that a try. > > > So it is like a lazy load and the first command will be bit slower, we can > > live with that i guess. That is way i called it "lazy load". > >