The Global string represents the set of default Device driver properties
we want qemu to use. This is mostly useful for automatically created
devices.
Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
The SMP structure defines the amount of virtual CPUs, sockets, and
threads per CPU that is made available to the guest.
Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
The Memory field holds the guest memory configuration.
It is used to define the current and maximum RAM is made available to
the guest and how this amount of RAM is splitted into several slots.
Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
Qemu character devices typically allow for sending traffic from the
guest to the host by emulating a console, a tty, a serial device for
example.
Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
Each Filesystem device should have a corresponding "virtio-9p-pci"
Device driver. They represent a filesystem to be exported through 9pfs.
Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
The Kernel structure holds the guest kernel configuration: its path and
its parameters. This is the kernel qemu will boot the VM from.
Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
The Object slice tells qemu which specific object to create.
Qemu objects can represent memory backend files, random number
generators, TLS credentials, etc...
Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
We may need to support a large range of devices in the qemu created VM
and the Device slice allows us to define which drivers are needed.
Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
QMP sockets are used to send qemu specific commands to the running qemu
process.
The QMPSocket structure allows us to define the socket type we want,
along with its name.
Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
LaunchQemu() now takes a Config structure that contains some more
descriptive fields than raw qemu parameter strings.
LaunchQemu is now simpler to call and more extensible as supporting more
qemu parameters would mean expanding Config instead of changing the API.
Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
Ciao will use the new standard library context package from now on.
This will allow us to use some of the new standard library functions
such as DialContext.
Partial fix for issue #541
Signed-off-by: Mark Ryan <mark.d.ryan@intel.com>
Fix ciao/qemu/qmp.go:349:3: ineffectual assignment to ok.
Strictly speaking this is a bug in ineffassign but it's easier
to change the ciao code.
Signed-off-by: Mark Ryan <mark.d.ryan@intel.com>
There's no point in setting cmd.ExtraFiles if the fds array is an
empty slice. This won't do any harm but is essentially a no-op.
Signed-off-by: Mark Ryan <mark.d.ryan@intel.com>
This commit adds some package documentation to the qemu package,
including an overview of the package and an example of its use.
Signed-off-by: Mark Ryan <mark.d.ryan@intel.com>