typedef struct | |
{ | |
unsigned long long pte; | |
} pte_t; | |
pte_t mk_swap_pte (unsigned long offset) | |
{ | |
pte_t pte; | |
pte.pte = (offset << 40); | |
return pte; | |
} | |
int pte_file (pte_t pte) | |
{ | |
return pte.pte & (1 << 4); | |
} | |
typedef struct | |
{ | |
unsigned long val; | |
} swp_entry_t; | |
pte_t swp_entry_to_pte (swp_entry_t entry) | |
{ | |
swp_entry_t arch_entry; | |
arch_entry = (swp_entry_t){mk_swap_pte (swp_offset (entry)).pte}; | |
__BUG_ON ((unsigned long) pte_file ((pte_t) {arch_entry.val})); | |
return (pte_t) {arch_entry.val}; | |
} |