Add support to the qemu-dm.debug script to launch a ddd window running gdb on the device model for fully virtualized domU's. Signed-off-by: Chip Blach Signed-off-by: Andrew D. Ball diff -r 9efe7eb108e1 tools/examples/xmexample.vmx --- a/tools/examples/xmexample.vmx Wed Jan 4 17:51:38 2006 +++ b/tools/examples/xmexample.vmx Thu Jan 5 18:10:24 2006 @@ -100,6 +100,15 @@ # New stuff device_model = '/usr/' + arch_libdir + '/xen/bin/qemu-dm' +# Use this instead for device model debugging [launches ddd in a new window +# for qemu-dm] +# +# To get debugging symbols in qemu-dm, you can copy +# tools/ioemu/target-i386-dm/qemu-dm from a built Xen source tree to +# /usr/lib/xen/bin/qemu-dm or /usr/lib64/xen/bin/qemu-dm , depending +# on where your qemu-dm sits +#device_model = '/usr/' + arch_libdir + '/xen/bin/qemu-dm.debug' + #----------------------------------------------------------------------------- # Disk image for diff -r 9efe7eb108e1 tools/ioemu/target-i386-dm/qemu-dm.debug --- a/tools/ioemu/target-i386-dm/qemu-dm.debug Wed Jan 4 17:51:38 2006 +++ b/tools/ioemu/target-i386-dm/qemu-dm.debug Thu Jan 5 18:10:24 2006 @@ -1,5 +1,26 @@ -#!/bin/sh +#!/bin/bash +# Subject to GPL version 2 license. +# +# Chip Blach +# Andrew D. Ball + +cd ~root # why does ~ mean '/' instead of '/root' here? -echo $* > /tmp/args -echo $DISPLAY >> /tmp/args -exec /usr/lib/xen/bin/qemu-dm $* +if [[ -z "$IOEMU" ]] +then + # Guess where the device model (qemu-dm) sits, based + # on architecture + if [[ $(uname -p) == 'x86_64' ]] + then + IOEMU=/usr/lib64/xen/bin/qemu-dm + else + IOEMU=/usr/lib/xen/bin/qemu-dm + fi +fi + +# set up gdb +echo "file $IOEMU" > ioemu_debug +echo "set args $@" >> ioemu_debug +echo "break main" >> ioemu_debug + +nohup ddd --gdb --debugger "gdb -x ioemu_debug" &