diff options
author | neel <neel@FreeBSD.org> | 2014-01-07 00:38:22 +0000 |
---|---|---|
committer | neel <neel@FreeBSD.org> | 2014-01-07 00:38:22 +0000 |
commit | b47601c298499cf56c8feccf975f83b4834b1f66 (patch) | |
tree | 84ce402d430e244f007fb174e101abb8d26b7d83 /sys/amd64/vmm/vmm_lapic.c | |
parent | e31eb3d9928f2af2dcaedb1c7844622fdab38c92 (diff) | |
download | FreeBSD-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.c | 4 |
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); } |