{
pf->page_present = !!(BITRANGE(63, 63) & p);
pf->page_swapped = !!(BITRANGE(62, 62) & p);
- pf->page_shift = (BITRANGE(55, 60) & p) << 55;
+ pf->page_shift = (BITRANGE(55, 60) & p) >> 55;
pf->pfn = (BITRANGE(0, 54) & p);
-
- printf("pfn: %lx shift: %x present: %d swapped %d\n",
+ pf->swap_type = (BITRANGE(0, 4) & p);
+ pf->swap_offset = (BITRANGE(5, 54) & p) >> 5;
+#if 0
+ printf("pfn: %lx shift: %d present: %d swapped %d\n",
pf->pfn, pf->page_shift, pf->page_present, pf->page_swapped);
+#endif
}
static int compare_pageframe(struct bintree *at, struct bintree *bt)