From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:53341) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1YXLBR-0003bg-Ho for qemu-devel@nongnu.org; Sun, 15 Mar 2015 22:55:18 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1YXLBM-00039s-Pm for qemu-devel@nongnu.org; Sun, 15 Mar 2015 22:55:13 -0400 Received: from [59.151.112.132] (port=1215 helo=heian.cn.fujitsu.com) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1YXLBM-00036y-Dm for qemu-devel@nongnu.org; Sun, 15 Mar 2015 22:55:08 -0400 Message-ID: <55064468.7010202@cn.fujitsu.com> Date: Mon, 16 Mar 2015 10:48:08 +0800 From: Chen Fan MIME-Version: 1.0 References: <18492b2679b3194f92b1ceefdbe4355bb840e660.1426155432.git.chen.fan.fnst@cn.fujitsu.com> <1426286305.3643.147.camel@redhat.com> In-Reply-To: <1426286305.3643.147.camel@redhat.com> Content-Type: text/plain; charset="utf-8"; format=flowed Content-Transfer-Encoding: 7bit Subject: Re: [Qemu-devel] [PATCH v5 7/7] pc: add PC_I440FX_COMPAT to disable aercap for vifo device List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Alex Williamson Cc: izumi.taku@jp.fujitsu.com, qemu-devel@nongnu.org On 03/14/2015 06:38 AM, Alex Williamson wrote: > On Thu, 2015-03-12 at 18:23 +0800, Chen Fan wrote: >> for piix4 chipset, we don't need to expose aer, so introduce >> PC_I440FX_COMPAT for all piix4 machines to disable aercap, >> and add HW_COMPAT_2_2 to disable aercap for all lower >> than 2.3. > 440FX is not PCIe, so it doesn't seem like we need to do anything there. > Shouldn't this only cover q35 machine types through 2.3? (QEMU 2.3 is > already in hard freeze afaik, this won't go in until after 2.4 > development opens). Thanks, Yes, 440Fx is not PCIe, so extended cap won't be parsed. I knew this patches won't be in QEMU 2.3. I want to wait for the 2.4 opens and then rebase this patch. Thanks, Chen > > Alex > >> Signed-off-by: Chen Fan >> --- >> hw/i386/pc_piix.c | 9 +++++++++ >> hw/i386/pc_q35.c | 4 ++++ >> include/hw/compat.h | 10 ++++++++++ >> 3 files changed, 23 insertions(+) >> >> diff --git a/hw/i386/pc_piix.c b/hw/i386/pc_piix.c >> index 8eab4ba..ff9d312 100644 >> --- a/hw/i386/pc_piix.c >> +++ b/hw/i386/pc_piix.c >> @@ -307,6 +307,11 @@ static void pc_init1(MachineState *machine, >> >> static void pc_init_pci(MachineState *machine) >> { >> + static GlobalProperty pc_compat_props[] = { >> + PC_I440FX_COMPAT, >> + { /* end of list */ } >> + }; >> + qdev_prop_register_global_list(pc_compat_props); >> pc_init1(machine, 1, 1); >> } >> >> @@ -534,6 +539,10 @@ static QEMUMachine pc_i440fx_machine_v2_2 = { >> PC_I440FX_2_2_MACHINE_OPTIONS, >> .name = "pc-i440fx-2.2", >> .init = pc_init_pci_2_2, >> + .compat_props = (GlobalProperty[]) { >> + HW_COMPAT_2_2, >> + { /* end of list */ } >> + }, >> }; >> >> #define PC_I440FX_2_1_MACHINE_OPTIONS \ >> diff --git a/hw/i386/pc_q35.c b/hw/i386/pc_q35.c >> index c0f21fe..97afb7d 100644 >> --- a/hw/i386/pc_q35.c >> +++ b/hw/i386/pc_q35.c >> @@ -431,6 +431,10 @@ static QEMUMachine pc_q35_machine_v2_2 = { >> PC_Q35_2_2_MACHINE_OPTIONS, >> .name = "pc-q35-2.2", >> .init = pc_q35_init_2_2, >> + .compat_props = (GlobalProperty[]) { >> + HW_COMPAT_2_2, >> + { /* end of list */ } >> + }, >> }; >> >> #define PC_Q35_2_1_MACHINE_OPTIONS \ >> diff --git a/include/hw/compat.h b/include/hw/compat.h >> index 313682a..40c974a 100644 >> --- a/include/hw/compat.h >> +++ b/include/hw/compat.h >> @@ -1,7 +1,17 @@ >> #ifndef HW_COMPAT_H >> #define HW_COMPAT_H >> >> +#define HW_COMPAT_2_2 PC_I440FX_COMPAT >> + >> +#define PC_I440FX_COMPAT \ >> + {\ >> + .driver = "vfio-pci",\ >> + .property = "x-aer",\ >> + .value = "off",\ >> + } >> + >> #define HW_COMPAT_2_1 \ >> + HW_COMPAT_2_2, \ >> {\ >> .driver = "intel-hda",\ >> .property = "old_msi_addr",\ > > > . >