Howdy, Lately, the lack of a configuration file is making my life a bit painful. I thought it was time to at least take a shot at it and perhaps get the ball rolling. Here's what I came up with. The configuration file is INI-style. I thought since we have so many devices, each with their own configuration needs, the structure made sense logically. The first section in the file is implicit so you can write a very simple config file without even realizing it's an INI. It also supports python-style interpolation. This allows you to specify an option based on another option. For instance: root = /home/anthony image = %(root)s/disk.img Would expand to: root = /home/anthony image = /home/anthony/disk.img The 's' is a modifier. The only other modifier is currently 'b' which expands to true or false depending on whether the interpolated value has been defined yet. When QEMU starts up, we read $(PREFIX)/share/qemu-.conf to get all the defaults. This would include things like memory, devices attached, etc. I'm hoping we can use this as a machine description. It will also check for /etc/qemurc and ~/.qemurc for local defaults. Finally, you can specify an explicit config file with the -config option. The best way to demonstrate what I'm thinking is with an example. Attached is a proof-of-concept that reworks the IDE and SCSI disks to use configuration options. It's mostly backwards compatible. This is only a proof of concept. Also attached is the global configuration file that I'm using. You'll see that with the exception of backwards compatibility, the code has no concept of things like hda, hdb, cdrom, sda, sdb, etc. Instead, it's all done with interpolation. If people like this approach, I think the best way we could proceed is to clean up this code and get it working nicely for the disks. Then we could expand to include other devices over time. Regards, Anthony Liguori