On 01/19/2017 06:36 AM, Alex Williamson wrote: > On Sat, 31 Dec 2016 17:13:08 +0800 > Cao jin <caoj.f...@cn.fujitsu.com> wrote: > >> From: Chen Fan <chen.fan.f...@cn.fujitsu.com> >> >> Add 'aer' property, let user choose whether expose the aer capability >> or not. > > But that's not what it does, it only controls the behavior in response > to non-fatal errors, the capability is exposed regardless. >
This commit log is legacy, and defaults to off is a result of the configuration restriction & your previous discussion, right? In current version, if 'aer' property is off, we just allocate the config space via pcie_add_capability(), we don't init the AER capability, the value is all 0s there, so does that still mean "capability is exposed regardless"? >> Should disable aer feature by default, because only non-fatal >> error is supported now. > > Why does that mean it should be disabled by default? What bad thing > happens if we enable this opportunistically? > >> Signed-off-by: Chen Fan <chen.fan.f...@cn.fujitsu.com> >> Signed-off-by: Dou Liyang <douly.f...@cn.fujitsu.com> >> Signed-off-by: Cao jin <caoj.f...@cn.fujitsu.com> >> --- >> hw/vfio/pci.c | 2 ++ >> 1 file changed, 2 insertions(+) >> >> diff --git a/hw/vfio/pci.c b/hw/vfio/pci.c >> index 9861f72..fc9db66 100644 >> --- a/hw/vfio/pci.c >> +++ b/hw/vfio/pci.c >> @@ -3057,6 +3057,8 @@ static Property vfio_pci_dev_properties[] = { >> DEFINE_PROP_UINT32("x-pci-sub-device-id", VFIOPCIDevice, >> sub_device_id, PCI_ANY_ID), >> DEFINE_PROP_UINT32("x-igd-gms", VFIOPCIDevice, igd_gms, 0), >> + DEFINE_PROP_BIT("aer", VFIOPCIDevice, features, >> + VFIO_FEATURE_ENABLE_AER_BIT, false), >> /* >> * TODO - support passed fds... is this necessary? >> * DEFINE_PROP_STRING("vfiofd", VFIOPCIDevice, vfiofd_name), > > > > . > -- Sincerely, Cao jin