Source-Changes-HG archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

[src/trunk]: src/sys/arch/aarch64/include re-apply rev. 1.18, now tested by J...



details:   https://anonhg.NetBSD.org/src/rev/de525ffb856a
branches:  trunk
changeset: 447224:de525ffb856a
user:      jdolecek <jdolecek%NetBSD.org@localhost>
date:      Fri Jan 04 21:57:53 2019 +0000

description:
re-apply rev. 1.18, now tested by Jonathan Kollasch and Ryo Shimizu - no
problems observed, and about 2x speedup for cached read

Implement PMAP_DIRECT / pmap_direct_process() in support of experimental
UBC optimization

PR kern/53124

diffstat:

 sys/arch/aarch64/include/pmap.h |  12 +++++++++++-
 1 files changed, 11 insertions(+), 1 deletions(-)

diffs (26 lines):

diff -r 31b44decc01d -r de525ffb856a sys/arch/aarch64/include/pmap.h
--- a/sys/arch/aarch64/include/pmap.h   Fri Jan 04 21:39:38 2019 +0000
+++ b/sys/arch/aarch64/include/pmap.h   Fri Jan 04 21:57:53 2019 +0000
@@ -1,4 +1,4 @@
-/* $NetBSD: pmap.h,v 1.19 2018/11/21 12:34:21 jdolecek Exp $ */
+/* $NetBSD: pmap.h,v 1.20 2019/01/04 21:57:53 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 {



Home | Main Index | Thread Index | Old Index