Source-Changes-HG archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
[src/trunk]: src/sys/arch/powerpc/booke Allow user addresses >= 0x80000000
details: https://anonhg.NetBSD.org/src/rev/7889d76d44d5
branches: trunk
changeset: 779306:7889d76d44d5
user: matt <matt%NetBSD.org@localhost>
date: Thu May 17 16:22:38 2012 +0000
description:
Allow user addresses >= 0x80000000
diffstat:
sys/arch/powerpc/booke/trap.c | 10 ++++++----
1 files changed, 6 insertions(+), 4 deletions(-)
diffs (38 lines):
diff -r d6da56c06e3b -r 7889d76d44d5 sys/arch/powerpc/booke/trap.c
--- a/sys/arch/powerpc/booke/trap.c Thu May 17 16:21:45 2012 +0000
+++ b/sys/arch/powerpc/booke/trap.c Thu May 17 16:22:38 2012 +0000
@@ -1,4 +1,4 @@
-/* $NetBSD: trap.c,v 1.14 2012/02/19 21:06:22 rmind Exp $ */
+/* $NetBSD: trap.c,v 1.15 2012/05/17 16:22:38 matt Exp $ */
/*-
* Copyright (c) 2010, 2011 The NetBSD Foundation, Inc.
* All rights reserved.
@@ -38,7 +38,7 @@
#include <sys/cdefs.h>
-__KERNEL_RCSID(1, "$NetBSD: trap.c,v 1.14 2012/02/19 21:06:22 rmind Exp $");
+__KERNEL_RCSID(1, "$NetBSD: trap.c,v 1.15 2012/05/17 16:22:38 matt Exp $");
#include <sys/param.h>
#include <sys/systm.h>
@@ -699,7 +699,8 @@
}
#endif
- if (usertrap && (tf->tf_fixreg[1] & 0x80000000)) {
+ if ((VM_MAX_ADDRESS & 0x80000000) == 0
+ && usertrap && (tf->tf_fixreg[1] & 0x80000000)) {
printf("%s(entry): pid %d.%d (%s): %s invalid sp %#lx (sprg1=%#lx)\n",
__func__, p->p_pid, l->l_lid, p->p_comm,
trap_names[trap_code], tf->tf_fixreg[1], mfspr(SPR_SPRG1));
@@ -778,7 +779,8 @@
case T_AST:
KASSERT(usertrap);
cpu_ast(l, ci);
- if (tf->tf_fixreg[1] & 0x80000000) {
+ if ((VM_MAX_ADDRESS & 0x80000000) == 0
+ && (tf->tf_fixreg[1] & 0x80000000)) {
printf("%s(ast-exit): pid %d.%d (%s): invalid sp %#lx\n",
__func__, p->p_pid, l->l_lid, p->p_comm,
tf->tf_fixreg[1]);
Home |
Main Index |
Thread Index |
Old Index