Request to the host, such as notify irq or request IO region.
More...
#include <message.h>
List of all members.
Public Types |
enum | Type {
OP_ATTACH_IRQ,
OP_NOTIFY_IRQ,
OP_ATTACH_MSI,
OP_ALLOC_IOIO_REGION,
OP_ALLOC_IOMEM,
OP_ALLOC_SEMAPHORE,
OP_ALLOC_SERVICE_THREAD,
OP_ALLOC_SERVICE_PORTAL,
OP_ASSIGN_PCI,
OP_VIRT_TO_PHYS,
OP_GET_MODULE,
OP_GET_MAC,
OP_GUEST_MEM,
OP_ALLOC_FROM_GUEST,
OP_VCPU_CREATE_BACKEND,
OP_VCPU_BLOCK,
OP_VCPU_RELEASE,
OP_REGISTER_SERVICE
} |
Public Member Functions |
| MessageHostOp (VCpu *_vcpu) |
| MessageHostOp (unsigned _module, char *_start, unsigned long _size=0) |
| MessageHostOp (Type _type, unsigned long _value, unsigned long _len=0, unsigned _cpu=~0U) |
| MessageHostOp (Type _type, void *_value, unsigned long _len=0) |
| MessageHostOp (void *_obj, char const *_name, unsigned long _pfu, char *_revoke_mem=0, bool _cap=true) |
Static Public Member Functions |
static MessageHostOp | alloc_service_thread (ServiceThreadFn work, void *arg, char const *name=0, unsigned prio=~0U, unsigned cpu=~0U) |
static MessageHostOp | alloc_service_portal (unsigned *pt_out, ServicePortalFn pt, void *pt_arg, Crd crd, unsigned cpu=~0U) |
Public Attributes |
enum MessageHostOp::Type | type |
union { |
unsigned long value |
void * obj |
}; | |
union { |
struct { |
unsigned long phys |
unsigned long phys_len |
} | |
struct { |
char const * service_name |
unsigned long portal_func |
bool cap |
unsigned long portal_pf |
unsigned excbase |
unsigned excinc |
unsigned crd_t |
char * revoke_mem |
} | |
struct { |
char * ptr |
unsigned long len |
} | |
struct { |
unsigned module |
char * start |
unsigned long size |
char * cmdline |
unsigned long cmdlen |
} | |
struct { |
unsigned msi_gsi |
unsigned msi_value |
unsigned long long msi_address |
unsigned cpu |
} | |
struct { |
unsigned long long mac |
} | |
struct { |
VCpu * vcpu |
} | |
struct { |
ServiceThreadFn work |
void * work_arg |
unsigned prio |
unsigned cpu |
char const * name |
} _alloc_service_thread |
struct { |
ServicePortalFn pt |
void * pt_arg |
unsigned crd |
unsigned cpu |
unsigned * pt_out |
} _alloc_service_portal |
}; | |
Detailed Description
Request to the host, such as notify irq or request IO region.
Member Enumeration Documentation
- Enumerator:
OP_ATTACH_IRQ |
|
OP_NOTIFY_IRQ |
|
OP_ATTACH_MSI |
|
OP_ALLOC_IOIO_REGION |
|
OP_ALLOC_IOMEM |
|
OP_ALLOC_SEMAPHORE |
|
OP_ALLOC_SERVICE_THREAD |
|
OP_ALLOC_SERVICE_PORTAL |
|
OP_ASSIGN_PCI |
|
OP_VIRT_TO_PHYS |
|
OP_GET_MODULE |
|
OP_GET_MAC |
|
OP_GUEST_MEM |
|
OP_ALLOC_FROM_GUEST |
|
OP_VCPU_CREATE_BACKEND |
|
OP_VCPU_BLOCK |
|
OP_VCPU_RELEASE |
|
OP_REGISTER_SERVICE |
|
Constructor & Destructor Documentation
MessageHostOp::MessageHostOp |
( |
VCpu * |
_vcpu |
) |
[inline, explicit] |
MessageHostOp::MessageHostOp |
( |
unsigned |
_module, |
|
|
char * |
_start, |
|
|
unsigned long |
_size = 0 | |
|
) |
| | [inline, explicit] |
MessageHostOp::MessageHostOp |
( |
Type |
_type, |
|
|
unsigned long |
_value, |
|
|
unsigned long |
_len = 0 , |
|
|
unsigned |
_cpu = ~0U | |
|
) |
| | [inline, explicit] |
MessageHostOp::MessageHostOp |
( |
Type |
_type, |
|
|
void * |
_value, |
|
|
unsigned long |
_len = 0 | |
|
) |
| | [inline, explicit] |
MessageHostOp::MessageHostOp |
( |
void * |
_obj, |
|
|
char const * |
_name, |
|
|
unsigned long |
_pfu, |
|
|
char * |
_revoke_mem = 0 , |
|
|
bool |
_cap = true | |
|
) |
| | [inline, explicit] |
Member Function Documentation
static MessageHostOp MessageHostOp::alloc_service_portal |
( |
unsigned * |
pt_out, |
|
|
ServicePortalFn |
pt, |
|
|
void * |
pt_arg, |
|
|
Crd |
crd, |
|
|
unsigned |
cpu = ~0U | |
|
) |
| | [inline, static] |
static MessageHostOp MessageHostOp::alloc_service_thread |
( |
ServiceThreadFn |
work, |
|
|
void * |
arg, |
|
|
char const * |
name = 0 , |
|
|
unsigned |
prio = ~0U , |
|
|
unsigned |
cpu = ~0U | |
|
) |
| | [inline, static] |
Member Data Documentation
The documentation for this struct was generated from the following file: