Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Code Block
languagetext
        let local_stuff = [
                "serial/0/limit",    string_of_int 65536;
                "console/limit",     string_of_int 65536;
                "console/port",      string_of_int console_port;
                "console/ring-ref",  sprintf "%nu" console_mfn;
                "hvmloader/bios",    "seabios";
                "hvmloader/seabios-legacy-load-roms", "1";   <--- that guy
        ] in
 
Looks like this under /local/domain/<n>
 
hvmloader = ""
 bios = "seabios"
 seabios-legacy-load-roms = "1"

VHD Compatibility

Certain VHDs that were created with an upstream version of Xen cannot be used in current OpenXT. At least we think that is the case - really the only one is the CentOS VHD that was created at some point with some version of Xen tools. In general it is now believed that even though we change the VHD meta structures, our VHDs are still compatible. This is why:

Code Block
languagetext
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:

...