vfio, platform: make reset driver a requirement by default
authorSinan Kaya <okaya@codeaurora.org>
Tue, 19 Jul 2016 13:01:47 +0000 (09:01 -0400)
committerAlex Williamson <alex.williamson@redhat.com>
Tue, 19 Jul 2016 16:26:46 +0000 (10:26 -0600)
commitb5add544d677d36386c3559cf5db1485b59c4d7d
treea0e8a1f56b2fbdb9fdef04bbd14857e792b3cde7
parentd30daa33ec1d035acfdfc7662d7a5360592af44c
vfio, platform: make reset driver a requirement by default

The code was allowing platform devices to be used without a supporting
VFIO reset driver. The hardware can be left in some inconsistent state
after a guest machine abort.

The reset driver will put the hardware back to safe state and disable
interrupts before returning the control back to the host machine.

Adding a new reset_required kernel module option to platform VFIO drivers.
The default value is true for the DT and ACPI based drivers.
The reset requirement value for AMBA drivers is set to false and is
unchangeable to maintain the existing functionality.

New requirements are:
1. A reset function needs to be implemented by the corresponding driver
via DT/ACPI.
2. The reset function needs to be discovered via DT/ACPI.

The probe of the driver will fail if any of the above conditions are
not satisfied.

Signed-off-by: Sinan Kaya <okaya@codeaurora.org>
Signed-off-by: Alex Williamson <alex.williamson@redhat.com>
drivers/vfio/platform/vfio_amba.c
drivers/vfio/platform/vfio_platform.c
drivers/vfio/platform/vfio_platform_common.c
drivers/vfio/platform/vfio_platform_private.h