Definitions in vdev-core.h
Preprocessor macro definitions for the vdev-core.h header file
Definitions:
#include <qvm/vdev-core.h>#define QVM_OPTION_NO_ARG_PREFIX "0"
This value is used as a prefix on a vdev option list entry to indicate that it takes no following argument.
#define VDEV_CTRL_OPTIONS_START ((vdev_ctrl_options_t)0U)
This value is passed to the control function to initialize vdev state. The vdev_factory structure's control callback arg argument is NULL.
#define VDEV_CTRL_OPTIONS_END ((vdev_ctrl_options_t)1U)
This value is passed to the control function to finalize vdev state after option processing. The vdev_factory structure's control callback arg argument is NULL.
#define VDEV_CTRL_GUEST_CONFIGURED ((vdev_ctrl_options_t)2U)
This value is passed to the control function after the VM is fully configured. The vdev_factory structure's control callback arg argument is NULL.
#define VDEV_CTRL_TERMINATE ((vdev_ctrl_options_t)3U)
This value is passed to the control function to indicate that the container process is terminating. The vdev_factory structure's control callback arg argument is NULL.
#define VDEV_CTRL_STATUS ((vdev_ctrl_options_t)4U)
This value is passed to the control function to make the vdev output status information. The vdev_factory structure's control callback arg argument is NULL.
#define VDEV_CTRL_GEN_ACPI ((vdev_ctrl_options_t)5U)
This value is passed to the control function to generate ACPI information for the vdev. The vdev_factory structure's control callback arg argument is NULL.
#define VDEV_CTRL_GEN_FDT ((vdev_ctrl_options_t)6U)
This value is passed to the control function to generate FDT information for the vdev. The vdev_factory structure's control callback arg argument should be interpreted as an integer, which identifies the root node for vdevs in the FDT.
#define VDEV_CTRL_BUTTON ((vdev_ctrl_options_t)7U)
In a QNX hypervisor system, sending SIGTERM or SIGINT to a qvm process instance simulates the pressing of the power button (i.e., a graceful shutdown). This value is passed to the control function to simulate a request for a graceful shutdown. The vdev_factory structure's control callback arg argument is NULL.
#define VDEV_CTRL_PCI_BARS ((vdev_ctrl_options_t)8U)
This
value is passed to the control function to list the base address registers (BARs) of the
PCI vdev. Any positive return value means no BARs are exposed by the vdev. The negation of
a negative return value is the number of BARs exposed by the vdev (e.g., a return of -6
means the vdev has exposed 6 BARs). The vdev_factory structure's control callback
arg argument is of type struct vpci_bar; you must provide qvm with a pointer
to your vpci_bar
objects. For more information, see the Virtual Device Developer's Guide.
#define VDEV_CTRL_ASSIGN ((vdev_ctrl_options_t)9U)
This value is passed to the control function to let the vdev automatically assign resources. This occurs after all options have been processed. The vdev_factory structure's control callback arg argument should be interpreted as an integer containing a bitset of vdev_ctrl_assign_flags_t values.
#define VDEV_CTRL_GUEST_STARTING ((vdev_ctrl_options_t)10U)
This value is passed to the control function to indicate that the hosting qvm process instance is ready to invoke the guest run code. The vdev_factory structure's control callback arg argument is a pointer to the guest boot vCPU structure. This exists because a vdev can make changes to the boot environment, and hence may need to change the information needed to boot.
#define VDEV_CTRL_CONFIG_PARSED ((vdev_ctrl_options_t)11U)
This value is passed to the control function to indicate that the VM configuration has been fully parsed. The vdev_factory structure's control callback arg argument is NULL.
#define VDEV_CTRL_FIRST_OPTIDX ((vdev_ctrl_options_t)16U)
This
value is passed to the control function to handle device-specific option n when it
is passed VDEV_CTRL_FIRST_OPTIDX + n. When parsing the configuration, if
the qvm process instance encounters an option that has been specified
in the option list for the vdev's vdev_factory structure, the qvm
process invokes the vdev_factory structure's control function with the
ctrl argument set to VDEV_CTRL_FIRST_OPTIDX + n, where n
is the index to the option in the structure's option_list array.
If the option takes an argument, the vdev_factory structure's control callback
arg argument is the next entry in the configuration.
#define VCAF_INTR ((vdev_ctrl_assign_flags_t)0x01U)
The current vdev doesn't have an interrupt assigned.
#define VCAF_LOCATION ((vdev_ctrl_assign_flags_t)0x02U)
The current vdev doesn't have a location assigned.
#define VRS_NORMAL ((vdev_ref_status_t)0U)
Normal completion; advance to the next instruction.
#define VRS_NO_ADVANCE ((vdev_ref_status_t)1U)
Normal completion; do not advance to the next instruction.
#define VRS_ABORT ((vdev_ref_status_t)2U)
Abort the instruction emulation and restart the guest execution.
#define VRS_BUS_ERROR ((vdev_ref_status_t)3U)
The hosting qvm process instance should generate a bus error to the guest.
#define VRS_CONTINUE ((vdev_ref_status_t)4U)
Keep looking for more instruction exit callbacks; you only use this with guest_instr_callback_func_t.
#define VRS_TERMINATE ((vdev_ref_status_t)5U)
Shut down the hosting qvm process instance.
#define VRS_ERRNO ((vdev_ref_status_t)0x100U)
An attempt to emulate the action requested by the guest generated an error (the errno value is added to this constant).
#define VFF_NONE ((vdev_factory_flags_t)0x0000U)
No flags are specified.
#define VFF_RESERVED ((vdev_factory_flags_t)0x0001U)
Reserved for internal use.
#define VFF_INTR_NO ((vdev_factory_flags_t)0x0002U)
The intr option isn't allowed.
#define VFF_INTR_REQ ((vdev_factory_flags_t)0x0004U)
The intr option is required.
#define VFF_INTR_NONPCI ((vdev_factory_flags_t)0x0008U)
The intr option is required for non-PCI devices.
#define VFF_LOC_NO ((vdev_factory_flags_t)0x0010U)
The loc option isn't allowed.
#define VFF_VDEV_MEM ((vdev_factory_flags_t)0x0020U)
The
vdev is allowed to be a mem: device. The loc option can be mem.
#define VFF_VDEV_X86_IO ((vdev_factory_flags_t)0x0040U)
The
vdev is allowed to be an io: device on an x86 platform.
#define VFF_VDEV_PCI ((vdev_factory_flags_t)0x0080U)
The
vdev is allowed to be a pci: device.
#define VFF_VDEV_LOC_TYPES (VFF_VDEV_MEM|VFF_VDEV_X86_IO|VFF_VDEV_PCI)
The allowed location types. For internal use.
#define VFF_MUTEX ((vdev_factory_flags_t)0x0100U)
The device needs a mutex.
#define VFF_MUTEX_RECURSIVE ((vdev_factory_flags_t)0x0200U)
The mutex must be recursive.
#define VFF_MANUAL_REGION ((vdev_factory_flags_t)0x0800U)
The vdev handles the region creation; the qvm process will not automatically create the region. If this isn't specified, the qvm process automatically creates the region when it finishes creating the vdev.
