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>
		
			
				
	
	
		
			27 lines
		
	
	
	
		
			645 B
			
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			27 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 */
 |