mirror of https://github.com/torvalds/linux.git
vfio: Dump migration features under debugfs
A debugfs directory was recently added for VFIO devices. Add a new "features" file under the migration sub-directory to expose which features the device supports. Signed-off-by: Cédric Le Goater <clg@redhat.com> Link: https://lore.kernel.org/r/20250918121928.1921871-1-clg@redhat.com Signed-off-by: Alex Williamson <alex.williamson@redhat.com>
This commit is contained in:
parent
d14de5b925
commit
451bb96328
|
|
@ -23,3 +23,9 @@ Contact: Longfang Liu <liulongfang@huawei.com>
|
|||
Description: Read the live migration status of the vfio device.
|
||||
The contents of the state file reflects the migration state
|
||||
relative to those defined in the vfio_device_mig_state enum
|
||||
|
||||
What: /sys/kernel/debug/vfio/<device>/migration/features
|
||||
Date: Oct 2025
|
||||
KernelVersion: 6.18
|
||||
Contact: Cédric Le Goater <clg@redhat.com>
|
||||
Description: Read the migration features of the vfio device.
|
||||
|
|
|
|||
|
|
@ -58,6 +58,23 @@ static int vfio_device_state_read(struct seq_file *seq, void *data)
|
|||
return 0;
|
||||
}
|
||||
|
||||
static int vfio_device_features_read(struct seq_file *seq, void *data)
|
||||
{
|
||||
struct device *vf_dev = seq->private;
|
||||
struct vfio_device *vdev = container_of(vf_dev, struct vfio_device, device);
|
||||
|
||||
if (vdev->migration_flags & VFIO_MIGRATION_STOP_COPY)
|
||||
seq_puts(seq, "stop-copy\n");
|
||||
if (vdev->migration_flags & VFIO_MIGRATION_P2P)
|
||||
seq_puts(seq, "p2p\n");
|
||||
if (vdev->migration_flags & VFIO_MIGRATION_PRE_COPY)
|
||||
seq_puts(seq, "pre-copy\n");
|
||||
if (vdev->log_ops)
|
||||
seq_puts(seq, "dirty-tracking\n");
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
void vfio_device_debugfs_init(struct vfio_device *vdev)
|
||||
{
|
||||
struct device *dev = &vdev->device;
|
||||
|
|
@ -72,6 +89,8 @@ void vfio_device_debugfs_init(struct vfio_device *vdev)
|
|||
vdev->debug_root);
|
||||
debugfs_create_devm_seqfile(dev, "state", vfio_dev_migration,
|
||||
vfio_device_state_read);
|
||||
debugfs_create_devm_seqfile(dev, "features", vfio_dev_migration,
|
||||
vfio_device_features_read);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue