On 01/03/2018 11:33, Liu, Yi L wrote: > > +struct IntelIOMMUAssignedDeviceNode { > + VTDAddressSpace *vtd_as; > + QLIST_ENTRY(IntelIOMMUAssignedDeviceNode) next; > +}; > +
This QLIST_ENTRY can also be placed directly in VTDAddressSpace (e.g. next_assigned_dev), so that the notify function can simply do a QLIST_REMOVE when an assigned device is hot-unplugged. Does the notify_func need an "unbind from PASID address space" step, that does the opposite of vtd_bind_device_to_pasid_as? Paolo