svn commit: r328179 - head/sys/powerpc/aim
Nathan Whitehorn
nwhitehorn at FreeBSD.org
Fri Jan 19 22:19:51 UTC 2018
Author: nwhitehorn
Date: Fri Jan 19 22:19:50 2018
New Revision: 328179
URL: https://svnweb.freebsd.org/changeset/base/328179
Log:
On AIM systems without a software-managed SLB, such as POWER9 systems using
either hardware segment tables or radix-tree-based page tables, do not try
to install SLB entries at trap boundaries.
Modified:
head/sys/powerpc/aim/trap_subr64.S
Modified: head/sys/powerpc/aim/trap_subr64.S
==============================================================================
--- head/sys/powerpc/aim/trap_subr64.S Fri Jan 19 22:17:13 2018 (r328178)
+++ head/sys/powerpc/aim/trap_subr64.S Fri Jan 19 22:19:50 2018 (r328179)
@@ -58,6 +58,9 @@
restore_usersrs:
GET_CPUINFO(%r28)
ld %r28,PC_USERSLB(%r28)
+ cmpdi %r28, 0 /* If user SLB pointer NULL, exit */
+ beqlr
+
li %r29, 0 /* Set the counter to zero */
slbia
@@ -83,6 +86,12 @@ restore_usersrs:
restore_kernsrs:
GET_CPUINFO(%r28)
addi %r28,%r28,PC_KERNSLB
+ ld %r29,16(%r28) /* One past USER_SLB_SLOT */
+ cmpdi %r28,0
+ beqlr /* If first kernel entry is invalid,
+ * SLBs not in use, so exit early */
+
+ /* Otherwise, set up SLBs */
li %r29, 0 /* Set the counter to zero */
slbia
More information about the svn-src-all
mailing list