NOVA User-Level Environment
Version testbox/changed-memory-timing-317-g320d8b5
|
Request to the host, such as notify irq or request IO region. More...
#include <message.h>
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, phy_cpu_no cpu=~0U) |
static MessageHostOp | alloc_service_portal (unsigned *pt_out, ServicePortalFn pt, void *pt_arg, Crd crd, phy_cpu_no cpu=~0U) |
static MessageHostOp | attach_msi (phy_cpu_no cpu, bool locked, uint16 rid, char const *name) |
static MessageHostOp | attach_hpet_msi (phy_cpu_no cpu, bool locked, void *mmio, char const *name) |
static MessageHostOp | attach_irq (unsigned irq, phy_cpu_no cpu, bool locked, char const *name) |
static MessageHostOp | create_ec4pt (cap_sel &ec, void *obj, phy_cpu_no cpu, Utcb **utcb_out) |
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 | |
phy_cpu_no cpu | |
char const * desc | |
} | |
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 | |
bool is_hpet | |
} | |
struct { | |
unsigned long long mac | |
} | |
struct { | |
VCpu * vcpu | |
} | |
struct { | |
ServiceThreadFn work | |
void * work_arg | |
unsigned prio | |
phy_cpu_no cpu | |
char const * name | |
} _alloc_service_thread | |
struct { | |
ServicePortalFn pt | |
void * pt_arg | |
unsigned crd | |
phy_cpu_no cpu | |
unsigned * pt_out | |
} _alloc_service_portal | |
struct { | |
phy_cpu_no cpu | |
Utcb ** utcb_out | |
cap_sel ec | |
} _create_ec4pt | |
}; |
Request to the host, such as notify irq or request IO region.
enum MessageHostOp::Type |
|
inlineexplicit |
|
inlineexplicit |
|
inlineexplicit |
|
inlineexplicit |
|
inlineexplicit |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
union { ... } |
union { ... } |
struct { ... } MessageHostOp::_alloc_service_portal |
struct { ... } MessageHostOp::_alloc_service_thread |
struct { ... } MessageHostOp::_create_ec4pt |
bool MessageHostOp::cap |
unsigned long MessageHostOp::cmdlen |
char* MessageHostOp::cmdline |
phy_cpu_no MessageHostOp::cpu |
unsigned MessageHostOp::crd |
unsigned MessageHostOp::crd_t |
char const* MessageHostOp::desc |
cap_sel MessageHostOp::ec |
unsigned MessageHostOp::excbase |
unsigned MessageHostOp::excinc |
bool MessageHostOp::is_hpet |
unsigned long MessageHostOp::len |
unsigned long long MessageHostOp::mac |
unsigned MessageHostOp::module |
unsigned long long MessageHostOp::msi_address |
unsigned MessageHostOp::msi_gsi |
unsigned MessageHostOp::msi_value |
char const* MessageHostOp::name |
void* MessageHostOp::obj |
unsigned long MessageHostOp::phys |
unsigned long MessageHostOp::phys_len |
unsigned long MessageHostOp::portal_func |
unsigned long MessageHostOp::portal_pf |
unsigned MessageHostOp::prio |
ServicePortalFn MessageHostOp::pt |
void* MessageHostOp::pt_arg |
unsigned* MessageHostOp::pt_out |
char* MessageHostOp::ptr |
char* MessageHostOp::revoke_mem |
char const* MessageHostOp::service_name |
unsigned long MessageHostOp::size |
char* MessageHostOp::start |
enum MessageHostOp::Type MessageHostOp::type |
Utcb** MessageHostOp::utcb_out |
unsigned long MessageHostOp::value |
VCpu* MessageHostOp::vcpu |
ServiceThreadFn MessageHostOp::work |
void* MessageHostOp::work_arg |