Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 16 Apr 2015 22:44:52 +0000 (UTC)
From:      Neel Natu <neel@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org
Subject:   svn commit: r281630 - head/sys/amd64/vmm
Message-ID:  <201504162244.t3GMiqOP032561@svn.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: neel
Date: Thu Apr 16 22:44:51 2015
New Revision: 281630
URL: https://svnweb.freebsd.org/changeset/base/281630

Log:
  Relax the check on which vectors can be delivered through the APIC. According
  to the Intel SDM vectors 16 through 255 are allowed to be delivered via the
  local APIC.
  
  Reported by:	Leon Dang (ldang@nahannisys.com)
  MFC after:	2 weeks

Modified:
  head/sys/amd64/vmm/vmm_lapic.c

Modified: head/sys/amd64/vmm/vmm_lapic.c
==============================================================================
--- head/sys/amd64/vmm/vmm_lapic.c	Thu Apr 16 22:35:19 2015	(r281629)
+++ head/sys/amd64/vmm/vmm_lapic.c	Thu Apr 16 22:44:51 2015	(r281630)
@@ -57,7 +57,11 @@ lapic_set_intr(struct vm *vm, int cpu, i
 	if (cpu < 0 || cpu >= VM_MAXCPU)
 		return (EINVAL);
 
-	if (vector < 32 || vector > 255)
+	/*
+	 * According to section "Maskable Hardware Interrupts" in Intel SDM
+	 * vectors 16 through 255 can be delivered through the local APIC.
+	 */
+	if (vector < 16 || vector > 255)
 		return (EINVAL);
 
 	vlapic = vm_lapic(vm, cpu);



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201504162244.t3GMiqOP032561>