From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1NKGWA-0003XQ-53 for qemu-devel@nongnu.org; Mon, 14 Dec 2009 14:23:38 -0500 Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1NKGW3-0003Qf-Q8 for qemu-devel@nongnu.org; Mon, 14 Dec 2009 14:23:36 -0500 Received: from [199.232.76.173] (port=41575 helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1NKGW3-0003QL-D4 for qemu-devel@nongnu.org; Mon, 14 Dec 2009 14:23:31 -0500 Received: from mx1.redhat.com ([209.132.183.28]:30386) by monty-python.gnu.org with esmtp (Exim 4.60) (envelope-from ) id 1NKGW2-0000tL-VO for qemu-devel@nongnu.org; Mon, 14 Dec 2009 14:23:31 -0500 Date: Mon, 14 Dec 2009 21:20:46 +0200 From: "Michael S. Tsirkin" Message-ID: <20091214192046.GC6100@redhat.com> References: <20091213204341.GA25823@redhat.com> <4B260846.9020503@redhat.com> <20091214094255.GA32140@redhat.com> <4B261269.7080801@redhat.com> <20091214111046.GB32355@redhat.com> <4B262379.1060009@redhat.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <4B262379.1060009@redhat.com> Subject: [Qemu-devel] Re: [PATCH RFC] virtio: add features qdev property List-Id: qemu-devel.nongnu.org List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Gerd Hoffmann Cc: qemu-devel@nongnu.org On Mon, Dec 14, 2009 at 12:37:29PM +0100, Gerd Hoffmann wrote: > On 12/14/09 12:10, Michael S. Tsirkin wrote: >> On Mon, Dec 14, 2009 at 11:24:41AM +0100, Gerd Hoffmann wrote: >> for block: >> if (strcmp(s->serial_str, "0")) >> features |= 1<< VIRTIO_BLK_F_IDENTIFY; >> >> if (bdrv_is_read_only(s->bs)) >> features |= 1<< VIRTIO_BLK_F_RO; > > Sure you want these be configurable? > >> Also, I'd like these things to be saved in bits and not add a ton >> of fields in device. Ideas how to do this? > > I guess you only want disable features? > > You could have a bitmap property then, which accepts names for the bits. > It would need a table like this ... > > char *bitnames[] = { > [ VIRTIO_BLK_F_IDENTIFY ] = "blk-identify", > [ VIRTIO_BLK_F_RO [ = "blk-ro", > [ ... ] > }; > > Then the property parser would accepts strings such as 'bit1|bit2' and > you can have > > -device 'virtio-blk-pci,disable=blk-identify|ring-indirect' > > The driver will just do 'vdev->host_features &= ~disable'. > > cheers, > Gerd Is there an example of an existing property that is like this? -- MST