1 /*
2  * local mtrr defines.
3  */
4 #ifndef X86_CPU_MTRR_MTRR_H
5 #define X86_CPU_MTRR_MTRR_H
6 
7 #define MTRR_CHANGE_MASK_FIXED     0x01
8 #define MTRR_CHANGE_MASK_VARIABLE  0x02
9 #define MTRR_CHANGE_MASK_DEFTYPE   0x04
10 
11 void mtrr_get(
12     unsigned int reg, unsigned long *base, unsigned long *size,
13     mtrr_type *type);
14 void mtrr_set(
15     unsigned int reg, unsigned long base, unsigned long size, mtrr_type type);
16 void mtrr_set_all(void);
17 int mtrr_get_free_region(
18     unsigned long base, unsigned long size, int replace_reg);
19 int mtrr_validate_add_page(
20     unsigned long base, unsigned long size, unsigned int type);
21 bool mtrr_have_wrcomb(void);
22 
23 void get_mtrr_state(void);
24 
25 extern u64 size_or_mask, size_and_mask;
26 
27 extern unsigned int num_var_ranges;
28 
29 void mtrr_state_warn(void);
30 
31 #endif /* X86_CPU_MTRR_MTRR_H */
32