9fd126bc74
Add new routines to request memtype for IO regions. This will currently be a backend for io_mapping_* routines. But, it can also be made available to drivers directly in future, in case it is needed. reserve interface reserves the memory, makes sure we have a compatible memory type available and keeps the identity map in sync when needed. Signed-off-by: Venkatesh Pallipadi <venkatesh.pallipadi@intel.com> Signed-off-by: Suresh Siddha <suresh.b.siddha@intel.com> Signed-off-by: H. Peter Anvin <hpa@zytor.com>
28 lines
645 B
C
28 lines
645 B
C
#ifndef _ASM_X86_PAT_H
|
|
#define _ASM_X86_PAT_H
|
|
|
|
#include <linux/types.h>
|
|
#include <asm/pgtable_types.h>
|
|
|
|
#ifdef CONFIG_X86_PAT
|
|
extern int pat_enabled;
|
|
#else
|
|
static const int pat_enabled;
|
|
#endif
|
|
|
|
extern void pat_init(void);
|
|
|
|
extern int reserve_memtype(u64 start, u64 end,
|
|
unsigned long req_type, unsigned long *ret_type);
|
|
extern int free_memtype(u64 start, u64 end);
|
|
|
|
extern int kernel_map_sync_memtype(u64 base, unsigned long size,
|
|
unsigned long flag);
|
|
|
|
int io_reserve_memtype(resource_size_t start, resource_size_t end,
|
|
unsigned long *type);
|
|
|
|
void io_free_memtype(resource_size_t start, resource_size_t end);
|
|
|
|
#endif /* _ASM_X86_PAT_H */
|