From patchwork Mon Apr 26 17:44:19 2010 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Markus Armbruster X-Patchwork-Id: 50985 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Received: from lists.gnu.org (lists.gnu.org [199.232.76.165]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (Client did not present a certificate) by ozlabs.org (Postfix) with ESMTPS id 8930CB7D2F for ; Tue, 27 Apr 2010 03:47:19 +1000 (EST) Received: from localhost ([127.0.0.1]:56030 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1O6SOT-0004k9-0k for incoming@patchwork.ozlabs.org; Mon, 26 Apr 2010 13:46:53 -0400 Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1O6SMM-0004fO-4D for qemu-devel@nongnu.org; Mon, 26 Apr 2010 13:44:42 -0400 Received: from [140.186.70.92] (port=43329 helo=eggs.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1O6SMB-0004QT-DQ for qemu-devel@nongnu.org; Mon, 26 Apr 2010 13:44:39 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.69) (envelope-from ) id 1O6SM4-00042a-JJ for qemu-devel@nongnu.org; Mon, 26 Apr 2010 13:44:31 -0400 Received: from mx1.redhat.com ([209.132.183.28]:61589) by eggs.gnu.org with esmtp (Exim 4.69) (envelope-from ) id 1O6SM4-000420-2U for qemu-devel@nongnu.org; Mon, 26 Apr 2010 13:44:24 -0400 Received: from int-mx01.intmail.prod.int.phx2.redhat.com (int-mx01.intmail.prod.int.phx2.redhat.com [10.5.11.11]) by mx1.redhat.com (8.13.8/8.13.8) with ESMTP id o3QHiMQE000933 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK) for ; Mon, 26 Apr 2010 13:44:22 -0400 Received: from blackfin.pond.sub.org (ovpn01.gateway.prod.ext.phx2.redhat.com [10.5.9.1]) by int-mx01.intmail.prod.int.phx2.redhat.com (8.13.8/8.13.8) with ESMTP id o3QHiKTT003464; Mon, 26 Apr 2010 13:44:21 -0400 Received: by blackfin.pond.sub.org (Postfix, from userid 500) id B80D680; Mon, 26 Apr 2010 19:44:19 +0200 (CEST) From: Markus Armbruster To: qemu-devel@nongnu.org Date: Mon, 26 Apr 2010 19:44:19 +0200 Message-ID: User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/23.1 (gnu/linux) MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.67 on 10.5.11.11 X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. Cc: Luiz Capitulino Subject: [Qemu-devel] [PATCH] Revert "PCI: Convert pci_device_hot_add() to QObject" X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: qemu-devel.nongnu.org List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org Errors-To: qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org We don't want pci_add in QMP. Use device_add instead. This reverts commit 7a344f7ac7bb651d0556a933ed8060d3a9e5d949. Conflicts: hw/pci-hotplug.c sysemu.h Signed-off-by: Markus Armbruster --- hw/pci-hotplug.c | 46 +++++----------------------------------------- qemu-monitor.hx | 3 +-- sysemu.h | 3 +-- 3 files changed, 7 insertions(+), 45 deletions(-) diff --git a/hw/pci-hotplug.c b/hw/pci-hotplug.c index cc45c50..22a7ce4 100644 --- a/hw/pci-hotplug.c +++ b/hw/pci-hotplug.c @@ -33,7 +33,6 @@ #include "scsi.h" #include "virtio-blk.h" #include "qemu-config.h" -#include "qemu-objects.h" #if defined(TARGET_I386) static PCIDevice *qemu_pci_hot_add_nic(Monitor *mon, @@ -224,36 +223,7 @@ static PCIDevice *qemu_pci_hot_add_storage(Monitor *mon, return dev; } -void pci_device_hot_add_print(Monitor *mon, const QObject *data) -{ - QDict *qdict; - - assert(qobject_type(data) == QTYPE_QDICT); - qdict = qobject_to_qdict(data); - - monitor_printf(mon, "OK domain %d, bus %d, slot %d, function %d\n", - (int) qdict_get_int(qdict, "domain"), - (int) qdict_get_int(qdict, "bus"), - (int) qdict_get_int(qdict, "slot"), - (int) qdict_get_int(qdict, "function")); - -} - -/** - * pci_device_hot_add(): Hot add a PCI device - * - * Return a QDict with the following device information: - * - * - "domain": domain number - * - "bus": bus number - * - "slot": slot number - * - "function": function number - * - * Example: - * - * { "domain": 0, "bus": 0, "slot": 5, "function": 0 } - */ -int pci_device_hot_add(Monitor *mon, const QDict *qdict, QObject **ret_data) +void pci_device_hot_add(Monitor *mon, const QDict *qdict) { PCIDevice *dev = NULL; const char *pci_addr = qdict_get_str(qdict, "pci_addr"); @@ -278,20 +248,14 @@ int pci_device_hot_add(Monitor *mon, const QDict *qdict, QObject **ret_data) dev = qemu_pci_hot_add_storage(mon, pci_addr, opts); } else { monitor_printf(mon, "invalid type: %s\n", type); - return -1; } if (dev) { - *ret_data = - qobject_from_jsonf("{ 'domain': 0, 'bus': %d, 'slot': %d, " - "'function': %d }", pci_bus_num(dev->bus), - PCI_SLOT(dev->devfn), PCI_FUNC(dev->devfn)); - } else { + monitor_printf(mon, "OK domain %d, bus %d, slot %d, function %d\n", + 0, pci_bus_num(dev->bus), PCI_SLOT(dev->devfn), + PCI_FUNC(dev->devfn)); + } else monitor_printf(mon, "failed to add %s\n", opts); - return -1; - } - - return 0; } #endif diff --git a/qemu-monitor.hx b/qemu-monitor.hx index 5ea5748..501f9de 100644 --- a/qemu-monitor.hx +++ b/qemu-monitor.hx @@ -859,8 +859,7 @@ ETEXI .args_type = "pci_addr:s,type:s,opts:s?", .params = "auto|[[:]:] nic|storage [[vlan=n][,macaddr=addr][,model=type]] [file=file][,if=type][,bus=nr]...", .help = "hot-add PCI device", - .user_print = pci_device_hot_add_print, - .mhandler.cmd_new = pci_device_hot_add, + .mhandler.cmd = pci_device_hot_add, }, #endif diff --git a/sysemu.h b/sysemu.h index d0effa0..fcfccdf 100644 --- a/sysemu.h +++ b/sysemu.h @@ -199,8 +199,7 @@ extern DriveInfo *drive_init(QemuOpts *arg, void *machine, int *fatal_error); DriveInfo *add_init_drive(const char *opts); /* pci-hotplug */ -void pci_device_hot_add_print(Monitor *mon, const QObject *data); -int pci_device_hot_add(Monitor *mon, const QDict *qdict, QObject **ret_data); +void pci_device_hot_add(Monitor *mon, const QDict *qdict); void drive_hot_add(Monitor *mon, const QDict *qdict); int pci_device_hot_remove(Monitor *mon, const char *pci_addr); int do_pci_device_hot_remove(Monitor *mon, const QDict *qdict,