 9fd126bc74
			
		
	
	
	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>
		
			
				
	
	
		
			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 */
 |