1typedef struct 2{ 3 unsigned long long pte; 4} pte_t; 5pte_t mk_swap_pte (unsigned long offset) 6{ 7 pte_t pte; 8 pte.pte = (offset << 40); 9 return pte; 10} 11int pte_file (pte_t pte) 12{ 13 return pte.pte & (1 << 4); 14} 15typedef struct 16{ 17 unsigned long val; 18} swp_entry_t; 19pte_t swp_entry_to_pte (swp_entry_t entry) 20{ 21 swp_entry_t arch_entry; 22 arch_entry = (swp_entry_t){mk_swap_pte (swp_offset (entry)).pte}; 23 __BUG_ON ((unsigned long) pte_file ((pte_t) {arch_entry.val})); 24 return (pte_t) {arch_entry.val}; 25} 26