return stats.missing_faults != 0 || stats.minor_faults != nr_pages;
 }
 
-#define BIT_ULL(nr)                   (1ULL << (nr))
-#define PM_SOFT_DIRTY                 BIT_ULL(55)
-#define PM_MMAP_EXCLUSIVE             BIT_ULL(56)
-#define PM_UFFD_WP                    BIT_ULL(57)
-#define PM_FILE                       BIT_ULL(61)
-#define PM_SWAP                       BIT_ULL(62)
-#define PM_PRESENT                    BIT_ULL(63)
-
 static int pagemap_open(void)
 {
        int fd = open("/proc/self/pagemap", O_RDONLY);
 
 
 bool pagemap_is_softdirty(int fd, char *start)
 {
-       uint64_t entry = pagemap_get_entry(fd, start);
-
-       // Check if dirty bit (55th bit) is set
-       return entry & 0x0080000000000000ull;
+       return pagemap_get_entry(fd, start) & PM_SOFT_DIRTY;
 }
 
 bool pagemap_is_swapped(int fd, char *start)
 {
-       uint64_t entry = pagemap_get_entry(fd, start);
-
-       return entry & 0x4000000000000000ull;
+       return pagemap_get_entry(fd, start) & PM_SWAP;
 }
 
 bool pagemap_is_populated(int fd, char *start)
 {
-       uint64_t entry = pagemap_get_entry(fd, start);
-
-       /* Present or swapped. */
-       return entry & 0xc000000000000000ull;
+       return pagemap_get_entry(fd, start) & (PM_PRESENT | PM_SWAP);
 }
 
 unsigned long pagemap_get_pfn(int fd, char *start)
        uint64_t entry = pagemap_get_entry(fd, start);
 
        /* If present (63th bit), PFN is at bit 0 -- 54. */
-       if (entry & 0x8000000000000000ull)
+       if (entry & PM_PRESENT)
                return entry & 0x007fffffffffffffull;
        return -1ul;
 }
 
 #include <string.h> /* ffsl() */
 #include <unistd.h> /* _SC_PAGESIZE */
 
+#define BIT_ULL(nr)                   (1ULL << (nr))
+#define PM_SOFT_DIRTY                 BIT_ULL(55)
+#define PM_MMAP_EXCLUSIVE             BIT_ULL(56)
+#define PM_UFFD_WP                    BIT_ULL(57)
+#define PM_FILE                       BIT_ULL(61)
+#define PM_SWAP                       BIT_ULL(62)
+#define PM_PRESENT                    BIT_ULL(63)
+
 extern unsigned int __page_size;
 extern unsigned int __page_shift;