Date: Sat, 7 Sep 2013 03:33:37 +0000 (UTC) From: Peter Grehan <grehan@FreeBSD.org> To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r255342 - head/sys/amd64/vmm/io Message-ID: <201309070333.r873XbMQ022200@svn.freebsd.org>
next in thread | raw e-mail | index | archive | help
Author: grehan Date: Sat Sep 7 03:33:36 2013 New Revision: 255342 URL: http://svnweb.freebsd.org/changeset/base/255342 Log: Mask off the vector from the MSI-x data word. Some o/s's set the trigger-mode level bit which results in an invalid vector and pass-thru interrupts not being delivered. Modified: head/sys/amd64/vmm/io/ppt.c Modified: head/sys/amd64/vmm/io/ppt.c ============================================================================== --- head/sys/amd64/vmm/io/ppt.c Sat Sep 7 03:27:13 2013 (r255341) +++ head/sys/amd64/vmm/io/ppt.c Sat Sep 7 03:33:36 2013 (r255342) @@ -568,7 +568,7 @@ ppt_setup_msix(struct vm *vm, int vcpu, return (ENXIO); ppt->msix.arg[idx].pptdev = ppt; - ppt->msix.arg[idx].vec = msg; + ppt->msix.arg[idx].vec = msg & 0xFF; ppt->msix.arg[idx].vcpu = (addr >> 12) & 0xFF; /* Setup the MSI-X interrupt */
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201309070333.r873XbMQ022200>