svn commit: r314357 - head/sys/x86/x86

Andriy Gapon avg at FreeBSD.org
Mon Feb 27 17:36:32 UTC 2017


Author: avg
Date: Mon Feb 27 17:36:31 2017
New Revision: 314357
URL: https://svnweb.freebsd.org/changeset/base/314357

Log:
  fix lvt_mode: edge-triggered interrupt mode is set by clearing APIC_LVT_TM
  
  The fixed is used only to fix up buggy MPTable information and the
  trigger mode is probably ignored for the relevant interrupt types
  anyway.  Still, it's better to be standards compliant and have the code
  do what it says it does.
  
  Discussed with:	jhb
  MFC after:	5 days

Modified:
  head/sys/x86/x86/local_apic.c

Modified: head/sys/x86/x86/local_apic.c
==============================================================================
--- head/sys/x86/x86/local_apic.c	Mon Feb 27 17:27:42 2017	(r314356)
+++ head/sys/x86/x86/local_apic.c	Mon Feb 27 17:36:31 2017	(r314357)
@@ -398,7 +398,7 @@ lvt_mode(struct lapic *la, u_int pin, ui
 		if (!lvt->lvt_edgetrigger && bootverbose) {
 			printf("lapic%u: Forcing LINT%u to edge trigger\n",
 			    la->la_id, pin);
-			value |= APIC_LVT_TM;
+			value &= ~APIC_LVT_TM;
 		}
 		/* Use a vector of 0. */
 		break;


More information about the svn-src-all mailing list