1 typedef struct
2 {
3   unsigned long long pte;
4 } pte_t;
mk_swap_pte(unsigned long offset)5 pte_t mk_swap_pte (unsigned long offset)
6 {
7   pte_t pte;
8   pte.pte = (offset << 40);
9   return pte;
10 }
pte_file(pte_t pte)11 int pte_file (pte_t pte)
12 {
13   return pte.pte & (1 << 4);
14 }
15 typedef struct
16 {
17   unsigned long val;
18 } swp_entry_t;
swp_entry_to_pte(swp_entry_t entry)19 pte_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