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