# HG changeset patch # User stekloff@xxxxxxxxxxxxxxxxxxxxxxxxxx # Node ID 88f856541ecea2729b67e4fe50365db57b447d9e # Parent 8e55c5c1147589b7a6a1875384d4317aec7ccf84 Patch adds configuration option to xm-test to specify network driver to load onto HVM disk image. This is meant to enable testing the new qemu, which doesn't have pcnet32 applied. To configure in the realtek, you need to add "--network-drv=8139too.ko" to the configure command when building xm-test. Signed-off-by: Daniel Stekloff diff -r 8e55c5c11475 -r 88f856541ece tools/xm-test/configure.ac --- a/tools/xm-test/configure.ac Wed Jul 05 18:48:41 2006 +0100 +++ b/tools/xm-test/configure.ac Wed Jul 05 20:51:54 2006 -0700 @@ -84,6 +84,14 @@ dnl substitute @DRVDIR@ in all Makefiles dnl substitute @DRVDIR@ in all Makefiles AC_SUBST(DRVDIR) +NETDRV="pcnet32.ko" +AC_ARG_WITH(network-drv, + [ --with-network-drv=driver Set network driver to use [[default="pcnet32.ko"]]], + [ NETDRV="$withval" ]) + +dnl substitute @DRVDIR@ in all Makefiles +AC_SUBST(NETDRV) + AC_SUBST(TENV) AC_SUBST(PACKAGE_VERSION) diff -r 8e55c5c11475 -r 88f856541ece tools/xm-test/ramdisk/Makefile.am --- a/tools/xm-test/ramdisk/Makefile.am Wed Jul 05 18:48:41 2006 +0100 +++ b/tools/xm-test/ramdisk/Makefile.am Wed Jul 05 20:51:54 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 8e55c5c11475 -r 88f856541ece tools/xm-test/ramdisk/bin/create_disk_image --- a/tools/xm-test/ramdisk/bin/create_disk_image Wed Jul 05 18:48:41 2006 +0100 +++ b/tools/xm-test/ramdisk/bin/create_disk_image Wed Jul 05 20:51:54 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 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 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="pcnet32.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 pcnet32 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