blob: e2c1668dde7ae099e4232e89ccef2be2e69223f0 [file] [log] [blame]
H. Peter Anvin1965aae2008-10-22 22:26:29 -07001#ifndef _ASM_X86_PAT_H
2#define _ASM_X86_PAT_H
venkatesh.pallipadi@intel.com2e5d9c82008-03-18 17:00:14 -07003
4#include <linux/types.h>
Jeremy Fitzhardingea964e332009-03-04 17:14:30 -08005#include <asm/pgtable_types.h>
venkatesh.pallipadi@intel.com2e5d9c82008-03-18 17:00:14 -07006
Thomas Gleixner8d4a4302008-05-08 09:18:43 +02007#ifdef CONFIG_X86_PAT
Andreas Herrmann499f8f82008-06-10 16:06:21 +02008extern int pat_enabled;
Thomas Gleixner8d4a4302008-05-08 09:18:43 +02009#else
Andreas Herrmann499f8f82008-06-10 16:06:21 +020010static const int pat_enabled;
Thomas Gleixner8d4a4302008-05-08 09:18:43 +020011#endif
venkatesh.pallipadi@intel.com2e5d9c82008-03-18 17:00:14 -070012
13extern void pat_init(void);
14
15extern int reserve_memtype(u64 start, u64 end,
16 unsigned long req_type, unsigned long *ret_type);
17extern int free_memtype(u64 start, u64 end);
18
Venkatesh Pallipadi7880f742009-02-24 17:35:13 -080019extern int kernel_map_sync_memtype(u64 base, unsigned long size,
20 unsigned long flag);
21
Venkatesh Pallipadi9fd126b2009-07-10 09:57:34 -070022int io_reserve_memtype(resource_size_t start, resource_size_t end,
23 unsigned long *type);
24
25void io_free_memtype(resource_size_t start, resource_size_t end);
26
H. Peter Anvin1965aae2008-10-22 22:26:29 -070027#endif /* _ASM_X86_PAT_H */