Module Name:    src
Committed By:   jdolecek
Date:           Tue Nov 20 20:53:50 UTC 2018

Modified Files:
        src/sys/arch/aarch64/include: pmap.h

Log Message:
Implement PMAP_DIRECT / pmap_direct_process() in support of experimental
UBC optimizations (compile-tested only for now)

PR kern/53124


To generate a diff of this commit:
cvs rdiff -u -r1.17 -r1.18 src/sys/arch/aarch64/include/pmap.h

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/sys/arch/aarch64/include/pmap.h
diff -u src/sys/arch/aarch64/include/pmap.h:1.17 src/sys/arch/aarch64/include/pmap.h:1.18
--- src/sys/arch/aarch64/include/pmap.h:1.17	Thu Nov  1 20:34:50 2018
+++ src/sys/arch/aarch64/include/pmap.h	Tue Nov 20 20:53:50 2018
@@ -1,4 +1,4 @@
-/* $NetBSD: pmap.h,v 1.17 2018/11/01 20:34:50 maxv Exp $ */
+/* $NetBSD: pmap.h,v 1.18 2018/11/20 20:53:50 jdolecek Exp $ */
 
 /*-
  * Copyright (c) 2014 The NetBSD Foundation, Inc.
@@ -54,6 +54,16 @@
 #ifndef KASAN
 #define PMAP_MAP_POOLPAGE(pa)		AARCH64_PA_TO_KVA(pa)
 #define PMAP_UNMAP_POOLPAGE(va)		AARCH64_KVA_TO_PA(va)
+
+#define PMAP_DIRECT
+static __inline int
+pmap_direct_process(paddr_t pa, voff_t pgoff, size_t len,
+    int (*process)(void *, size_t, void *), void *arg)
+{
+	vaddr_t va = AARCH64_PA_TO_KVA(pa);
+
+	return process((void *)(va + pgoff), len, arg);
+}
 #endif
 
 struct pmap {

Reply via email to