Home
last modified time | relevance | path

Searched refs:vlapic (Results 1 – 9 of 9) sorted by relevance

/illumos-gate/usr/src/uts/intel/io/vmm/io/
H A Dvlapic.c84 #define VLAPIC_TIMER_LOCK(vlapic) mutex_enter(&((vlapic)->timer_lock)) argument
85 #define VLAPIC_TIMER_UNLOCK(vlapic) mutex_exit(&((vlapic)->timer_lock)) argument
86 #define VLAPIC_TIMER_LOCKED(vlapic) MUTEX_HELD(&((vlapic)->timer_lock)) argument
102 static void vlapic_set_error(struct vlapic *, uint32_t, bool);
106 vlapic_x2mode(const struct vlapic *vlapic) in vlapic_x2mode() argument
108 return ((vlapic->msr_apicbase & APICBASE_X2APIC) != 0); in vlapic_x2mode()
112 vlapic_hw_disabled(const struct vlapic *vlapic) in vlapic_hw_disabled() argument
114 return ((vlapic->msr_apicbase & APICBASE_ENABLED) == 0); in vlapic_hw_disabled()
118 vlapic_sw_disabled(const struct vlapic *vlapic) in vlapic_sw_disabled() argument
120 const struct LAPIC *lapic = vlapic->apic_page; in vlapic_sw_disabled()
[all …]
H A Dvlapic.h37 void vlapic_reset(struct vlapic *vlapic);
39 int vlapic_mmio_write(struct vlapic *, uint64_t, uint64_t, uint_t);
40 int vlapic_mmio_read(struct vlapic *, uint64_t, uint64_t *, uint_t);
43 vm_msr_result_t vlapic_rdmsr(struct vlapic *, uint32_t, uint64_t *);
44 vm_msr_result_t vlapic_wrmsr(struct vlapic *, uint32_t, uint64_t);
56 int vlapic_pending_intr(struct vlapic *vlapic, int *vecptr);
64 void vlapic_intr_accepted(struct vlapic *vlapic, int vector);
66 vcpu_notify_t vlapic_set_intr_ready(struct vlapic *vlapic, int vector,
74 void vlapic_post_intr(struct vlapic *vlapic, int hostcpu);
76 void vlapic_fire_cmci(struct vlapic *vlapic);
[all …]
H A Dvlapic_priv.h107 struct vlapic;
110 vcpu_notify_t (*set_intr_ready)(struct vlapic *vlapic, int vector,
112 void (*sync_state)(struct vlapic *vlapic);
113 void (*intr_accepted)(struct vlapic *vlapic, int vector);
114 void (*post_intr)(struct vlapic *vlapic, int hostcpu);
115 void (*enable_x2apic_mode)(struct vlapic *vlapic);
125 struct vlapic { struct
155 void vlapic_init(struct vlapic *vlapic); argument
156 void vlapic_cleanup(struct vlapic *vlapic);
/illumos-gate/usr/src/uts/intel/io/vmm/
H A Dvmm_lapic.c66 struct vlapic *vlapic; in lapic_set_intr() local
79 vlapic = vm_lapic(vm, cpu); in lapic_set_intr()
80 notify = vlapic_set_intr_ready(vlapic, vector, level); in lapic_set_intr()
88 struct vlapic *vlapic; in lapic_set_local_intr() local
103 vlapic = vm_lapic(vm, cpu); in lapic_set_local_intr()
104 error = vlapic_trigger_lvt(vlapic, vector); in lapic_set_local_intr()
H A Dvmm.c92 struct vlapic;
141 struct vlapic *vlapic; /* (i) APIC device model */ member
286 #define VLAPIC_CLEANUP(vmi, vlapic) ((*ops->vlapic_cleanup)(vmi, vlapic)) argument
358 VLAPIC_CLEANUP(vm->cookie, vcpu->vlapic); in vcpu_cleanup()
413 vcpu->vlapic = VLAPIC_INIT(vm->cookie, vcpu_id); in vcpu_init()
765 vlapic_pause(vcpu->vlapic); in vm_pause_instance()
798 vlapic_resume(vcpu->vlapic); in vm_resume_instance()
1589 vlapic_pending_intr(vcpu->vlapic, NULL)) { in vm_handle_hlt()
1669 struct vlapic *vlapic = vm_lapic(vm, cpuid); in vm_service_mmio_read() local
1671 err = vlapic_mmio_read(vlapic, gpa, rval, rsize); in vm_service_mmio_read()
[all …]
H A DMakefile.vmm63 vlapic.o \
/illumos-gate/usr/src/uts/intel/io/vmm/intel/
H A Dvmx.c307 static void vmx_apicv_sync_tmr(struct vlapic *vlapic);
308 static void vmx_tpr_shadow_enter(struct vlapic *vlapic);
309 static void vmx_tpr_shadow_exit(struct vlapic *vlapic);
1344 vmx_inject_vlapic(struct vmx *vmx, int vcpu, struct vlapic *vlapic) in vmx_inject_vlapic() argument
1348 if (!vlapic_pending_intr(vlapic, &vector)) { in vmx_inject_vlapic()
1378 vmx_apicv_sync_tmr(vlapic); in vmx_inject_vlapic()
1401 vlapic_intr_accepted(vlapic, vector); in vmx_inject_vlapic()
1750 struct vlapic *vlapic; in vmx_emulate_cr8_access() local
1759 vlapic = vm_lapic(vmx->vm, vcpu); in vmx_emulate_cr8_access()
1762 cr8 = vlapic_get_cr8(vlapic); in vmx_emulate_cr8_access()
[all …]
/illumos-gate/usr/src/uts/intel/io/vmm/amd/
H A Dsvm.c891 struct vlapic *vlapic; in svm_update_virqinfo() local
895 vlapic = vm_lapic(vm, vcpu); in svm_update_virqinfo()
899 vlapic_set_cr8(vlapic, ctrl->v_tpr); in svm_update_virqinfo()
1206 struct vlapic *vlapic = vm_lapic(svm_sc->vm, vcpu); in svm_handle_msr() local
1208 res = vlapic_wrmsr(vlapic, ecx, val); in svm_handle_msr()
1220 struct vlapic *vlapic = vm_lapic(svm_sc->vm, vcpu); in svm_handle_msr() local
1222 res = vlapic_rdmsr(vlapic, ecx, &val); in svm_handle_msr()
1668 svm_inject_vlapic(struct svm_softc *sc, int vcpu, struct vlapic *vlapic, in svm_inject_vlapic() argument
1688 v_tpr = vlapic_get_cr8(vlapic); in svm_inject_vlapic()
1700 if (!vlapic_pending_intr(vlapic, &vector)) { in svm_inject_vlapic()
[all …]
/illumos-gate/usr/src/uts/intel/io/vmm/sys/
H A Dvmm_kernel.h63 struct vlapic;
94 typedef struct vlapic *(*vmi_vlapic_init)(void *vmi, int vcpu);
95 typedef void (*vmi_vlapic_cleanup)(void *vmi, struct vlapic *vlapic);
206 struct vlapic *vm_lapic(struct vm *vm, int cpu);