xen/arm: guest_walk: Use lpae_is_mapping to simplify the code
authorJulien Grall <julien.grall@arm.com>
Mon, 16 Jul 2018 17:27:06 +0000 (18:27 +0100)
committerJulien Grall <julien.grall@arm.com>
Wed, 22 Aug 2018 15:36:13 +0000 (16:36 +0100)
!lpae_is_page(pte, level) && !lpae_is_superpage(pte, level) is
equivalent to !lpae_is_mapping(pte, level).

At the same time drop lpae_is_page(pte, level) that is now unused.

Signed-off-by: Julien Grall <julien.grall@arm.com>
Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>
xen/arch/arm/guest_walk.c
xen/include/asm-arm/lpae.h

index a7c7e05603b8a2b77ece64a88f46c99b813d4a16..e3e21bdad3ad7c16e0c66aa00dc6c04939389392 100644 (file)
@@ -566,7 +566,7 @@ static int guest_walk_ld(const struct vcpu *v,
      * PTE is invalid or holds a reserved entry (PTE<1:0> == x0)) or if the PTE
      * maps a memory block at level 3 (PTE<1:0> == 01).
      */
-    if ( !lpae_is_page(pte, level) && !lpae_is_superpage(pte, level) )
+    if ( !lpae_is_mapping(pte, level) )
         return -EFAULT;
 
     /* Make sure that the lower bits of the PTE's base address are zero. */
index 1d86020d079fa97606d0088a16b8c84f23f04cf2..15595cd35c500ec3cec7d3a417befd39e171a9f4 100644 (file)
@@ -153,11 +153,6 @@ static inline bool lpae_is_superpage(lpae_t pte, unsigned int level)
     return (level < 3) && lpae_is_mapping(pte, level);
 }
 
-static inline bool lpae_is_page(lpae_t pte, unsigned int level)
-{
-    return (level == 3) && lpae_is_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