void callback_test_timer(void *pdata) { vmid_t vmid; HVMM_TRACE_ENTER(); vmid = guest_current_vmid(); printf("Injecting IRQ 30 to Guest:%d\n", vmid); /* SW VIRQ, No PIRQ */ interrupt_guest_inject(vmid, 30, 0, INJECT_SW); HVMM_TRACE_EXIT(); }
static void interrupt_inject_enabled_guest(int num_of_guests, uint32_t irq) { int i; uint32_t virq; for (i = 0; i < num_of_guests; i++) { virq = interrupt_pirq_to_enabled_virq(i, irq); if (virq == VIRQ_INVALID) continue; interrupt_guest_inject(i, virq, irq, INJECT_HW); } }