summaryrefslogtreecommitdiffstats
path: root/lib/libkvm
diff options
context:
space:
mode:
authorgjb <gjb@FreeBSD.org>2016-02-22 12:28:23 +0000
committergjb <gjb@FreeBSD.org>2016-02-22 12:28:23 +0000
commit8bfb527a82b3844c875182139d053826902f90d6 (patch)
tree8a0600337b49dbed7acd411e862bbcfba916c0bc /lib/libkvm
parentadbdbd2fff21519f0d418a20255dfd18a2381dbc (diff)
parent6a7ac9da7c8a3a5b9c0a21830670b06935f58332 (diff)
downloadFreeBSD-src-8bfb527a82b3844c875182139d053826902f90d6.zip
FreeBSD-src-8bfb527a82b3844c875182139d053826902f90d6.tar.gz
MFH
Sponsored by: The FreeBSD Foundation
Diffstat (limited to 'lib/libkvm')
-rw-r--r--lib/libkvm/kvm_arm.c2
-rw-r--r--lib/libkvm/kvm_arm.h13
2 files changed, 7 insertions, 8 deletions
diff --git a/lib/libkvm/kvm_arm.c b/lib/libkvm/kvm_arm.c
index bbead35..ae5fb5b 100644
--- a/lib/libkvm/kvm_arm.c
+++ b/lib/libkvm/kvm_arm.c
@@ -183,7 +183,7 @@ _arm_initvtop(kvm_t *kd)
#define l1pte_section_p(pde) (((pde) & ARM_L1_TYPE_MASK) == ARM_L1_TYPE_S)
#define l1pte_valid(pde) ((pde) != 0)
#define l2pte_valid(pte) ((pte) != 0)
-#define l2pte_index(v) (((v) & ARM_L2_ADDR_BITS) >> ARM_L2_S_SHIFT)
+#define l2pte_index(v) (((v) & ARM_L1_S_OFFSET) >> ARM_L2_S_SHIFT)
static int
diff --git a/lib/libkvm/kvm_arm.h b/lib/libkvm/kvm_arm.h
index 096a6b1..38d05cd 100644
--- a/lib/libkvm/kvm_arm.h
+++ b/lib/libkvm/kvm_arm.h
@@ -29,10 +29,6 @@
#ifndef __KVM_ARM_H__
#define __KVM_ARM_H__
-#ifdef __arm__
-#include <machine/pte.h>
-#endif
-
typedef uint32_t arm_physaddr_t;
typedef uint32_t arm_pd_entry_t;
typedef uint32_t arm_pt_entry_t;
@@ -72,11 +68,15 @@ typedef uint32_t arm_pt_entry_t;
#define ARM_L2_TYPE_T 0x03 /* Tiny Page - 1k - not used */
#define ARM_L2_TYPE_MASK 0x03
-#define ARM_L2_ADDR_BITS 0x000ff000 /* L2 PTE address bits */
-
#ifdef __arm__
#include <machine/acle-compat.h>
+#if __ARM_ARCH >= 6
+#include <machine/pte-v6.h>
+#else
+#include <machine/pte-v4.h>
+#endif
+
_Static_assert(PAGE_SHIFT == ARM_PAGE_SHIFT, "PAGE_SHIFT mismatch");
_Static_assert(PAGE_SIZE == ARM_PAGE_SIZE, "PAGE_SIZE mismatch");
_Static_assert(PAGE_MASK == ARM_PAGE_MASK, "PAGE_MASK mismatch");
@@ -106,7 +106,6 @@ _Static_assert(L2_TYPE_S == ARM_L2_TYPE_S, "L2_TYPE_S mismatch");
_Static_assert(L2_TYPE_T == ARM_L2_TYPE_T, "L2_TYPE_T mismatch");
#endif
_Static_assert(L2_TYPE_MASK == ARM_L2_TYPE_MASK, "L2_TYPE_MASK mismatch");
-_Static_assert(L2_ADDR_BITS == ARM_L2_ADDR_BITS, "L2_ADDR_BITS mismatch");
#endif
int _arm_native(kvm_t *);
OpenPOWER on IntegriCloud