On Fri, Sep 19, 2025 at 12:38:45AM -0700, Shameer Kolothum wrote:
> My suggestion was...
>
> static AddressSpace *smmuv3_accel_find_add_as(..)
> {
> ...
> if (vfio_pci) {
> return &address_space_memory;
> } else {
> return &sdev->as;
> }
> }
>
> ie, use the global to system memory address space instead of creating an
> alias to the system memory and a different address space. This will provide
> the same pointer to VFIO/iommufd and it can then reuse the ioas_id.
> I can see that QEMU uses "&address_space_memory" directly in many places
> (pci_device_iommu_address_space(), etc). I think the idea behind a separate
> address space is to have private ownership and lifetime management probably.
> Not sure there are any other concerns here. Please let me know if there are
> any.
Oh, I misunderstood.
Yea, given that address_space_memory comes from the system_memory:
system/physmem.c:2824: address_space_init(&address_space_memory,
system_memory, "memory");
I suppose it should work. That way will be cleaner.
Thanks
Nicolin