Mon 14 Oct 23:06:38 CEST 2024
This commit is contained in:
		
							parent
							
								
									ba42a747e0
								
							
						
					
					
						commit
						28d3407af5
					
				
							
								
								
									
										34
									
								
								kernel/pagetable.h
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										34
									
								
								kernel/pagetable.h
									
									
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,34 @@ | ||||||
|  | /*
 | ||||||
|  | Copyright (C) 2015-2019 The University of Notre Dame | ||||||
|  | This software is distributed under the GNU General Public License. | ||||||
|  | See the file LICENSE for details. | ||||||
|  | */ | ||||||
|  | 
 | ||||||
|  | #ifndef PAGETABLE_H | ||||||
|  | #define PAGETABLE_H | ||||||
|  | 
 | ||||||
|  | #define PAGE_SIZE 4096 | ||||||
|  | 
 | ||||||
|  | #define PAGE_FLAG_USER        0 | ||||||
|  | #define PAGE_FLAG_KERNEL      1 | ||||||
|  | #define PAGE_FLAG_EXISTS      0 | ||||||
|  | #define PAGE_FLAG_ALLOC       2 | ||||||
|  | #define PAGE_FLAG_READONLY    0 | ||||||
|  | #define PAGE_FLAG_READWRITE   4 | ||||||
|  | #define PAGE_FLAG_NOCLEAR     0 | ||||||
|  | #define PAGE_FLAG_CLEAR       8 | ||||||
|  | 
 | ||||||
|  | struct pagetable *pagetable_create(); | ||||||
|  | void pagetable_init(struct pagetable *p); | ||||||
|  | int pagetable_map(struct pagetable *p, unsigned vaddr, unsigned paddr, int flags); | ||||||
|  | int pagetable_getmap(struct pagetable *p, unsigned vaddr, unsigned *paddr, int *flags); | ||||||
|  | void pagetable_unmap(struct pagetable *p, unsigned vaddr); | ||||||
|  | void pagetable_alloc(struct pagetable *p, unsigned vaddr, unsigned length, int flags); | ||||||
|  | void pagetable_free(struct pagetable *p, unsigned vaddr, unsigned length); | ||||||
|  | void pagetable_delete(struct pagetable *p); | ||||||
|  | struct pagetable *pagetable_duplicate(struct pagetable *p); | ||||||
|  | struct pagetable *pagetable_load(struct pagetable *p); | ||||||
|  | void pagetable_enable(); | ||||||
|  | void pagetable_refresh(); | ||||||
|  | 
 | ||||||
|  | #endif | ||||||
		Loading…
	
		Reference in New Issue
	
	Block a user