Update on chapter 3 notes.
This commit is contained in:
		
							parent
							
								
									43805de801
								
							
						
					
					
						commit
						f8f86c4cb9
					
				
					 1 changed files with 7 additions and 0 deletions
				
			
		| 
						 | 
					@ -76,3 +76,10 @@ Before setting satp, instructions use phy@.
 | 
				
			||||||
Each CPU its own satp so each CPU can handle user code.
 | 
					Each CPU its own satp so each CPU can handle user code.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
XV6 = 1 page table per process and 1 page table for the kernel
 | 
					XV6 = 1 page table per process and 1 page table for the kernel
 | 
				
			||||||
 | 
					XV6 kernel page table:
 | 
				
			||||||
 | 
					- direct mapping for most pages
 | 
				
			||||||
 | 
					- no direct mapping for the trampoline page
 | 
				
			||||||
 | 
					- no direct mapping for stacks' pages
 | 
				
			||||||
 | 
					  => these pages are related to the processes (`kstack` in the `proc` structure)
 | 
				
			||||||
 | 
					  => the kstack is followed by an invalid guard page (PTE_V not set)
 | 
				
			||||||
 | 
					     to prevent memory corruption from stack overflows
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
	Add table
		
		Reference in a new issue