From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:60143) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1XYivc-0000X2-Q9 for qemu-devel@nongnu.org; Mon, 29 Sep 2014 17:56:26 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1XYivX-0003Ax-4t for qemu-devel@nongnu.org; Mon, 29 Sep 2014 17:56:20 -0400 Received: from mail-we0-x22f.google.com ([2a00:1450:400c:c03::22f]:61707) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1XYivW-00039r-VB for qemu-devel@nongnu.org; Mon, 29 Sep 2014 17:56:15 -0400 Received: by mail-we0-f175.google.com with SMTP id q59so2671059wes.6 for ; Mon, 29 Sep 2014 14:56:09 -0700 (PDT) Sender: Paolo Bonzini Message-ID: <5429D577.8000105@redhat.com> Date: Mon, 29 Sep 2014 23:56:07 +0200 From: Paolo Bonzini MIME-Version: 1.0 References: <1411764332-23265-1-git-send-email-ehabkost@redhat.com> In-Reply-To: <1411764332-23265-1-git-send-email-ehabkost@redhat.com> Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit Subject: Re: [Qemu-devel] [PATCH v3 00/17] QOMify accelerator code List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Eduardo Habkost , qemu-devel@nongnu.org Cc: Michael Mueller , "Michael S. Tsirkin" , Marcel Apfelbaum , Alexander Graf , Christian Borntraeger , "Jason J. Herne" , =?UTF-8?B?QW5kcmVhcyBGw6Ry?= =?UTF-8?B?YmVy?= Il 26/09/2014 22:45, Eduardo Habkost ha scritto: > This is an attempt to convert the accel initialization and registration code > to be QOM-based. Some use cases for this are: > > * Isolating KVM-specific CPU initialization and compatibility code; > * Use compat_props to implement accelrator-specific compatibility code > on machine-types; > * Returning accelerator-specific information on the "query-cpu-definitions" > QMP command (e.g. "runnable" information; CPU features). > > Changes v2 -> v3: > * Rename hw/core/accel.c to accel.c > * Rename include/hw/accel.h to include/sysemu/accel.h > * Report unknown accelerator as "not found" instead of "does not exist" > * Squashed "accel: Create accel object when initializing machine" and > "accel: Save AccelState on MachineState when initializing" in a single > patch > > Changes v1 -> v2: > * Remove the TYPE_X86_ACCEL interface and KVM-specific changes, by now > (they will be submitted later). > * Introduce ACCEL_CLASS_NAME(s) macro. > > Cc: Michael Mueller > Cc: Christian Borntraeger > Cc: Alexander Graf > Cc: "Jason J. Herne" > Cc: Paolo Bonzini > Cc: Andreas Färber > Cc: Marcel Apfelbaum > Cc: "Michael S. Tsirkin" > > Eduardo Habkost (17): > vl.c: Small coding style fix > accel: Move accel code to accel.c > accel: Create AccelType typedef > accel: Simplify configure_accelerator() using AccelType *acc variable > accel: Move accel name lookup to separate function > accel: Use QOM classes for accel types > accel: Make AccelClass.available() optional > accel: Report unknown accelerator as "not found" instead of "does not > exist" > accel: Move KVM accel registration to kvm-all.c > accel: Move Xen registration code to xen-common.c > accel: Move qtest accel registration to qtest.c > accel: Remove tcg_available() function > accel: Move accel init/allowed code to separate function > accel: Rename 'init' method to 'init_machine' > accel: Pass MachineState object to accel init functions > accel: Create accel object when initializing machine > kvm: Make KVMState be the TYPE_KVM_ACCEL instance struct > > Makefile.objs | 1 + > accel.c | 157 +++++++++++++++++++++++++++++++++++++++++++++ > arch_init.c | 5 -- > include/hw/boards.h | 1 + > include/hw/xen/xen.h | 1 - > include/qemu/typedefs.h | 3 + > include/sysemu/accel.h | 62 ++++++++++++++++++ > include/sysemu/arch_init.h | 1 - > include/sysemu/kvm.h | 2 - > include/sysemu/qtest.h | 1 - > kvm-all.c | 40 ++++++++++-- > kvm-stub.c | 5 -- > qtest.c | 27 +++++++- > vl.c | 83 +----------------------- > xen-common-stub.c | 6 -- > xen-common.c | 25 +++++++- > 16 files changed, 311 insertions(+), 109 deletions(-) > create mode 100644 accel.c > create mode 100644 include/sysemu/accel.h > Reviewed-by: Paolo Bonzini