qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [RFC v3 02/19] vfio-user: add VFIO base abstract class


From: John Johnson
Subject: Re: [RFC v3 02/19] vfio-user: add VFIO base abstract class
Date: Tue, 7 Dec 2021 07:47:34 +0000


> On Nov 19, 2021, at 2:42 PM, Alex Williamson <alex.williamson@redhat.com> 
> wrote:
> 
> On Mon,  8 Nov 2021 16:46:30 -0800
> John Johnson <john.g.johnson@oracle.com> wrote:
> 
>> +
>> +static Property vfio_pci_dev_properties[] = {
>> +    DEFINE_PROP_PCI_HOST_DEVADDR("host", VFIOPCIDevice, host),
>> +    DEFINE_PROP_STRING("sysfsdev", VFIOPCIDevice, vbasedev.sysfsdev),
>>     DEFINE_PROP_ON_OFF_AUTO("display", VFIOPCIDevice,
>>                             display, ON_OFF_AUTO_OFF),
>>     DEFINE_PROP_UINT32("xres", VFIOPCIDevice, display_xres, 0),
>>     DEFINE_PROP_UINT32("yres", VFIOPCIDevice, display_yres, 0),
>> -    DEFINE_PROP_UINT32("x-intx-mmap-timeout-ms", VFIOPCIDevice,
>> -                       intx.mmap_timeout, 1100),
>>     DEFINE_PROP_BIT("x-vga", VFIOPCIDevice, features,
>>                     VFIO_FEATURE_ENABLE_VGA_BIT, false),
>>     DEFINE_PROP_BIT("x-req", VFIOPCIDevice, features,
>>                     VFIO_FEATURE_ENABLE_REQ_BIT, true),
>>     DEFINE_PROP_BIT("x-igd-opregion", VFIOPCIDevice, features,
>>                     VFIO_FEATURE_ENABLE_IGD_OPREGION_BIT, false),
>> -    DEFINE_PROP_BOOL("x-enable-migration", VFIOPCIDevice,
>> -                     vbasedev.enable_migration, false),
>> -    DEFINE_PROP_BOOL("x-no-mmap", VFIOPCIDevice, vbasedev.no_mmap, false),
>>     DEFINE_PROP_BOOL("x-balloon-allowed", VFIOPCIDevice,
>>                      vbasedev.ram_block_discard_allowed, false),
>> -    DEFINE_PROP_BOOL("x-no-kvm-intx", VFIOPCIDevice, no_kvm_intx, false),
>> -    DEFINE_PROP_BOOL("x-no-kvm-msi", VFIOPCIDevice, no_kvm_msi, false),
>> -    DEFINE_PROP_BOOL("x-no-kvm-msix", VFIOPCIDevice, no_kvm_msix, false),
>>     DEFINE_PROP_BOOL("x-no-geforce-quirks", VFIOPCIDevice,
>>                      no_geforce_quirks, false),
>> -    DEFINE_PROP_BOOL("x-no-kvm-ioeventfd", VFIOPCIDevice, no_kvm_ioeventfd,
>> -                     false),
>> -    DEFINE_PROP_BOOL("x-no-vfio-ioeventfd", VFIOPCIDevice, 
>> no_vfio_ioeventfd,
>> -                     false),
>>     DEFINE_PROP_UINT32("x-pci-vendor-id", VFIOPCIDevice, vendor_id, 
>> PCI_ANY_ID),
>>     DEFINE_PROP_UINT32("x-pci-device-id", VFIOPCIDevice, device_id, 
>> PCI_ANY_ID),
>>     DEFINE_PROP_UINT32("x-pci-sub-vendor-id", VFIOPCIDevice,
> 
> 
> Not sure I understand some of these choices.  The kernel interface
> options like "host" and "sysfsdev" obviously belong here, and it makes
> sense for quirks related to real hardware to be here, igd, nvidia, gpu
> direct, etc.  But the rest I'm a bit lost.  Why would overriding the
> PCI IDs, disabling ballooning, disabling the device request interrupt,
> enabling exposing a VGA region, supporting a display, be unique to the
> kernel interface?  Thanks,
> 


        I thought the overrides were workarounds for broken HW.  I don’t
see a problem with supporting them; it just seemed unnecessary extra code.

        The VGA properties are intentionally deleted, as we do not support
graphics console displays.  That could be added as an later RFE if there is
interest in libvfio-user based graphics device emulation.

                                                                JJ


reply via email to

[Prev in Thread] Current Thread [Next in Thread]