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. HTH, Kevin