The rom is used for pxebooting. We don't need to allow pxebooting from more than one network card. Loading a romfile for every NIC wastes memory and as a matter of fact breaks configurations with more than 4 NICs as QEMU fails to allocate memory on behalf of the guest.
With this fix, it is possible to assign more than 4 rtl8139 NICs to the guest. Signed-off-by: Stefano Stabellini <stefano.stabell...@eu.citrix.com> diff --git a/tools/libxl/libxl_dm.c b/tools/libxl/libxl_dm.c index 3e191c3..f907ca9 100644 --- a/tools/libxl/libxl_dm.c +++ b/tools/libxl/libxl_dm.c @@ -674,9 +674,10 @@ static char ** libxl__build_device_model_args_new(libxl__gc *gc, LIBXL_NIC_TYPE_VIF_IOEMU); flexarray_append(dm_args, "-device"); flexarray_append(dm_args, - libxl__sprintf(gc, "%s,id=nic%d,netdev=net%d,mac=%s", + libxl__sprintf(gc, "%s,id=nic%d,netdev=net%d,mac=%s%s", nics[i].model, nics[i].devid, - nics[i].devid, smac)); + nics[i].devid, smac, + i ? ",romfile=\"\"" : "")); flexarray_append(dm_args, "-netdev"); flexarray_append(dm_args, GCSPRINTF( "type=tap,id=net%d,ifname=%s," _______________________________________________ Xen-devel mailing list Xen-devel@lists.xen.org http://lists.xen.org/xen-devel