Changeset View
Changeset View
Standalone View
Standalone View
head/sys/amd64/include/vmm.h
Show First 20 Lines • Show All 283 Lines • ▼ Show 20 Lines | |||||
* | * | ||||
* The caller cannot hold any locks when initiating the rendezvous. | * The caller cannot hold any locks when initiating the rendezvous. | ||||
* | * | ||||
* The implementation of this API may cause vcpus other than those specified | * The implementation of this API may cause vcpus other than those specified | ||||
* by 'dest' to be stalled. The caller should not rely on any vcpus making | * by 'dest' to be stalled. The caller should not rely on any vcpus making | ||||
* forward progress when the rendezvous is in progress. | * forward progress when the rendezvous is in progress. | ||||
*/ | */ | ||||
typedef void (*vm_rendezvous_func_t)(struct vm *vm, int vcpuid, void *arg); | typedef void (*vm_rendezvous_func_t)(struct vm *vm, int vcpuid, void *arg); | ||||
void vm_smp_rendezvous(struct vm *vm, int vcpuid, cpuset_t dest, | int vm_smp_rendezvous(struct vm *vm, int vcpuid, cpuset_t dest, | ||||
vm_rendezvous_func_t func, void *arg); | vm_rendezvous_func_t func, void *arg); | ||||
cpuset_t vm_active_cpus(struct vm *vm); | cpuset_t vm_active_cpus(struct vm *vm); | ||||
cpuset_t vm_debug_cpus(struct vm *vm); | cpuset_t vm_debug_cpus(struct vm *vm); | ||||
cpuset_t vm_suspended_cpus(struct vm *vm); | cpuset_t vm_suspended_cpus(struct vm *vm); | ||||
#endif /* _SYS__CPUSET_H_ */ | #endif /* _SYS__CPUSET_H_ */ | ||||
static __inline int | static __inline int | ||||
vcpu_rendezvous_pending(struct vm_eventinfo *info) | vcpu_rendezvous_pending(struct vm_eventinfo *info) | ||||
▲ Show 20 Lines • Show All 429 Lines • Show Last 20 Lines |