From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:60392) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1YYDwP-0006bZ-B7 for qemu-devel@nongnu.org; Wed, 18 Mar 2015 09:23:22 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1YYDwJ-0003q0-Sj for qemu-devel@nongnu.org; Wed, 18 Mar 2015 09:23:21 -0400 Received: from mx1.redhat.com ([209.132.183.28]:36026) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1YYDwJ-0003pv-L2 for qemu-devel@nongnu.org; Wed, 18 Mar 2015 09:23:15 -0400 Date: Wed, 18 Mar 2015 14:23:06 +0100 From: "Michael S. Tsirkin" Message-ID: <20150318142205-mutt-send-email-mst@redhat.com> References: <18492b2679b3194f92b1ceefdbe4355bb840e660.1426155432.git.chen.fan.fnst@cn.fujitsu.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <18492b2679b3194f92b1ceefdbe4355bb840e660.1426155432.git.chen.fan.fnst@cn.fujitsu.com> 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: Chen Fan Cc: izumi.taku@jp.fujitsu.com, alex.williamson@redhat.com, qemu-devel@nongnu.org typo in subject: vfio, not vifo. On Thu, Mar 12, 2015 at 06:23:59PM +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. > > Signed-off-by: Chen Fan Well vfio is never migrated ATM. So why is compat code needed at all? > --- > 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",\ > -- > 1.9.3 >