1#ifndef _ASM_X86_PAT_H
2#define _ASM_X86_PAT_H
3
4#include <linux/types.h>
5#include <asm/pgtable_types.h>
6
7#ifdef CONFIG_X86_PAT
8extern int pat_enabled;
9#else
10static const int pat_enabled;
11#endif
12
13extern void pat_init(void);
14void pat_init_cache_modes(void);
15
16extern int reserve_memtype(u64 start, u64 end,
17		enum page_cache_mode req_pcm, enum page_cache_mode *ret_pcm);
18extern int free_memtype(u64 start, u64 end);
19
20extern int kernel_map_sync_memtype(u64 base, unsigned long size,
21		enum page_cache_mode pcm);
22
23int io_reserve_memtype(resource_size_t start, resource_size_t end,
24			enum page_cache_mode *pcm);
25
26void io_free_memtype(resource_size_t start, resource_size_t end);
27
28#endif /* _ASM_X86_PAT_H */
29