On 09/11/2014 07:17 AM, Alexander Graf wrote:
> 
> 
> On 10.09.14 17:00, Alexey Kardashevskiy wrote:
>> On 09/10/2014 11:03 PM, Alexander Graf wrote:
>>>
>>>
>>> On 29.08.14 12:12, Alexey Kardashevskiy wrote:
>>>> This implements DDW for VFIO. Host kernel support is required for this.
>>>>
>>>> After this patch DDW will be enabled on all machines but pseries-2.1.
>>>
>>> I fail to see the code that restricts DDW to pseries-2.1. Can you please
>>> point me to it?
>>
>> Patch "[RFC PATCH v3 13/18] spapr_pci: Enable DDW" which enables DDW on
>> spapr-pci disables it for the current machine by default.
>>
>> Since spapr-pci-vfio inherits from spapr-pci, this property is off for
>> pseries-2.1 as well (I checked).
> 
> Ah, I see. The logic is still reversed. Old machine types get compat
> options, new machine types don't. So the default should be "ddw enabled"
> and pseries-2.1 gets a compat field saying "disable ddw".

I lost you here, sorry. "[RFC PATCH v3 13/18] spapr_pci: Enable DDW" once
again:

 static void spapr_machine_2_1_class_init(ObjectClass *oc, void *data)
 {
     MachineClass *mc = MACHINE_CLASS(oc);
+    static GlobalProperty compat_props[] = {
+        {
+            .driver   = TYPE_SPAPR_PCI_HOST_BRIDGE,
+            .property = "ddw",
+            .value    = stringify(off),
+        },
+        { /* end of list */ }
+    };

[...]

@@ -682,6 +758,7 @@ static Property spapr_phb_properties[] = {
     DEFINE_PROP_UINT64("io_win_addr", sPAPRPHBState, io_win_addr, -1),
     DEFINE_PROP_UINT64("io_win_size", sPAPRPHBState, io_win_size,
                        SPAPR_PCI_IO_WIN_SIZE),
+    DEFINE_PROP_BOOL("ddw", sPAPRPHBState, ddw_enabled, true),
     DEFINE_PROP_END_OF_LIST(),
 };


What is wrong here?


-- 
Alexey

Reply via email to