...
Code Block | ||
---|---|---|
| ||
struct dd_batmap_hdr { char cookie[8]; /* should contain "tdbatmap" */ u64 batmap_offset; /* byte offset to batmap */ <--- This is the offset to where the allocation tables reside after this struct u32 batmap_size; /* batmap size in sectors */ u32 batmap_version; /* version of batmap */ u32 checksum; /* batmap checksum -- 1's complement of batmap */ /* We add extra stuffs here like the keyhash but the batmap_offset is adjusted to skip them */ }; |
Arguments to QEMU
We did something non standard when invoking QEMU. We slapped the domid as arg 1. Just noting it here in case we run into trouble.
Code Block |
---|
Nonstandard args:
Mar 17 19:11:34.942096 dm-agent-0: Info:spawn.c:spawn_dump_cmdline:352: Domain 3: Devmodel 0: cmdline: /usr/sbin/svirt-interpose 3 -xen-domid 3 -nodefaults -name qemu-3.0 -machine xenfv,max-ram-below-4g=0xf0000000 -m 1024 -smp 2 -boot cd -device xenmou -xen-acpi-pm -vga std -display surfman -serial pty -drive file=/storage/isos/null.iso,if=ide,index=2,media=cdrom,format=file,readonly=on -drive file=/dev/xen/blktap-2/tapdev5,if=ide,index=0,media=disk,format=raw,readonly=off -drive file=atapi-pt-local:/dev/bsg/2:0:0:0,media=cdrom,if=atapi-pt,format=raw,readonly=off -soundhw ac97
Nonstandard hackery in the wrapper:
DOMID=$1
shift 1 |
GDB and QEMU
Running QEMU in GDB has proven to be very helpful. Simply copy the gdb binaries (gdb, gdbserver, and gdbtui) on to your OpenXT machine and replace the /usr/lib/xen/bin/qemu-system-i386 script with:
...