qvm_state_types

Possible types for an object describing a data element

Synopsis:

#include <qvm/types.h>
enum qvm_state_types {
    QST_MEMORY,
    QST_VIRTUAL,
    QST_CPUREGS,
    QST_FPUREGS,
    QST_HOST,
    QST_PCI,
    QST_PCI_IO,
    QST_IMMEDIATE,
    QST_ARCH_SPECIFIC = 0x8000,
    QST_X86_IO = QST_ARCH_SPECIFIC,
    QST_X86_SEGREGS,
    QST_X86_CTRLREGS,
    QST_X86_DBGREGS,
    QST_X86_MSR,
    QST_ARM_SR = QST_ARCH_SPECIFIC,
    QST_NO_TYPE = 0xffff
};

Data:

QST_MEMORY

The location member of qvm_state_block is a guest physical address.

QST_VIRTUAL

The location member of qvm_state_block is a guest virtual address.

QST_CPUREGS

The location member of qvm_state_block is an offset in the CPU_REGISTERS structure.

QST_FPUREGS

The location member of qvm_state_block is an offset in the FPU_REGISTERS structure.

QST_HOST

The location member of qvm_state_block is a host virtual address.

QST_PCI

The location member of qvm_state_block identifies a device through its bus, device and function numbers, optionally including an offset into its configuration space, as encoded by QSL_PCI_MAKE_LOC (see Definitions in types.h).

QST_PCI_IO

The location member of qvm_state_block is the same as QST_MEMORY, used for PCI IO-space BAR references on non-X86 architectures. Treat this block type the same way you treat the QST_MEMORY block type.

QST_IMMEDIATE

The location member of qvm_state_block is an integer value.

QST_ARCH_SPECIFIC

Numbers higher than this value are architecture-specific.

QST_X86_IO

The location member of qvm_state_block is an I/O port number.

QST_X86_SEGREGS

The location member of qvm_state_block is an offset in the X86_64_SEGREGS structure.

QST_X86_CTRLREGS

The location member of qvm_state_block is an offset in the X86_64_CTRLREGS structure.

QST_X86_DBGREGS

The location member of qvm_state_block is an offset in the X86_64_DBGREGS structure.

QST_X86_MSR

The location member of qvm_state_block is a model-specific register number.

QST_ARM_SR

The location member of qvm_state_block is a system register number built with ARM_MAKE_SR_NUM.

QST_NO_TYPE

No type is specified.

Library:

Provided by qvm; no external library is required.

Description:

Depending on where and how a qvm_state_block object is used, different subsets of these types are valid.