Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 27 Feb 2017 17:36:31 +0000 (UTC)
From:      Andriy Gapon <avg@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org
Subject:   svn commit: r314357 - head/sys/x86/x86
Message-ID:  <201702271736.v1RHaVFl088928@repo.freebsd.org>

next in thread | raw e-mail | index | archive | help
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;



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