vfio/igd: return an invalid generation for unknown devices

Intel changes it's specification quite often e.g. the location and size
of the BDSM register has change for gen 11 devices and later. This
causes our emulation to fail on those devices. So, it's impossible for
us to use a suitable default value for unknown devices. Instead of
returning a random generation value and hoping that everthing works
fine, we should verify that different devices are working and add them
to our list of known devices.

Signed-off-by: Corvin Köhne <c.koehne@beckhoff.com>
Reviewed-by: Alex Williamson <alex.williamson@redhat.com>
This commit is contained in:
Corvin Köhne 2024-08-28 15:43:22 +02:00 committed by Cédric Le Goater
parent 4bd683d6f1
commit e433f20897

View File

@ -90,7 +90,11 @@ static int igd_gen(VFIOPCIDevice *vdev)
return 8;
}
return 8; /* Assume newer is compatible */
/*
* Unfortunately, Intel changes it's specification quite often. This makes
* it impossible to use a suitable default value for unknown devices.
*/
return -1;
}
typedef struct VFIOIGDQuirk {