check(cdrom is not None)
memory = machine.memory
-maxmem = '2048'
+if machine_type.hvm:
+ # Disable populate-on-demand
+ maxmem = memory
+else:
+ maxmem = '2048'
check(re.match('^[A-Za-z0-9][A-Za-z0-9._-]*$', machine.name))
name = prefix + machine_name
check(re.match('^[0-9a-f-]+$', machine.uuid))
-uuid = machine.uuid
+uuid = str(machine.uuid)
vcpus = machine.cpus
codepath = 'hvm'
else:
codepath = 'paravm'
+ if machine_type.type_id = 'linux-pvgrub':
+ use_pvgrub = True
+ else:
+ use_pvgrub = False
if 'installer_options' in locals(): #Installer
import shlex
codepath = 'hvm'
if codepath == 'hvm':
+ xen_platform_pci = 1
ioemu = "ioemu:"
- viftype = "type=ioemu, "
- kernel = '/usr/lib/xen/boot/hvmloader'
+ viftype = "model=pcnet, "
+ kernel = '/usr/lib/xen-4.1/boot/hvmloader'
builder = 'hvm'
vnc = 1
device_model = '/usr/sbin/qemu-dm-invirt'
serial = "pty"
elif codepath == 'paravm':
- bootloader = '/usr/bin/pygrub'
-
+ if use_pvgrub:
+ kernel = '/usr/lib/grub/grub.xen'
+ else:
+ bootloader = '/usr/bin/pygrub'
for n in machine.nics:
check(re.match('^[0-9a-fA-F:]+$', n.mac_addr) and re.match('^[0-9.]*$', n.ip))
+ if n.nic_type:
+ viftype = viftype.replace("pcnet", n.nic_type)
d = ('%smac=%s, ip=%s, script=vif-invirtroute netdev=%s'
% (viftype, n.mac_addr, n.ip, config.xen.iface))
vif.append(d)