Definitely not suggesting to install an invalid pointer anywhere. The mapped pointer will still be valid for gmem for example, but the fault isn't. We need to differenciate two things (1) virtual address mapping, then (2) permission and accesses on the folios / pages of the mapping. Here I think it's okay if the host pointer is correctly mapped. For your private MMIO use case, my question is if there's no host pointer to be mapped anyway, then what's the benefit to make the MR to be ram=on? Can we simply make it a normal IO memory region? The only benefit of a ram=on MR is, IMHO, being able to be accessed as RAM-like. If there's no host pointer at all, I don't yet understand how that helps private MMIO from working.
Same here. -- Cheers, David / dhildenb