Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 8 Apr 2009 22:19:39 +0000 (UTC)
From:      Marcel Moolenaar <marcel@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org
Subject:   svn commit: r190860 - head/sys/dev/uart
Message-ID:  <200904082219.n38MJdfX079138@svn.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: marcel
Date: Wed Apr  8 22:19:39 2009
New Revision: 190860
URL: http://svn.freebsd.org/changeset/base/190860

Log:
  Don't use pmap_kextact() when comparing bus handles for Book-E.
  We typically wire translation to devices with TLB1 entries and
  pmap_kextract() does not know about those and returns 0.  This
  causes false positives (read: all serial ports suddenly become
  the console).

Modified:
  head/sys/dev/uart/uart_cpu_powerpc.c

Modified: head/sys/dev/uart/uart_cpu_powerpc.c
==============================================================================
--- head/sys/dev/uart/uart_cpu_powerpc.c	Wed Apr  8 21:57:03 2009	(r190859)
+++ head/sys/dev/uart/uart_cpu_powerpc.c	Wed Apr  8 22:19:39 2009	(r190860)
@@ -55,7 +55,11 @@ bus_space_tag_t uart_bus_space_mem = &bs
 int
 uart_cpu_eqres(struct uart_bas *b1, struct uart_bas *b2)
 {
+#ifdef MPC85XX
+	return ((b1->bsh == b2->bsh) ? 1 : 0);
+#else
 	return ((pmap_kextract(b1->bsh) == pmap_kextract(b2->bsh)) ? 1 : 0);
+#endif
 }
 
 #ifdef MPC85XX



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