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 Implement PMAP_DIRECT / pmap_direct...
details: https://anonhg.NetBSD.org/src/rev/b462a16d9089
branches: trunk
changeset: 446026:b462a16d9089
user: jdolecek <jdolecek%NetBSD.org@localhost>
date: Tue Nov 20 20:53:50 2018 +0000
description:
Implement PMAP_DIRECT / pmap_direct_process() in support of experimental
UBC optimizations (compile-tested only for now)
PR kern/53124
diffstat:
sys/arch/aarch64/include/pmap.h | 12 +++++++++++-
1 files changed, 11 insertions(+), 1 deletions(-)
diffs (26 lines):
diff -r 48c56bb21d6b -r b462a16d9089 sys/arch/aarch64/include/pmap.h
--- a/sys/arch/aarch64/include/pmap.h Tue Nov 20 20:36:24 2018 +0000
+++ b/sys/arch/aarch64/include/pmap.h Tue Nov 20 20:53:50 2018 +0000
@@ -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 {
Home |
Main Index |
Thread Index |
Old Index