Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 4 Jun 2019 17:30:22 +0000 (UTC)
From:      Mark Johnston <markj@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-12@freebsd.org
Subject:   svn commit: r348643 - stable/12/sys/riscv/riscv
Message-ID:  <201906041730.x54HUMkv098187@repo.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: markj
Date: Tue Jun  4 17:30:22 2019
New Revision: 348643
URL: https://svnweb.freebsd.org/changeset/base/348643

Log:
  MFC r342733:
  Set PTE_U on PTEs created by pmap_enter_quick().

Modified:
  stable/12/sys/riscv/riscv/pmap.c
Directory Properties:
  stable/12/   (props changed)

Modified: stable/12/sys/riscv/riscv/pmap.c
==============================================================================
--- stable/12/sys/riscv/riscv/pmap.c	Tue Jun  4 17:29:47 2019	(r348642)
+++ stable/12/sys/riscv/riscv/pmap.c	Tue Jun  4 17:30:22 2019	(r348643)
@@ -2379,19 +2379,14 @@ pmap_enter_quick_locked(pmap_t pmap, vm_offset_t va, v
 	 */
 	pmap_resident_count_inc(pmap, 1);
 
-	pa = VM_PAGE_TO_PHYS(m);
-	pn = (pa / PAGE_SIZE);
-
-	entry = PTE_V | PTE_R;
-	if (prot & VM_PROT_EXECUTE)
-		entry |= PTE_X;
-	entry |= (pn << PTE_PPN0_S);
-
-	/*
-	 * Now validate mapping with RO protection
-	 */
+	newl3 = ((VM_PAGE_TO_PHYS(m) / PAGE_SIZE) << PTE_PPN0_S) |
+	    PTE_V | PTE_R;
+	if ((prot & VM_PROT_EXECUTE) != 0)
+		newl3 |= PTE_X;
 	if ((m->oflags & VPO_UNMANAGED) == 0)
-		entry |= PTE_SW_MANAGED;
+		newl3 |= PTE_SW_MANAGED;
+	if (va < VM_MAX_USER_ADDRESS)
+		newl3 |= PTE_U;
 
 	/*
 	 * Sync the i-cache on all harts before updating the PTE
@@ -2400,7 +2395,7 @@ pmap_enter_quick_locked(pmap_t pmap, vm_offset_t va, v
 	if (prot & VM_PROT_EXECUTE)
 		pmap_sync_icache(pmap, va, PAGE_SIZE);
 
-	pmap_store(l3, entry);
+	pmap_store(l3, newl3);
 
 	pmap_invalidate_page(pmap, va);
 	return (mpte);



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