svn commit: r195999 - projects/ppc64/sys/powerpc/aim
Nathan Whitehorn
nwhitehorn at FreeBSD.org
Fri Jul 31 14:43:06 UTC 2009
Author: nwhitehorn
Date: Fri Jul 31 14:43:05 2009
New Revision: 195999
URL: http://svn.freebsd.org/changeset/base/195999
Log:
Make copyin()/copyout() work.
Modified:
projects/ppc64/sys/powerpc/aim/copyinout.c
projects/ppc64/sys/powerpc/aim/trap.c
Modified: projects/ppc64/sys/powerpc/aim/copyinout.c
==============================================================================
--- projects/ppc64/sys/powerpc/aim/copyinout.c Fri Jul 31 14:30:06 2009 (r195998)
+++ projects/ppc64/sys/powerpc/aim/copyinout.c Fri Jul 31 14:43:05 2009 (r195999)
@@ -279,7 +279,7 @@ suword32(void *addr, int word)
return (-1);
}
- set_user_sr(pm->pm_sr[(uintptr_t)addr >> ADDR_SR_SHFT]);
+ set_user_sr(va_to_vsid(pm,addr));
*p = word;
Modified: projects/ppc64/sys/powerpc/aim/trap.c
==============================================================================
--- projects/ppc64/sys/powerpc/aim/trap.c Fri Jul 31 14:30:06 2009 (r195998)
+++ projects/ppc64/sys/powerpc/aim/trap.c Fri Jul 31 14:43:05 2009 (r195999)
@@ -522,6 +522,12 @@ trap_pfault(struct trapframe *frame, int
__asm ("slbmfev %0, %1"
: "=r"(user_sr)
: "r"(USER_SR));
+
+ user_sr >>= 12;
+
+ /* XXX - limit to 46 byte EA space */
+ user_sr &= (1UL << 17) - 1UL;
+
#else
__asm ("mfsr %0, %1"
: "=r"(user_sr)
More information about the svn-src-projects
mailing list