From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1MlRYG-0006eH-34 for qemu-devel@nongnu.org; Wed, 09 Sep 2009 14:05:52 -0400 Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1MlRYB-0006bl-RT for qemu-devel@nongnu.org; Wed, 09 Sep 2009 14:05:51 -0400 Received: from [199.232.76.173] (port=53572 helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1MlRYA-0006bY-Lg for qemu-devel@nongnu.org; Wed, 09 Sep 2009 14:05:46 -0400 Received: from mail-ew0-f221.google.com ([209.85.219.221]:63947) by monty-python.gnu.org with esmtp (Exim 4.60) (envelope-from ) id 1MlRYA-0007qh-1j for qemu-devel@nongnu.org; Wed, 09 Sep 2009 14:05:46 -0400 Received: by ewy21 with SMTP id 21so624776ewy.8 for ; Wed, 09 Sep 2009 11:05:45 -0700 (PDT) MIME-Version: 1.0 From: Blue Swirl Date: Wed, 9 Sep 2009 21:05:25 +0300 Message-ID: Content-Type: text/plain; charset=UTF-8 Subject: [Qemu-devel] [PATCH, RFC 0/5] Improve device info handling v2 List-Id: qemu-devel.nongnu.org List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel Hello, Current monitor assumes certain functions are always available. Because of the shortcomings of the API, devices have to keep some kind of global state available with static variables, which is ugly. Add info command registration to the API and make some devices use it. User visible monitor commands change: 'info' is replaced by 'dev_info' and also the parameter name may change, for example 'pic' becomes 'i8259.state'. I'm not too happy about this, maybe 'info' should also handle registered devices. v2: Use a structure to describe the function, thanks to Gerd Hoffmann for the idea. Update to QDict. Blue Swirl (5): monitor: add device info infrastructure x86/Sparc32: use device info for pic and irq PCI: use device info x86: use device info for hpet PPC: use device info for CPU statistics cpu-all.h | 3 -- hw/an5206.c | 9 ------ hw/arm_pic.c | 10 ------- hw/cris_pic_cpu.c | 5 --- hw/i8259.c | 51 +++++++++++++++++++++------------- hw/microblaze_pic_cpu.c | 5 --- hw/pc.c | 12 ++++++++ hw/pc.h | 2 - hw/pci.c | 51 +++++++++++++++++++--------------- hw/pci.h | 2 - hw/shix.c | 10 ------- hw/slavio_intctl.c | 26 +++++++++++------- hw/sun4c_intctl.c | 16 +++++++++- hw/sun4m.c | 15 +--------- hw/sun4m.h | 8 ----- hw/sun4u.c | 8 ----- monitor.c | 70 ++++++++++++++++++++++++++--------------------- monitor.h | 10 +++++++ qemu-monitor.hx | 17 +++++------- target-ppc/cpu.h | 2 + target-ppc/helper.c | 4 +++ target-ppc/translate.c | 45 ++++++++++++++++++++---------- vl.c | 18 ++++++------ 23 files changed, 204 insertions(+), 195 deletions(-)