summaryrefslogtreecommitdiffstats
path: root/sys/amd64/vmm/vmm_lapic.c
diff options
context:
space:
mode:
authorneel <neel@FreeBSD.org>2014-01-07 00:38:22 +0000
committerneel <neel@FreeBSD.org>2014-01-07 00:38:22 +0000
commitb47601c298499cf56c8feccf975f83b4834b1f66 (patch)
tree84ce402d430e244f007fb174e101abb8d26b7d83 /sys/amd64/vmm/vmm_lapic.c
parente31eb3d9928f2af2dcaedb1c7844622fdab38c92 (diff)
downloadFreeBSD-src-b47601c298499cf56c8feccf975f83b4834b1f66.zip
FreeBSD-src-b47601c298499cf56c8feccf975f83b4834b1f66.tar.gz
Allow vlapic_set_intr_ready() to return a value that indicates whether or not
the vcpu should be kicked to process a pending interrupt. This will be useful in the implementation of the Posted Interrupt APICv feature. Change the return value of 'vlapic_pending_intr()' to indicate whether or not an interrupt is available to be delivered to the vcpu depending on the value of the PPR. Add KTR tracepoints to debug guest IPI delivery.
Diffstat (limited to 'sys/amd64/vmm/vmm_lapic.c')
-rw-r--r--sys/amd64/vmm/vmm_lapic.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/sys/amd64/vmm/vmm_lapic.c b/sys/amd64/vmm/vmm_lapic.c
index cb2c806..47e04da 100644
--- a/sys/amd64/vmm/vmm_lapic.c
+++ b/sys/amd64/vmm/vmm_lapic.c
@@ -62,8 +62,8 @@ lapic_set_intr(struct vm *vm, int cpu, int vector, bool level)
return (EINVAL);
vlapic = vm_lapic(vm, cpu);
- vlapic_set_intr_ready(vlapic, vector, level);
- vcpu_notify_event(vm, cpu, true);
+ if (vlapic_set_intr_ready(vlapic, vector, level))
+ vcpu_notify_event(vm, cpu, true);
return (0);
}
OpenPOWER on IntegriCloud