|
L4Re - L4 Runtime Environment
|
vCPU API More...
Collaboration diagram for vCPU API:Data Structures | |
| struct | l4_vcpu_state_t |
| State of a vCPU. More... | |
| struct | l4_vcpu_regs_t |
| vCPU registers. More... | |
| struct | l4_vcpu_ipc_regs_t |
| vCPU message registers. More... | |
Typedefs | |
| typedef struct l4_vcpu_state_t | l4_vcpu_state_t |
| State of a vCPU. | |
| typedef struct l4_vcpu_regs_t | l4_vcpu_regs_t |
| vCPU registers. | |
| typedef struct l4_vcpu_ipc_regs_t | l4_vcpu_ipc_regs_t |
| vCPU message registers. | |
| typedef struct l4_vcpu_regs_t | l4_vcpu_regs_t |
| vCPU registers. | |
| typedef struct l4_vcpu_ipc_regs_t | l4_vcpu_ipc_regs_t |
| vCPU message registers. | |
| typedef struct l4_vcpu_regs_t | l4_vcpu_regs_t |
| vCPU registers. | |
| typedef struct l4_vcpu_ipc_regs_t | l4_vcpu_ipc_regs_t |
| vCPU message registers. | |
Enumerations | |
| enum | L4_vcpu_state_flags { L4_VCPU_F_IRQ = 0x01, L4_VCPU_F_PAGE_FAULTS = 0x02, L4_VCPU_F_EXCEPTIONS = 0x04, L4_VCPU_F_DEBUG_EXC = 0x08, L4_VCPU_F_USER_MODE = 0x20, L4_VCPU_F_FPU_ENABLED = 0x80 } |
| State flags of a vCPU. More... | |
| enum | L4_vcpu_sticky_flags { L4_VCPU_SF_IRQ_PENDING = 0x01 } |
| Sticky flags of a vCPU. More... | |
| enum | L4_vcpu_state_offset { L4_VCPU_OFFSET_EXT_STATE = 0x400, L4_VCPU_OFFSET_EXT_INFOS = 0x200 } |
| Offsets for vCPU state layouts. More... | |
vCPU API
The vCPU API in L4Re implements virtual processors (vCPUs) on top of L4::Thread. This API can be used for user level threading, operating system rehosting (see L4Linux) and virtualization.
You switch a thread into vCPU operation with L4::Thread::vcpu_control.
Extended vCPU operation is used for hardware CPU virtualization. It can be enabled with L4::Thread::vcpu_control_ext.
vCPU Support Library defines a convenience API for working with vCPUs.
| enum L4_vcpu_state_flags |
| enum L4_vcpu_state_offset |
| enum L4_vcpu_sticky_flags |