diff -r 48aed1403fe3 tools/examples/xmexample.vmx --- a/tools/examples/xmexample.vmx Fri Jul 22 16:44:33 2005 +++ b/tools/examples/xmexample.vmx Tue Aug 9 10:54:01 2005 @@ -46,7 +46,7 @@ # and MODE is r for read-only, w for read-write. #disk = [ 'phy:hda1,hda1,r' ] -disk = [ 'file:/var/images/min-el3-i386.img,hda,w' ] +disk = [ 'ioemu:/var/images/min-el3-i386.img,hda,w' ] #---------------------------------------------------------------------------- # Set the kernel command line for the new domain. diff -r 48aed1403fe3 tools/python/xen/xend/Blkctl.py --- a/tools/python/xen/xend/Blkctl.py Fri Jul 22 16:44:33 2005 +++ b/tools/python/xen/xend/Blkctl.py Tue Aug 9 10:54:01 2005 @@ -30,7 +30,7 @@ # Special case phy devices - they don't require any (un)binding # Parallax also doesn't need script-based binding. - if (type == 'phy') or (type == 'parallax'): + if (type == 'phy') or (type == 'parallax') or (type == 'ioemu'): return dets if script is None: diff -r 48aed1403fe3 tools/python/xen/xend/image.py --- a/tools/python/xen/xend/image.py Fri Jul 22 16:44:33 2005 +++ b/tools/python/xen/xend/image.py Tue Aug 9 10:54:01 2005 @@ -287,12 +287,14 @@ device = sxp.child(self.vm.config, 'device') vbdinfo = sxp.child(device, 'vbd') if not vbdinfo: - raise VmError("vmx: missing vbd configuration") + continue uname = sxp.child_value(vbdinfo, 'uname') vbddev = sxp.child_value(vbdinfo, 'dev') (vbdtype, vbdparam) = string.split(uname, ':', 1) vbddev_list = ['hda', 'hdb', 'hdc', 'hdd'] - if vbdtype != 'file' or vbddev not in vbddev_list: + if vbdtype != 'ioemu': + continue + if vbddev not in vbddev_list: raise VmError("vmx: for qemu vbd type=file&dev=hda~hdd") ret.append("-%s" % vbddev) ret.append("%s" % vbdparam) diff -r 48aed1403fe3 tools/python/xen/xend/server/blkif.py --- a/tools/python/xen/xend/server/blkif.py Fri Jul 22 16:44:33 2005 +++ b/tools/python/xen/xend/server/blkif.py Tue Aug 9 10:54:01 2005 @@ -243,6 +243,8 @@ pass else: node = Blkctl.block('bind', self.type, self.params) + if self.type == 'ioemu': + return self.setNode(node) self.attachBackend() if change: