# HG changeset patch # User stekloff@xxxxxxxxxxxxxxxxxxxxxxxxxx # Node ID 589799e91bbc782cff7a71b1a620e6ea53b91d14 # Parent f692a0a476c51e1b18e4f6060b94dc92201ee518 Xm-test HVM network testing is broken. The new qemu code doesn't support pcnet32, which is the current default driver loaded onto the disk.img. This patch changes teh default to the rtl8139, which is xend's default. This patch also adds a new "--with-network-drv" configuration option so people can configure different drivers than the default. Signed-off-by: Daniel Stekloff diff -r f692a0a476c5 -r 589799e91bbc tools/xm-test/configure.ac --- a/tools/xm-test/configure.ac Thu Jul 13 15:33:08 2006 +0100 +++ b/tools/xm-test/configure.ac Thu Jul 13 15:30:28 2006 -0700 @@ -84,6 +84,14 @@ dnl substitute @DRVDIR@ in all Makefiles dnl substitute @DRVDIR@ in all Makefiles AC_SUBST(DRVDIR) +NETDRV="8139too.ko" +AC_ARG_WITH(network-drv, + [ --with-network-drv=driver Set network driver to use [[default="8139too.ko"]]], + [ NETDRV="$withval" ]) + +dnl substitute @DRVDIR@ in all Makefiles +AC_SUBST(NETDRV) + AC_SUBST(TENV) AC_SUBST(PACKAGE_VERSION) diff -r f692a0a476c5 -r 589799e91bbc tools/xm-test/ramdisk/Makefile.am --- a/tools/xm-test/ramdisk/Makefile.am Thu Jul 13 15:33:08 2006 +0100 +++ b/tools/xm-test/ramdisk/Makefile.am Thu Jul 13 15:30:28 2006 -0700 @@ -51,13 +51,14 @@ disk.img: existing chmod a+x $(HVM_SCRIPT) @if test ! "$(HVMKERNEL)" = "no" -a ! "$(DRVDIR)" = "no"; then \ $(HVM_SCRIPT) -r $(XMTEST_VER_IMG) -k $(HVMKERNEL) \ - -d $(DRVDIR); \ + -d $(DRVDIR) -n $(NETDRV); \ elif test "$(HVMKERNEL)" = "no" -a ! "$(DRVDIR)" = "no"; then \ - $(HVM_SCRIPT) -r $(XMTEST_VER_IMG) -d $(DRVDIR); \ + $(HVM_SCRIPT) -r $(XMTEST_VER_IMG) -d $(DRVDIR) -n $(NETDRV); \ elif test ! "$(HVMKERNEL)" = "no" -a "$(DRVDIR)" = "no"; then \ - $(HVM_SCRIPT) -r $(XMTEST_VER_IMG) -k $(HVMKERNEL); \ + $(HVM_SCRIPT) -r $(XMTEST_VER_IMG) -k $(HVMKERNEL) \ + -n $(NETDRV); \ else \ - $(HVM_SCRIPT) -r $(XMTEST_VER_IMG); \ + $(HVM_SCRIPT) -r $(XMTEST_VER_IMG) -n $(NETDRV); \ fi existing: diff -r f692a0a476c5 -r 589799e91bbc tools/xm-test/ramdisk/bin/create_disk_image --- a/tools/xm-test/ramdisk/bin/create_disk_image Thu Jul 13 15:33:08 2006 +0100 +++ b/tools/xm-test/ramdisk/bin/create_disk_image Thu Jul 13 15:30:28 2006 -0700 @@ -51,20 +51,21 @@ Usage: $0 [OPTIONS] Usage: $0 [OPTIONS] OPTIONS: - -d|--dvrdir Directory where to fine network driver + -d|--dvrdir Directory where to find network driver to use for disk image. -i|--image Image name to create. -k|--kernel Kernel name to use for disk image. + -n|--netdrv Network driver name to use for disk image. -r|--rootfs Rootfs image to use for disk image. -This script currently only supports the pcnet32 driver for network -tests. If a dvrdir isn't added on the command-line, it will look -in /lib/modules/ directory relating to the supplied kernel. If the +This script defaults to using the 8139too.ko driver for network tests. +If a dvrdir isn't added on the command-line, it will look in +/lib/modules/ directory relating to the supplied kernel. If the network driver is built into the kernel, you can specify the key word "builtin" with the -d option and the script will continue. -Note: The pcnet32 driver relies upon mii.ko. This script will look -for that module in the same location as the pcnet32 driver, either +Note: Many network drivers rely upon mii.ko. This script will look +for that module in the same location as the network driver, either for the kernel or the location used with the -d option. EOU @@ -94,6 +95,7 @@ function initialize_globals() IMAGE="disk.img" KERNEL="" DRVDIR="" + NETDRV="8139too.ko" LCONF="lilo.conf" LOOPD="" # Loop device for entire disk image LOOPP="" # Loop device for ext partition @@ -126,6 +128,11 @@ function get_options() KERNEL=${1} shift ;; + -n|--netdrv) + shift + NETDRV=${1} + shift + ;; -r|--rootfs) shift ROOTFS=${1} @@ -256,23 +263,23 @@ function copy_netdriver_to_image() mkdir "$MNT/lib/modules" if [ -e "$DRVDIR" ]; then - if [ -e "$DRVDIR/pcnet32.ko" ]; then + if [ -e "$DRVDIR/$NETDRV" ]; then cp $DRVDIR/mii.ko $MNT/lib/modules - cp $DRVDIR/pcnet32.ko $MNT/lib/modules + cp $DRVDIR/$NETDRV $MNT/lib/modules else - die "Failed to find pcnet32.ko at $DRVDIR." + die "Failed to find $NETDRV at $DRVDIR." fi - elif [ -e "$fdir/pcnet32.ko" ]; then + elif [ -e "$fdir/$NETDRV" ]; then cp $fdir/mii.ko $MNT/lib/modules - cp $fdir/pcnet32.ko $MNT/lib/modules + cp $fdir/$NETDRV $MNT/lib/modules else - die "Xm-test requires the pcnet32 driver to run." + die "Xm-test requires at minimum the 8139too.ko driver to run." fi # Make sure that modules will be installed if [ -e "$MNT/etc/init.d/rcS" ]; then echo "insmod /lib/modules/mii.ko" >> $MNT/etc/init.d/rcS - echo "insmod /lib/modules/pcnet32.ko" >> $MNT/etc/init.d/rcS + echo "insmod /lib/modules/$NETDRV" >> $MNT/etc/init.d/rcS else die "Failed to add insmod command to rcS file on image." fi