Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 23 Oct 2009 15:06:28 GMT
From:      Alexander Motin <mav@FreeBSD.org>
To:        Perforce Change Reviews <perforce@freebsd.org>
Subject:   PERFORCE change 169720 for review
Message-ID:  <200910231506.n9NF6STG020003@repoman.freebsd.org>

next in thread | raw e-mail | index | archive | help
http://p4web.freebsd.org/chv.cgi?CH=169720

Change 169720 by mav@mav_mavbook on 2009/10/23 15:06:24

	IFC

Affected files ...

.. //depot/projects/scottl-camlock/src/sys/cam/ata/ata_pmp.c#11 integrate
.. //depot/projects/scottl-camlock/src/sys/dev/ata/ata-queue.c#21 integrate
.. //depot/projects/scottl-camlock/src/sys/dev/ata/atapi-cd.c#14 integrate
.. //depot/projects/scottl-camlock/src/sys/dev/ata/atapi-fd.c#11 integrate
.. //depot/projects/scottl-camlock/src/sys/dev/ata/atapi-tape.c#11 integrate
.. //depot/projects/scottl-camlock/src/sys/powerpc/aim/mmu_oea64.c#7 integrate
.. //depot/projects/scottl-camlock/src/sys/powerpc/aim/trap_subr.S#5 integrate

Differences ...

==== //depot/projects/scottl-camlock/src/sys/cam/ata/ata_pmp.c#11 (text+ko) ====


==== //depot/projects/scottl-camlock/src/sys/dev/ata/ata-queue.c#21 (text+ko) ====

@@ -25,7 +25,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/dev/ata/ata-queue.c,v 1.85 2009/05/01 08:03:46 mav Exp $");
+__FBSDID("$FreeBSD: src/sys/dev/ata/ata-queue.c,v 1.86 2009/10/23 14:56:29 mav Exp $");
 
 #include "opt_ata.h"
 #include <sys/param.h>

==== //depot/projects/scottl-camlock/src/sys/dev/ata/atapi-cd.c#14 (text+ko) ====

@@ -25,7 +25,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/dev/ata/atapi-cd.c,v 1.206 2009/07/08 05:56:14 marcel Exp $");
+__FBSDID("$FreeBSD: src/sys/dev/ata/atapi-cd.c,v 1.207 2009/10/23 14:56:29 mav Exp $");
 
 #include "opt_ata.h"
 #include <sys/param.h>

==== //depot/projects/scottl-camlock/src/sys/dev/ata/atapi-fd.c#11 (text+ko) ====

@@ -25,7 +25,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/dev/ata/atapi-fd.c,v 1.119 2009/02/28 22:07:15 mav Exp $");
+__FBSDID("$FreeBSD: src/sys/dev/ata/atapi-fd.c,v 1.120 2009/10/23 14:56:29 mav Exp $");
 
 #include <sys/param.h>
 #include <sys/systm.h>

==== //depot/projects/scottl-camlock/src/sys/dev/ata/atapi-tape.c#11 (text+ko) ====

@@ -25,7 +25,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/dev/ata/atapi-tape.c,v 1.114 2009/04/26 09:21:37 ed Exp $");
+__FBSDID("$FreeBSD: src/sys/dev/ata/atapi-tape.c,v 1.115 2009/10/23 14:56:29 mav Exp $");
 
 #include "opt_ata.h"
 #include <sys/param.h>

==== //depot/projects/scottl-camlock/src/sys/powerpc/aim/mmu_oea64.c#7 (text+ko) ====

@@ -91,7 +91,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/powerpc/aim/mmu_oea64.c,v 1.6 2009/10/23 03:17:02 nwhitehorn Exp $");
+__FBSDID("$FreeBSD: src/sys/powerpc/aim/mmu_oea64.c,v 1.7 2009/10/23 14:27:40 nwhitehorn Exp $");
 
 /*
  * Manages physical address maps.
@@ -868,15 +868,17 @@
 	ENABLE_TRANS(msr);
 
 	/*
-	 * Map certain important things, like ourselves and the exception
-	 * vectors
+	 * Map certain important things, like ourselves.
+	 *
+	 * NOTE: We do not map the exception vector space. That code is
+	 * used only in real mode, and leaving it unmapped allows us to
+	 * catch NULL pointer deferences, instead of making NULL a valid
+	 * address.
 	 */
 
 	DISABLE_TRANS(msr);
 	for (pa = kernelstart & ~PAGE_MASK; pa < kernelend; pa += PAGE_SIZE) 
 		moea64_kenter(mmup, pa, pa);
-	for (pa = EXC_RSVD; pa < EXC_LAST; pa += PAGE_SIZE) 
-		moea64_kenter(mmup, pa, pa);
 	ENABLE_TRANS(msr);
 
 	if (!ofw_real_mode) {

==== //depot/projects/scottl-camlock/src/sys/powerpc/aim/trap_subr.S#5 (text+ko) ====

@@ -1,4 +1,4 @@
-/* $FreeBSD: src/sys/powerpc/aim/trap_subr.S,v 1.26 2009/10/11 16:41:39 nwhitehorn Exp $ */
+/* $FreeBSD: src/sys/powerpc/aim/trap_subr.S,v 1.27 2009/10/23 14:27:40 nwhitehorn Exp $ */
 /* $NetBSD: trap_subr.S,v 1.20 2002/04/22 23:20:08 kleink Exp $	*/
 
 /*-
@@ -275,10 +275,16 @@
 /*
  * Processor reset exception handler. These are typically
  * the first instructions the processor executes after a
- * software reset.
+ * software reset. We do this in two bits so that we are
+ * not still hanging around in the trap handling region
+ * once the MMU is turned on.
  */
 	.globl	CNAME(rstcode), CNAME(rstsize)
 CNAME(rstcode):
+	ba	cpu_reset
+CNAME(rstsize) = . - CNAME(rstcode)
+
+cpu_reset:
 	bl	1f
 
 	.space	124
@@ -296,7 +302,6 @@
 	/* Should not be reached */
 9:
 	b	9b
-CNAME(rstsize) = . - CNAME(rstcode)
 #endif
 
 /*



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