linux/arch/x86/mm/pat_internal.h
<<
>>
Prefs
   1#ifndef __PAT_INTERNAL_H_
   2#define __PAT_INTERNAL_H_
   3
   4extern int pat_debug_enable;
   5
   6#define dprintk(fmt, arg...) \
   7        do { if (pat_debug_enable) printk(KERN_INFO fmt, ##arg); } while (0)
   8
   9struct memtype {
  10        u64                     start;
  11        u64                     end;
  12        u64                     subtree_max_end;
  13        unsigned long           type;
  14        struct rb_node          rb;
  15};
  16
  17static inline char *cattr_name(unsigned long flags)
  18{
  19        switch (flags & _PAGE_CACHE_MASK) {
  20        case _PAGE_CACHE_UC:            return "uncached";
  21        case _PAGE_CACHE_UC_MINUS:      return "uncached-minus";
  22        case _PAGE_CACHE_WB:            return "write-back";
  23        case _PAGE_CACHE_WC:            return "write-combining";
  24        default:                        return "broken";
  25        }
  26}
  27
  28#ifdef CONFIG_X86_PAT
  29extern int rbt_memtype_check_insert(struct memtype *new,
  30                                        unsigned long *new_type);
  31extern struct memtype *rbt_memtype_erase(u64 start, u64 end);
  32extern struct memtype *rbt_memtype_lookup(u64 addr);
  33extern int rbt_memtype_copy_nth_element(struct memtype *out, loff_t pos);
  34#else
  35static inline int rbt_memtype_check_insert(struct memtype *new,
  36                                        unsigned long *new_type)
  37{ return 0; }
  38static inline struct memtype *rbt_memtype_erase(u64 start, u64 end)
  39{ return NULL; }
  40static inline struct memtype *rbt_memtype_lookup(u64 addr)
  41{ return NULL; }
  42static inline int rbt_memtype_copy_nth_element(struct memtype *out, loff_t pos)
  43{ return 0; }
  44#endif
  45
  46#endif /* __PAT_INTERNAL_H_ */
  47