XendConfig parameters
=====================

Things that are empty means there is no direct mapping.

In order to make the XendConfig fully backwards compatible, it needs a
representation of all the below parameters. Where both columns have
values, it means we can have a direct translation.

Where the Legacy Config value does not exist, it means we have to make
up the value on whether we supported it or not.

Where the Legacy config value is prefixed with an '!', it means it is
not a direct mapping and needs a translation function.

Where the Xen API config value does not exist, it means we have to add
a parameter outside of the Xen API Configuration to support it.


Xen API Config                  Legacy Config
--------------                  -------------
uuid                            uuid
power_state                     !state (and xc_getinfo)
name_label                      name
name_description
user_version
is_a_template
resident_on
memory_static_min               memory
memory_static_max               maxmem
memory_actual
memory_dynamic_min
memory_dynamic_max
vcpus_policy                    !set_credit/set_sedf
vcpus_params                    !set_credit/set_sedf
vcpus_number                    vcpus
vcpus_utilisation               
vcpus_features_required
vcpus_features_can_use
vcpus_features_force_on
vcpus_features_force_off
actions_after_shutdown          on_poweroff
actions_after_reboot            on_reboot
actions_after_suspend           
actions_after_crash             on_crash

vifs                            !(devices.vifs)
 - uuid                         dev.uuid
 - name
 - type                         vif.type
 - device
 - network
 - vm
 - MAC                          vif.mac
 - MTU
 - io_read_kbs                  !vif.rate
 - io_write_kbs                 !vif.rate
                                vif.bridge
                                vif.script
                                vif.ip
                                vif.vifname (backend name)

vbds                            !(devices.vbds)
 - uuid
 - vm
 - vdi
 - device                       vbd.uname
 - mode                         !vbd.mode
 - driver                       vbd.driver
 - io_read_kbs
 - io_write_kbs

tpm_instance                    tpm.instance
tpm_backend                     tpm.backend
bios_boot                       image.boot?
platform_std_VGA                image.stdvga
platform_serial                 image.serial
platform_localtime              !localtime (bool)
platform_clock_offset           
platform_enable_audio           !image.soundhw (bool)
builder                         (sxp root name)
boot_method                     
kernel_kernel                   kernel.kernel
kernel_initrd                   kernel.ramdisk
kernel_args                     !kernel.args
grub_cmdline                    bootloader_args
PCI_bus                         
tools_version

otherConfig
 - image                        image (see image.*)
 - shadow_memory                shadow_memory
 - security                     security
 - vcpu_avail                   vcpu_avail
 - features                     features
 - on_xend_stop                 on_xend_stop
 - on_xend_start                on_xend_start
 - start_time                   start_time
 - cpus                         cpus (?)
                                max_vcpu_id

 >> only from xc
 - online_vcpus                 xc.online_vcpus
 - status                       xc.status
 - cpu_time                     xc.cpu_time
 - shutdown_reason              xc.shutdown_reason
 - up_time                      xc.uptime
 - crashed                      xc.crashed
 - dying                        xc.dying
 - shutdown                     xc.shutdown

                                image.type (linux or hvm)
                                image.root
                                image.ip
                                image.nographic
                                image.vnc
                                image.sdl
                                image.monitor
                                image.vncdisplay
                                image.vncunused
                                image.hvm.device_model
                                image.hvm.display
                                image.hvm.xauthority
                                image.hvm.vncconsole
                                image.hvm.pae
                                image.hvm.acpi (also in image.devices)
                                image.hvm.apic
                                image.hvm.devices.boot
                                image.hvm.devices.fda
                                image.hvm.devices.fdb
                                image.hvm.devices.soundhw
                                image.hvm.devices.isa
                                image.hvm.devices.vcpus?
                                image.hvm.devices.acpi
                                image.hvm.devices.usb
                                image.hvm.devices.usbdevice


                                dev.backend
                                dev.dom
                                dev.id
                                
                                pci.domain
                                pci.bus
                                pci.slot
                                pci.func

                                pciquirk.pci_ids
                                pciquirk.pci_config_space_fields
                                pciquirk.unconstrained_dev_ids

                                irq.irq

- vcpu (probably not needed, only in XM and generated dynamically)
                                vcpu.number
                                vcpu.online
                                vcpu.blocked
                                vcpu.running
                                vcpu.cpu_time
                                vcpu.cpu
                                vcpu.cpumap
