From mboxrd@z Thu Jan 1 00:00:00 1970 From: Markus Armbruster Subject: Re: [Qemu-devel] [RFC PATCH 1/5] qdev: Create qdev_get_dev_path() Date: Mon, 14 Jun 2010 08:39:01 +0200 Message-ID: References: <20100614054923.879.33717.stgit@localhost.localdomain> <20100614055119.879.92321.stgit@localhost.localdomain> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Cc: qemu-devel@nongnu.org, chrisw@redhat.com, kvm@vger.kernel.org, paul@codesourcery.com, kraxel@redhat.com, avi@redhat.com To: Alex Williamson Return-path: Received: from mx1.redhat.com ([209.132.183.28]:52019 "EHLO mx1.redhat.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1754443Ab0FNGjN (ORCPT ); Mon, 14 Jun 2010 02:39:13 -0400 In-Reply-To: <20100614055119.879.92321.stgit@localhost.localdomain> (Alex Williamson's message of "Sun, 13 Jun 2010 23:51:19 -0600") Sender: kvm-owner@vger.kernel.org List-ID: Alex Williamson writes: > qdev_get_dev_path() is intended to be the canonical utility for creating > a string representing the qdev hierarchy of a device. The path consists > of bus and device names as well as identified properties of the immediate > parent bus and device. This results in strings like: > > "/main-system-bus/pci.0,addr=00.0/i440FX" > "/main-system-bus/pci.0,addr=01.0/PIIX3" > "/main-system-bus/pci.0,addr=02.0/cirrus-vga" > "/main-system-bus/pci.0/isa.0/mc146818rtc" > "/main-system-bus/pci.0/isa.0/isa-serial" > "/main-system-bus/pci.0/isa.0/i8042" > "/main-system-bus/pci.0/isa.0/isa-fdc" > "/main-system-bus/pci.0,addr=03.0/i82551,mac=52:54:00:12:34:56" > "/main-system-bus/pci.0,addr=04.0/virtio-net-pci,mac=52:54:00:12:34:57" > "/main-system-bus/pci.0,addr=05.0/e1000,mac=52:54:00:12:34:58" > "/main-system-bus/pci.0,addr=06.0/rtl8139,mac=52:54:00:12:34:59" > "/main-system-bus/pci.0,addr=07.0/pcnet,mac=52:54:00:12:34:5a" > "/main-system-bus/pci.0,addr=01.1/piix3-ide" > "/main-system-bus/pci.0,addr=01.3/PIIX4_PM" > "/main-system-bus/pci.0,addr=08.0/lsi53c895a" > "/main-system-bus/pci.0,addr=09.0/virtio-blk-pci" > > There are two primary targets for these strings. The first is vmsave, where > we currently use a device provided string plus instance number to track > SaveStateEntries. This fails when we introduce device hotplug, particularly > in a case were we have gaps in the instance numbers that cannot easily be > reproduced on a migration target. The second is for naming RAMBlocks. For > these, we would like a string that matches the vmstate string. Could you explain why you add "identified properties of the immediate parent bus and device"? They make the result ver much *not* a "dev path" in the qdev sense...