| /xen/xen/arch/x86/ |
| A D | irq.c | 159 if ( (desc->arch.vector == vector) && in _bind_irq_vector() 167 desc->arch.vector = vector; in _bind_irq_vector() 198 unsigned int vector = desc->arch.vector; in _clear_irq_vector() local 374 vector = desc->arch.vector; in irq_to_vector() 385 vector = desc->arch.vector; in irq_to_vector() 422 for ( vector = 0; vector < X86_NR_VECTORS; ++vector ) in init_irq_data() 685 desc->arch.vector = vector; in _assign_irq_vector() 744 for ( vector = 0; vector < X86_NR_VECTORS; ++vector ) in setup_vector_irq() 899 if ( vector == desc->arch.vector && in irq_complete_move() 1160 peoi[sp].vector = vector; in end_nonmaskable_irq() [all …]
|
| A D | smp.c | 29 static unsigned int prepare_ICR(unsigned int shortcut, int vector) in prepare_ICR() argument 31 return APIC_DM_FIXED | shortcut | vector; in prepare_ICR() 49 static void send_IPI_shortcut(unsigned int shortcut, int vector, in send_IPI_shortcut() argument 57 cfg = prepare_ICR(shortcut, vector) | dest; in send_IPI_shortcut() 67 void send_IPI_mask(const cpumask_t *mask, int vector) in send_IPI_mask() argument 80 alternative_vcall(genapic.send_IPI_mask, mask, vector); in send_IPI_mask() 116 void send_IPI_self(int vector) in send_IPI_self() argument 118 alternative_vcall(genapic.send_IPI_self, vector); in send_IPI_self() 163 void cf_check send_IPI_self_legacy(uint8_t vector) in send_IPI_self_legacy() argument 196 cfg = prepare_ICR(0, vector) | APIC_DEST_LOGICAL; in send_IPI_mask_flat() [all …]
|
| A D | io_apic.c | 303 vector = __ioapic_read_entry(apic, pin, true).vector; in __io_apic_eoi() 495 unsigned int pin, vector = desc->arch.vector; in __eoi_IO_APIC_irq() local 593 rte.vector = desc->arch.vector; in set_ioapic_affinity_irq() 1054 entry.vector = vector; in setup_IO_APIC_irqs() 1095 entry.vector = vector; in setup_ExtINT_IRQ0_pin() 1749 if ( vector && i != vector ) in end_level_ioapic_irq_new() 2274 entry.vector = vector; in io_apic_set_pci_routing() 2423 rte.vector = desc->arch.vector; in ioapic_guest_write() 2434 int vector = desc->arch.vector; in ioapic_guest_write() local 2446 desc->arch.vector = vector; in ioapic_guest_write() [all …]
|
| /xen/xen/arch/x86/pv/ |
| A D | traps.c | 26 const uint8_t vector = event->vector; in pv_inject_event() local 30 ASSERT(vector == event->vector); /* Confirm no truncation. */ in pv_inject_event() 33 ASSERT(vector < 32); in pv_inject_event() 34 use_error_code = X86_EXC_HAVE_EC & (1u << vector); in pv_inject_event() 47 ti = &curr->arch.pv.trap_ctxt[vector]; in pv_inject_event() 54 vector == X86_EXC_PF ) in pv_inject_event() 67 trace_pv_trap(vector, regs->rip, use_error_code, error_code); in pv_inject_event() 82 vector, vector_name(vector), error_code); in pv_inject_event() 84 if ( vector == X86_EXC_PF ) in pv_inject_event()
|
| /xen/xen/arch/x86/hvm/svm/ |
| A D | intr.c | 39 event.vector = X86_EXC_NMI; in svm_inject_nmi() 52 static void svm_inject_extint(struct vcpu *v, int vector) in svm_inject_extint() argument 60 event.vector = vector; in svm_inject_extint() 92 TRACE(TRC_HVM_INTR_WINDOW, intack.vector, intack.source, in svm_enable_intr_window() 93 vmcb->event_inj.v ? vmcb->event_inj.vector : -1); in svm_enable_intr_window() 117 intr.fields.vector = 0; in svm_enable_intr_window() 118 intr.fields.prio = intack.vector >> 4; in svm_enable_intr_window() 208 TRACE(TRC_HVM_INJ_VIRQ, intack.vector, /*fake=*/ 0); in svm_intr_assist() 209 svm_inject_extint(v, intack.vector); in svm_intr_assist()
|
| /xen/xen/arch/x86/hvm/viridian/ |
| A D | synic.c | 155 uint8_t vector; in viridian_synic_wrmsr() local 162 if ( new.vector < 0x10 ) in viridian_synic_wrmsr() 169 vector = vs->vector; in viridian_synic_wrmsr() 172 vector = new.vector; in viridian_synic_wrmsr() 173 vv->vector_to_sintx[vector] = sintx; in viridian_synic_wrmsr() 176 vector); in viridian_synic_wrmsr() 371 unsigned int sintx = vv->vector_to_sintx[vector]; in viridian_synic_is_auto_eoi_sint() 417 uint8_t vector; in viridian_synic_load_vcpu_ctxt() local 421 vector = vv->sint[i].vector; in viridian_synic_load_vcpu_ctxt() 422 if ( vector < 0x10 ) in viridian_synic_load_vcpu_ctxt() [all …]
|
| A D | viridian.c | 803 static void send_ipi(struct hypercall_vpmask *vpmask, uint8_t vector) in send_ipi() argument 817 vlapic_set_irq(vlapic, vector, 0); in send_ipi() 830 uint32_t vector; in hvcall_ipi() local 839 vector = input_params_gpa; in hvcall_ipi() 845 uint32_t vector; in hvcall_ipi() member 861 vector = input_params.vector; in hvcall_ipi() 865 if ( vector < 0x10 || vector > 0xff ) in hvcall_ipi() 871 send_ipi(vpmask, vector); in hvcall_ipi() 883 uint32_t vector; in hvcall_ipi_ex() member 907 if ( input_params.vector < 0x10 || input_params.vector > 0xff ) in hvcall_ipi_ex() [all …]
|
| /xen/xen/arch/x86/hvm/vmx/ |
| A D | realmode.c | 27 unsigned int vector, in realmode_deliver_exception() argument 42 last_byte = (vector * 4) + 3; in realmode_deliver_exception() 44 hvm_copy_from_guest_phys(&cs_eip, idtr->base + vector * 4, 4) != in realmode_deliver_exception() 51 vector = X86_EXC_GP; in realmode_deliver_exception() 56 switch ( vector ) in realmode_deliver_exception() 62 vector = X86_EXC_DF; in realmode_deliver_exception() 65 vector = X86_EXC_GP; in realmode_deliver_exception() 125 ((hvmemul_ctxt->ctxt.event.vector == X86_EXC_DB) || in vmx_realmode_emulate_one() 126 (hvmemul_ctxt->ctxt.event.vector == X86_EXC_BP)) ) in vmx_realmode_emulate_one() 133 hvmemul_ctxt->ctxt.event.vector); in vmx_realmode_emulate_one() [all …]
|
| A D | intr.c | 69 TRACE(TRC_HVM_INTR_WINDOW, intack.vector, intack.source, in vmx_enable_intr_window() 186 vmx_inject_extint(intack.vector, intack.source); in nvmx_intr_intercept() 206 vmx_inject_extint(intack.vector, intack.source); in nvmx_intr_intercept() 292 tpr_threshold = intack.vector >> 4; in vmx_intr_assist() 344 if ( unlikely(intack.vector < pt_vector) ) in vmx_intr_assist() 352 current, intack.source, intack.vector, pt_vector); in vmx_intr_assist() 375 ASSERT(intack.vector >= pt_vector); in vmx_intr_assist() 376 vmx_set_eoi_exit_bitmap(v, intack.vector); in vmx_intr_assist() 383 intack.vector; in vmx_intr_assist() 392 TRACE(TRC_HVM_INJ_VIRQ, intack.vector, /*fake=*/ 0); in vmx_intr_assist() [all …]
|
| /xen/xen/arch/x86/include/asm/ |
| A D | apic.h | 129 static inline bool apic_isr_read(uint8_t vector) in apic_isr_read() argument 131 return (apic_read(APIC_ISR + ((vector & ~0x1f) >> 1)) >> in apic_isr_read() 132 (vector & 0x1f)) & 1; in apic_isr_read() 135 static inline bool apic_irr_read(unsigned int vector) in apic_irr_read() argument 137 return apic_read(APIC_IRR + (vector / 32 * 0x10)) & (1U << (vector % 32)); in apic_irr_read() 185 extern void check_for_unexpected_msi(unsigned int vector);
|
| A D | genapic.h | 30 void (*send_IPI_mask)(const cpumask_t *mask, int vector); 31 void (*send_IPI_self)(uint8_t vector); 42 void cf_check send_IPI_self_legacy(uint8_t vector); 46 void cf_check send_IPI_mask_flat(const cpumask_t *cpumask, int vector); 59 void cf_check send_IPI_mask_phys(const cpumask_t *mask, int vector);
|
| A D | irq.h | 70 s16 vector; /* vector itself is only 8 bits, */ member 120 void set_direct_apic_vector(uint8_t vector, void (*handler)(void)); 121 void alloc_direct_apic_vector(uint8_t *vector, void (*handler)(void)); 201 int bind_irq_vector(int irq, int vector, const cpumask_t *mask); 203 void cf_check end_nonmaskable_irq(struct irq_desc *desc, uint8_t vector);
|
| A D | smp.h | 35 void send_IPI_mask(const cpumask_t *mask, int vector); 36 void send_IPI_self(int vector);
|
| A D | domain.h | 723 static inline void pv_inject_hw_exception(unsigned int vector, int errcode) in pv_inject_hw_exception() argument 726 .vector = vector, in pv_inject_hw_exception() 737 .vector = X86_EXC_PF, in pv_inject_page_fault() 746 static inline void pv_inject_sw_interrupt(unsigned int vector) in pv_inject_sw_interrupt() argument 749 .vector = vector, in pv_inject_sw_interrupt()
|
| /xen/docs/misc/ |
| A D | vtd-pi.txt | 11 Virtual Vector: the guest vector of the interrupt 17 per vector, for up to 256 vectors). 116 The virtual-vector specifies the vector of the interrupt to be recorded in 187 u8 vector; 204 u8 vector; 220 global notification vector for all vCPUs in the system. This vector is stored in 224 This existing global vector is a _special_ vector to CPU, CPU handle it in a 232 how to use this new global vector. 237 Virtual Vector: the guest vector of the interrupt 244 'Virtual Vector' tells the guest vector of the interrupt. [all …]
|
| /xen/xen/arch/x86/include/asm/pv/ |
| A D | traps.h | 26 uint8_t vector) in pv_trap_callback_registered() argument 28 return v->arch.pv.trap_ctxt[vector].address; in pv_trap_callback_registered() 44 uint8_t vector) in pv_trap_callback_registered() argument
|
| /xen/xen/arch/arm/arm32/ |
| A D | entry.S | 157 .macro vector trap, guest_iflags=n, hyp_iflags=0 macro 310 vector reset 321 vector undefined_instruction, hyp_iflags=IFLAGS_AIF 325 vector hypervisor_call 336 vector prefetch_abort, hyp_iflags=IFLAGS_AIF 346 vector data_abort 350 vector guest_sync, guest_iflags=ai 355 vector irq, guest_iflags=a, hyp_iflags=IFLAGS_A_F 363 vector fiq
|
| /xen/xen/drivers/passthrough/amd/ |
| A D | iommu_intr.c | 36 unsigned int vector:8; member 52 unsigned int vector:8; member 222 .vector = vector, in update_intremap_entry() 243 .vector = vector, in update_intremap_entry() 253 rte->vector = (u8)offset; in set_rte_index() 270 uint8_t delivery_mode, vector, dest_mode; in update_intremap_entry_from_ioapic() local 280 vector = rte->vector; in update_intremap_entry_from_ioapic() 408 ? entry.ptr128->full.vector in amd_iommu_read_ioapic_from_ire() 409 : entry.ptr32->flds.vector, in amd_iommu_read_ioapic_from_ire() 425 uint8_t delivery_mode, vector, dest_mode; in update_intremap_entry_from_msi_msg() local [all …]
|
| /xen/xen/arch/x86/hvm/ |
| A D | irq.c | 42 int vector; in hvm_ioapic_assert() local 53 vector = vioapic_get_vector(d, gsi); in hvm_ioapic_assert() 56 return vector; in hvm_ioapic_assert() 210 int vector = -1; in hvm_isa_irq_assert() local 221 vector = get_vector(d, gsi); in hvm_isa_irq_assert() 225 return vector; in hvm_isa_irq_assert() 384 if ( !vector ) in hvm_inject_msi() 512 int vector; in hvm_vcpu_has_pending_irq() local 537 if ( vector != -1 ) in hvm_vcpu_has_pending_irq() 546 int vector; in hvm_vcpu_ack_pending_irq() local [all …]
|
| A D | vioapic.c | 400 uint8_t vector, in ioapic_inj_irq() argument 405 vector, trig_mode, delivery_mode); in ioapic_inj_irq() 410 vlapic_set_irq(target, vector, trig_mode); in ioapic_inj_irq() 418 uint8_t vector = vioapic->redirtbl[pin].fields.vector; in vioapic_deliver() local 430 dest, dest_mode, delivery_mode, vector, trig_mode); in vioapic_deliver() 450 ioapic_inj_irq(vioapic, target, vector, trig_mode, delivery_mode); in vioapic_deliver() 456 vector, dest_LowestPrio); in vioapic_deliver() 468 ioapic_inj_irq(vioapic, vlapic, vector, trig_mode, in vioapic_deliver() 522 void vioapic_update_EOI(struct domain *d, u8 vector) in vioapic_update_EOI() argument 540 if ( ent->fields.vector != vector ) in vioapic_update_EOI() [all …]
|
| A D | vlapic.c | 329 uint8_t vector = (uint8_t)icr_low; in vlapic_accept_irq() local 336 vlapic_set_irq(vlapic, vector, 0); in vlapic_accept_irq() 415 int vector; in vlapic_EOI_set() local 418 vector = vlapic_find_highest_isr(vlapic); in vlapic_EOI_set() 421 if ( vector == -1 ) in vlapic_EOI_set() 436 alternative_vcall(hvm_funcs.handle_eoi, vector, in vlapic_EOI_set() 439 vlapic_handle_EOI(vlapic, vector); in vlapic_EOI_set() 454 vioapic_update_EOI(d, vector); in vlapic_handle_EOI() 456 hvm_dpci_msi_eoi(d, vector); in vlapic_handle_EOI() 1376 if ( isr == -1 && vector > 0x10 ) in vlapic_ack_pending_irq() [all …]
|
| /xen/xen/arch/x86/include/asm/hvm/ |
| A D | hvm.h | 40 uint8_t vector; member 48 #define hvm_intack_vector(vec) hvm_intack(vector, vec) 189 struct vcpu *v, unsigned int vector, int errcode); 202 void (*handle_eoi)(uint8_t vector, int isr); 274 struct domain *d, int vector, 498 unsigned int vector, unsigned int type, in hvm_inject_exception() argument 502 .vector = vector, in hvm_inject_exception() 514 .vector = vector, in hvm_inject_hw_exception() 525 .vector = X86_EXC_PF, in hvm_inject_page_fault() 629 struct vcpu *v, unsigned int vector, int errcode) in nhvm_vmcx_guest_intercepts_event() argument [all …]
|
| /xen/xen/arch/x86/genapic/ |
| A D | x2apic.c | 86 static void cf_check send_IPI_self_x2apic(uint8_t vector) in send_IPI_self_x2apic() argument 88 apic_wrmsr(APIC_SELF_IPI, vector); in send_IPI_self_x2apic() 92 const cpumask_t *cpumask, int vector) in send_IPI_mask_x2apic_phys() argument 118 APIC_DEST_PHYSICAL | vector; in send_IPI_mask_x2apic_phys() 126 const cpumask_t *cpumask, int vector) in send_IPI_mask_x2apic_cluster() argument 154 APIC_DEST_LOGICAL | vector; in send_IPI_mask_x2apic_cluster()
|
| /xen/xen/arch/x86/include/asm/guest/ |
| A D | xen-hcall.h | 162 unsigned int cpu, unsigned int vector) in xen_hypercall_set_evtchn_upcall_vector() argument 166 .vector = vector, in xen_hypercall_set_evtchn_upcall_vector()
|
| /xen/tools/firmware/rombios/32bit/ |
| A D | util.c | 443 uint32_t vector; in get_s3_waking_vector() local 460 vector = facs->x_firmware_waking_vector; in get_s3_waking_vector() 461 if (!vector) in get_s3_waking_vector() 462 vector = facs->firmware_waking_vector; in get_s3_waking_vector() 464 return vector; in get_s3_waking_vector()
|