arm/lpae: Introduce lpae_is_page helper
authorSergej Proskurin <proskurin@sec.in.tum.de>
Wed, 16 Aug 2017 13:17:34 +0000 (15:17 +0200)
committerStefano Stabellini <sstabellini@kernel.org>
Fri, 18 Aug 2017 17:27:23 +0000 (10:27 -0700)
This commit introduces a new helper that checks whether the target PTE
holds a page mapping or not. This helper will be used as part of the
following commits.

Signed-off-by: Sergej Proskurin <proskurin@sec.in.tum.de>
Reviewed-by: Julien Grall <julien.grall@arm.com>
Signed-off-by: Stefano Stabellini <sstabellini@kernel.org>
xen/include/asm-arm/lpae.h

index efec4933135e08c7a17ae7c5ea46353828314583..118ee5ae1a672e6841ac4f1990b020465b07fd53 100644 (file)
@@ -153,6 +153,11 @@ static inline bool lpae_is_superpage(lpae_t pte, unsigned int level)
     return (level < 3) && lpae_mapping(pte);
 }
 
+static inline bool lpae_is_page(lpae_t pte, unsigned int level)
+{
+    return (level == 3) && lpae_valid(pte) && pte.walk.table;
+}
+
 /*
  * AArch64 supports pages with different sizes (4K, 16K, and 64K). To enable
  * page table walks for various configurations, the following helpers enable