On Thu, Sep 18, 2025 at 07:43:22PM -0300, Jason Gunthorpe wrote: > On Thu, Sep 18, 2025 at 05:49:39PM +0100, Will Deacon wrote: > > Given that we're walking over the reserved regions to see if we have a > > collision with MSI_IOVA_BASE, why not allocate the base address > > dynamically if we detect a collision rather than having yet another > > hard-coded address which we can't guarantee won't be problematic in future? > > I'm nervous about this. Right now the MSI_IOVA is actually UAPI and > things like VFIO/qmeu need to accomodate it's placement in their own > memory maps.
*shrug* That's only the case for broken systems where the existing MSI_IOVA can't be made to work. As far as I'm concerned, they get to keep the pieces and will need to work on the userspace side. It's not like MSI_IOVA2 is magically going to work (and I bet it won't be tested). > Nicolin has some patches on the iommufd side to let userspace select > the MSI address instead, but they are not done yet. Maybe we should just wait for that? Carrying a temporary hack with ABI implications to support broken hardware isn't particularly compelling to me. > So, randomly picking an address sounds like a bad idea to me, it would > almost certainly unpredictably break qemu.. It's not really "random", in the sense that it would be deterministic for a given set of reserved regions. Will