On Tue, 22 Dec 2020 20:16:03 -0500 Tony Krowiak <akrowiak@xxxxxxxxxxxxx> wrote: > This patch intruduces an extension to the ap bus to notify device drivers > when the host AP configuration changes - i.e., adapters, domains or > control domains are added or removed. To that end, two new callbacks are > introduced for AP device drivers: > > void (*on_config_changed)(struct ap_config_info *new_config_info, > struct ap_config_info *old_config_info); > > This callback is invoked at the start of the AP bus scan > function when it determines that the host AP configuration information > has changed since the previous scan. This is done by storing > an old and current QCI info struct and comparing them. If there is any > difference, the callback is invoked. > > Note that when the AP bus scan detects that AP adapters, domains or > control domains have been removed from the host's AP configuration, it > will remove the associated devices from the AP bus subsystem's device > model. This callback gives the device driver a chance to respond to > the removal of the AP devices from the host configuration prior to > calling the device driver's remove callback. The primary purpose of > this callback is to allow the vfio_ap driver to do a bulk unplug of > all affected adapters, domains and control domains from affected > guests rather than unplugging them one at a time when the remove > callback is invoked. > > void (*on_scan_complete)(struct ap_config_info *new_config_info, > struct ap_config_info *old_config_info); > > The on_scan_complete callback is invoked after the ap bus scan is > complete if the host AP configuration data has changed. > > Note that when the AP bus scan detects that adapters, domains or > control domains have been added to the host's configuration, it will > create new devices in the AP bus subsystem's device model. The primary > purpose of this callback is to allow the vfio_ap driver to do a bulk > plug of all affected adapters, domains and control domains into > affected guests rather than plugging them one at a time when the > probe callback is invoked. > > Please note that changes to the apmask and aqmask do not trigger > these two callbacks since the bus scan function is not invoked by changes > to those masks. > > Signed-off-by: Harald Freudenberger <freude@xxxxxxxxxxxxx> > Signed-off-by: Tony Krowiak <akrowiak@xxxxxxxxxxxxx> Reviewed-by: Halil Pasic <pasic@xxxxxxxxxxxxx> [..]