Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 17 Feb 2016 13:29:18 +0000 (UTC)
From:      Svatopluk Kraus <skra@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org
Subject:   svn commit: r295696 - in head/sys/arm: arm include
Message-ID:  <201602171329.u1HDTIUq030869@repo.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: skra
Date: Wed Feb 17 13:29:17 2016
New Revision: 295696
URL: https://svnweb.freebsd.org/changeset/base/295696

Log:
  Remove unneeded vector_page_setprot() for __ARM_ARCH >= 6. A vector
  page is always mapped in KVA space and so it's always writeable.

Modified:
  head/sys/arm/arm/fiq.c
  head/sys/arm/arm/pmap-v6.c
  head/sys/arm/include/pmap-v6.h

Modified: head/sys/arm/arm/fiq.c
==============================================================================
--- head/sys/arm/arm/fiq.c	Wed Feb 17 12:57:05 2016	(r295695)
+++ head/sys/arm/arm/fiq.c	Wed Feb 17 13:29:17 2016	(r295696)
@@ -41,6 +41,7 @@ __FBSDID("$FreeBSD$");
 #include <sys/param.h>
 #include <sys/systm.h>
 
+#include <machine/acle-compat.h>
 #include <machine/armreg.h>
 #include <machine/cpufunc.h>
 #include <machine/fiq.h>
@@ -73,13 +74,13 @@ fiq_installhandler(void *func, size_t si
 {
 	const uint32_t fiqvector = 7 * sizeof(uint32_t);
 
-#if !defined(__ARM_FIQ_INDIRECT)
+#if __ARM_ARCH < 6 && !defined(__ARM_FIQ_INDIRECT)
 	vector_page_setprot(VM_PROT_READ|VM_PROT_WRITE);
 #endif
 
 	memcpy((void *)(vector_page + fiqvector), func, size);
 
-#if !defined(__ARM_FIQ_INDIRECT)
+#if __ARM_ARCH < 6 && !defined(__ARM_FIQ_INDIRECT)
 	vector_page_setprot(VM_PROT_READ);
 #endif
 	icache_sync((vm_offset_t) fiqvector, size);

Modified: head/sys/arm/arm/pmap-v6.c
==============================================================================
--- head/sys/arm/arm/pmap-v6.c	Wed Feb 17 12:57:05 2016	(r295695)
+++ head/sys/arm/arm/pmap-v6.c	Wed Feb 17 13:29:17 2016	(r295696)
@@ -6314,11 +6314,6 @@ pte1_setrw:
 	return (KERN_FAILURE);
 }
 
-/* !!!! REMOVE !!!! */
-void vector_page_setprot(int p)
-{
-}
-
 #if defined(PMAP_DEBUG)
 /*
  *  Reusing of KVA used in pmap_zero_page function !!!

Modified: head/sys/arm/include/pmap-v6.h
==============================================================================
--- head/sys/arm/include/pmap-v6.h	Wed Feb 17 12:57:05 2016	(r295695)
+++ head/sys/arm/include/pmap-v6.h	Wed Feb 17 13:29:17 2016	(r295696)
@@ -243,11 +243,6 @@ void pmap_preboot_map_attr(vm_paddr_t, v
  */
 #define	PMAP_DOMAIN_KERNEL	0	/* The kernel uses domain #0 */
 
-/*
- * sys/arm/arm/cpufunc.c
- */
-void vector_page_setprot(int);
-
 #endif	/* _KERNEL */
 // -----------------------------------------------------------------------------
 



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