Changeset View
Changeset View
Standalone View
Standalone View
head/lib/libvmmapi/vmmapi.h
Show All 29 Lines | |||||
#ifndef _VMMAPI_H_ | #ifndef _VMMAPI_H_ | ||||
#define _VMMAPI_H_ | #define _VMMAPI_H_ | ||||
#include <sys/param.h> | #include <sys/param.h> | ||||
#include <sys/cpuset.h> | #include <sys/cpuset.h> | ||||
#include <machine/vmm_dev.h> | #include <machine/vmm_dev.h> | ||||
#include <stdbool.h> | |||||
/* | /* | ||||
* API version for out-of-tree consumers like grub-bhyve for making compile | * API version for out-of-tree consumers like grub-bhyve for making compile | ||||
* time decisions. | * time decisions. | ||||
*/ | */ | ||||
#define VMMAPI_VERSION 0103 /* 2 digit major followed by 2 digit minor */ | #define VMMAPI_VERSION 0103 /* 2 digit major followed by 2 digit minor */ | ||||
struct iovec; | struct iovec; | ||||
struct vmctx; | struct vmctx; | ||||
▲ Show 20 Lines • Show All 105 Lines • ▼ Show 20 Lines | int vm_inject_exception(struct vmctx *ctx, int vcpu, int vector, | ||||
int errcode_valid, uint32_t errcode, int restart_instruction); | int errcode_valid, uint32_t errcode, int restart_instruction); | ||||
int vm_lapic_irq(struct vmctx *ctx, int vcpu, int vector); | int vm_lapic_irq(struct vmctx *ctx, int vcpu, int vector); | ||||
int vm_lapic_local_irq(struct vmctx *ctx, int vcpu, int vector); | int vm_lapic_local_irq(struct vmctx *ctx, int vcpu, int vector); | ||||
int vm_lapic_msi(struct vmctx *ctx, uint64_t addr, uint64_t msg); | int vm_lapic_msi(struct vmctx *ctx, uint64_t addr, uint64_t msg); | ||||
int vm_ioapic_assert_irq(struct vmctx *ctx, int irq); | int vm_ioapic_assert_irq(struct vmctx *ctx, int irq); | ||||
int vm_ioapic_deassert_irq(struct vmctx *ctx, int irq); | int vm_ioapic_deassert_irq(struct vmctx *ctx, int irq); | ||||
int vm_ioapic_pulse_irq(struct vmctx *ctx, int irq); | int vm_ioapic_pulse_irq(struct vmctx *ctx, int irq); | ||||
int vm_ioapic_pincount(struct vmctx *ctx, int *pincount); | int vm_ioapic_pincount(struct vmctx *ctx, int *pincount); | ||||
int vm_readwrite_kernemu_device(struct vmctx *ctx, int vcpu, | |||||
vm_paddr_t gpa, bool write, int size, uint64_t *value); | |||||
int vm_isa_assert_irq(struct vmctx *ctx, int atpic_irq, int ioapic_irq); | int vm_isa_assert_irq(struct vmctx *ctx, int atpic_irq, int ioapic_irq); | ||||
int vm_isa_deassert_irq(struct vmctx *ctx, int atpic_irq, int ioapic_irq); | int vm_isa_deassert_irq(struct vmctx *ctx, int atpic_irq, int ioapic_irq); | ||||
int vm_isa_pulse_irq(struct vmctx *ctx, int atpic_irq, int ioapic_irq); | int vm_isa_pulse_irq(struct vmctx *ctx, int atpic_irq, int ioapic_irq); | ||||
int vm_isa_set_irq_trigger(struct vmctx *ctx, int atpic_irq, | int vm_isa_set_irq_trigger(struct vmctx *ctx, int atpic_irq, | ||||
enum vm_intr_trigger trigger); | enum vm_intr_trigger trigger); | ||||
int vm_inject_nmi(struct vmctx *ctx, int vcpu); | int vm_inject_nmi(struct vmctx *ctx, int vcpu); | ||||
int vm_capability_name2type(const char *capname); | int vm_capability_name2type(const char *capname); | ||||
const char *vm_capability_type2name(int type); | const char *vm_capability_type2name(int type); | ||||
▲ Show 20 Lines • Show All 103 Lines • Show Last 20 Lines |