From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from [140.186.70.92] (port=57449 helo=eggs.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1Oz7Zk-0003Th-JI for qemu-devel@nongnu.org; Fri, 24 Sep 2010 08:40:29 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.69) (envelope-from ) id 1Oz7Zi-0007Ba-Sm for qemu-devel@nongnu.org; Fri, 24 Sep 2010 08:40:28 -0400 Received: from mx1.redhat.com ([209.132.183.28]:5562) by eggs.gnu.org with esmtp (Exim 4.69) (envelope-from ) id 1Oz7Zi-0007BL-LT for qemu-devel@nongnu.org; Fri, 24 Sep 2010 08:40:26 -0400 From: Markus Armbruster Subject: Re: [Qemu-devel] [PATCH] CMOS file support References: <1284645517-32743-1-git-send-email-mathias.krause@secunet.com> <4C924AB5.1030802@mail.berlios.de> <4C930DED.5050601@secunet.com> <4C934697.70102@redhat.com> <4C9350E9.6000300@secunet.com> Date: Fri, 24 Sep 2010 14:40:21 +0200 In-Reply-To: <4C9350E9.6000300@secunet.com> (Mathias Krause's message of "Fri, 17 Sep 2010 13:28:41 +0200") Message-ID: MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii List-Id: qemu-devel.nongnu.org List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Mathias Krause Cc: Kevin Wolf , qemu-devel@nongnu.org Mathias Krause writes: > Hi Kevin, > > On 17.09.2010 12:44, Kevin Wolf wrote: >> Hi Mathias, >> >> Am 17.09.2010 08:42, schrieb Mathias Krause: >>>> Using QEMU's block devices instead of a simple file would be >>>> more consistent with the rest of QEMU and allow reading the >>>> CMOS data not only from a file but also from an URL or other >>>> sources. >>> Thanks for the hint. Since this is my first contribution to the project >>> I'm not that familiar with the code. Looking at other places, e.g. how >>> the -kernel option gets handled, I just see FILE everywhere. Can you >>> give me some pointers how to use this interface? >> >> Have a look at block.h which contains the prototypes for the public >> block layer interface. >> >> Basically, you need to create a BlockDriverState with bdrv_new() and >> then open it with bdrv_open(). You'll want to specify the raw block >> driver for opening the image, you get it with bdrv_find_format("raw"). >> bdrv_pread/pwrite are the right functions to access the file with byte >> granularity (other functions work on 512 byte sectors). bdrv_delete >> frees the the BlockDriverState when you're done. > > Thank you for the detailed writeup. I think I should figure out how to > use it myself now. Albeit there seem to be not many users of this > interface right now. Looks like it's currently only used for storage > devices. So I'm questioning myself: What _real_ benefit would it bring > to use the QEMU block device layer for the CMOS file? I'd view initial CMOS contents as configuration. We don't use the block layer to access configuration files.