Changeset View
Changeset View
Standalone View
Standalone View
sys/amd64/vmm/io/vioapic.h
| Show All 26 Lines | |||||
| * SUCH DAMAGE. | * SUCH DAMAGE. | ||||
| * | * | ||||
| * $FreeBSD$ | * $FreeBSD$ | ||||
| */ | */ | ||||
| #ifndef _VIOAPIC_H_ | #ifndef _VIOAPIC_H_ | ||||
| #define _VIOAPIC_H_ | #define _VIOAPIC_H_ | ||||
| struct vm_snapshot_meta; | |||||
| #define VIOAPIC_BASE 0xFEC00000 | #define VIOAPIC_BASE 0xFEC00000 | ||||
| #define VIOAPIC_SIZE 4096 | #define VIOAPIC_SIZE 4096 | ||||
| struct vioapic *vioapic_init(struct vm *vm); | struct vioapic *vioapic_init(struct vm *vm); | ||||
| void vioapic_cleanup(struct vioapic *vioapic); | void vioapic_cleanup(struct vioapic *vioapic); | ||||
| int vioapic_assert_irq(struct vm *vm, int irq); | int vioapic_assert_irq(struct vm *vm, int irq); | ||||
| int vioapic_deassert_irq(struct vm *vm, int irq); | int vioapic_deassert_irq(struct vm *vm, int irq); | ||||
| int vioapic_pulse_irq(struct vm *vm, int irq); | int vioapic_pulse_irq(struct vm *vm, int irq); | ||||
| int vioapic_mmio_write(void *vm, int vcpuid, uint64_t gpa, | int vioapic_mmio_write(void *vm, int vcpuid, uint64_t gpa, | ||||
| uint64_t wval, int size, void *arg); | uint64_t wval, int size, void *arg); | ||||
| int vioapic_mmio_read(void *vm, int vcpuid, uint64_t gpa, | int vioapic_mmio_read(void *vm, int vcpuid, uint64_t gpa, | ||||
| uint64_t *rval, int size, void *arg); | uint64_t *rval, int size, void *arg); | ||||
| int vioapic_pincount(struct vm *vm); | int vioapic_pincount(struct vm *vm); | ||||
| void vioapic_process_eoi(struct vm *vm, int vcpuid, int vector); | void vioapic_process_eoi(struct vm *vm, int vcpuid, int vector); | ||||
| #ifdef BHYVE_SNAPSHOT | |||||
| int vioapic_snapshot(struct vioapic *vioapic, | |||||
| struct vm_snapshot_meta *meta); | |||||
| #endif | |||||
| #endif | #endif | ||||