Robert Morris 
								
							 
						 
						
							
							
							
							
								
							
							
								c714e3e35c 
								
							 
						 
						
							
							
								
								machinevec -> timervec  
							
							 
							
							
							
						 
						
							2019-07-26 10:17:02 -04:00  
						
						
							 
							
							
							
								 
							 
							
							
								 
							 
							
						 
					 
				
					
						
							
								
								
									 
									Robert Morris 
								
							 
						 
						
							
							
							
							
								
							
							
								fa2e2e3c81 
								
							 
						 
						
							
							
								
								uservec before userret in trampoline, to match book and kernelvec  
							
							 
							
							
							
						 
						
							2019-07-26 09:38:22 -04:00  
						
						
							 
							
							
							
								 
							 
							
							
								 
							 
							
						 
					 
				
					
						
							
								
								
									 
									Robert Morris 
								
							 
						 
						
							
							
							
							
								
							
							
								8d30e21b59 
								
							 
						 
						
							
							
								
								Merge branch 'riscv' of g.csail.mit.edu:xv6-dev into riscv  
							
							 
							
							
							
						 
						
							2019-07-26 04:53:59 -04:00  
						
						
							 
							
							
							
								 
							 
							
							
								 
							 
							
						 
					 
				
					
						
							
								
								
									 
									Robert Morris 
								
							 
						 
						
							
							
							
							
								
							
							
								ea95a6654c 
								
							 
						 
						
							
							
								
								trampin -> uservec  
							
							 
							
							... 
							
							
							
							trampout -> userret 
							
						 
						
							2019-07-26 04:53:46 -04:00  
						
						
							 
							
							
							
								 
							 
							
							
								 
							 
							
						 
					 
				
					
						
							
								
								
									 
									Frans Kaashoek 
								
							 
						 
						
							
							
							
							
								
							
							
								47c9721d78 
								
							 
						 
						
							
							
								
								a few name changes in panic msg  
							
							 
							
							
							
						 
						
							2019-07-25 06:59:07 -04:00  
						
						
							 
							
							
							
								 
							 
							
							
								 
							 
							
						 
					 
				
					
						
							
								
								
									 
									Robert Morris 
								
							 
						 
						
							
							
							
							
								
							
							
								4e62de64cd 
								
							 
						 
						
							
							
								
								fix an exit/exit deadlock -> one more locking protocol violation  
							
							 
							
							... 
							
							
							
							increase timer rate from 1/second to 10/second 
							
						 
						
							2019-07-25 06:30:49 -04:00  
						
						
							 
							
							
							
								 
							 
							
							
								 
							 
							
						 
					 
				
					
						
							
								
								
									 
									Robert Morris 
								
							 
						 
						
							
							
							
							
								
							
							
								b19adf79f9 
								
							 
						 
						
							
							
								
								purge x86 stuff from defs.h  
							
							 
							
							
							
						 
						
							2019-07-25 05:37:35 -04:00  
						
						
							 
							
							
							
								 
							 
							
							
								 
							 
							
						 
					 
				
					
						
							
								
								
									 
									Robert Morris 
								
							 
						 
						
							
							
							
							
								
							
							
								5d5e4e065f 
								
							 
						 
						
							
							
								
								comments for timer setup  
							
							 
							
							
							
						 
						
							2019-07-25 05:35:03 -04:00  
						
						
							 
							
							
							
								 
							 
							
							
								 
							 
							
						 
					 
				
					
						
							
								
								
									 
									Robert Morris 
								
							 
						 
						
							
							
							
							
								
							
							
								9a817bd134 
								
							 
						 
						
							
							
								
								rationalize some vm function names  
							
							 
							
							
							
						 
						
							2019-07-24 15:28:37 -04:00  
						
						
							 
							
							
							
								 
							 
							
							
								 
							 
							
						 
					 
				
					
						
							
								
								
									 
									Robert Morris 
								
							 
						 
						
							
							
							
							
								
							
							
								da898a11b6 
								
							 
						 
						
							
							
								
								???  
							
							 
							
							
							
						 
						
							2019-07-24 14:40:13 -04:00  
						
						
							 
							
							
							
								 
							 
							
							
								 
							 
							
						 
					 
				
					
						
							
								
								
									 
									Robert Morris 
								
							 
						 
						
							
							
							
							
								
							
							
								a77287e924 
								
							 
						 
						
							
							
								
								no more PAGEBREAK  
							
							 
							
							
							
						 
						
							2019-07-24 13:33:43 -04:00  
						
						
							 
							
							
							
								 
							 
							
							
								 
							 
							
						 
					 
				
					
						
							
								
								
									 
									Robert Morris 
								
							 
						 
						
							
							
							
							
								
							
							
								b4f89bb529 
								
							 
						 
						
							
							
								
								ping-pong exercise  
							
							 
							
							
							
						 
						
							2019-07-24 10:39:05 -04:00  
						
						
							 
							
							
							
								 
							 
							
							
								 
							 
							
						 
					 
				
					
						
							
								
								
									 
									Robert Morris 
								
							 
						 
						
							
							
							
							
								
							
							
								8f6865d1f1 
								
							 
						 
						
							
							
								
								display assembly instructions, to help with first.tex exercise  
							
							 
							
							
							
						 
						
							2019-07-24 10:15:45 -04:00  
						
						
							 
							
							
							
								 
							 
							
							
								 
							 
							
						 
					 
				
					
						
							
								
								
									 
									Robert Morris 
								
							 
						 
						
							
							
							
							
								
							
							
								936afc6e1a 
								
							 
						 
						
							
							
								
								mstart -> start  
							
							 
							
							
							
						 
						
							2019-07-23 14:31:12 -04:00  
						
						
							 
							
							
							
								 
							 
							
							
								 
							 
							
						 
					 
				
					
						
							
								
								
									 
									Robert Morris 
								
							 
						 
						
							
							
							
							
								
							
							
								54178ad94d 
								
							 
						 
						
							
							
								
								simplify kernel mapping calls  
							
							 
							
							
							
						 
						
							2019-07-23 12:17:17 -04:00  
						
						
							 
							
							
							
								 
							 
							
							
								 
							 
							
						 
					 
				
					
						
							
								
								
									 
									Robert Morris 
								
							 
						 
						
							
							
							
							
								
							
							
								55bc96d419 
								
							 
						 
						
							
							
								
								a few core -> CPU  
							
							 
							
							... 
							
							
							
							get rid of PDF generating support 
							
						 
						
							2019-07-23 11:14:10 -04:00  
						
						
							 
							
							
							
								 
							 
							
							
								 
							 
							
						 
					 
				
					
						
							
								
								
									 
									Frans Kaashoek 
								
							 
						 
						
							
							
							
							
								
							
							
								b8a31c494c 
								
							 
						 
						
							
							
								
								one more TRAMPOLINE  
							
							 
							
							
							
						 
						
							2019-07-23 07:30:23 -04:00  
						
						
							 
							
							
							
								 
							 
							
							
								 
							 
							
						 
					 
				
					
						
							
								
								
									 
									Frans Kaashoek 
								
							 
						 
						
							
							
							
							
								
							
							
								6c78af4a57 
								
							 
						 
						
							
							
								
								fix mapkstack  
							
							 
							
							
							
						 
						
							2019-07-22 20:58:15 -04:00  
						
						
							 
							
							
							
								 
							 
							
							
								 
							 
							
						 
					 
				
					
						
							
								
								
									 
									Frans Kaashoek 
								
							 
						 
						
							
							
							
							
								
							
							
								b2e9c8eea5 
								
							 
						 
						
							
							
								
								Clear U bit for second stack page so that it functions as a guard page  
							
							 
							
							
							
						 
						
							2019-07-22 15:38:08 -04:00  
						
						
							 
							
							
							
								 
							 
							
							
								 
							 
							
						 
					 
				
					
						
							
								
								
									 
									Robert Morris 
								
							 
						 
						
							
							
							
							
								
							
							
								38b430687c 
								
							 
						 
						
							
							
								
								nit  
							
							 
							
							
							
						 
						
							2019-07-22 15:04:07 -04:00  
						
						
							 
							
							
							
								 
							 
							
							
								 
							 
							
						 
					 
				
					
						
							
								
								
									 
									Robert Morris 
								
							 
						 
						
							
							
							
							
								
							
							
								6b379e4707 
								
							 
						 
						
							
							
								
								-MD and TRAPFRAME  
							
							 
							
							
							
						 
						
							2019-07-22 14:54:40 -04:00  
						
						
							 
							
							
							
								 
							 
							
							
								 
							 
							
						 
					 
				
					
						
							
								
								
									 
									Frans Kaashoek 
								
							 
						 
						
							
							
							
							
								
							
							
								5eab649255 
								
							 
						 
						
							
							
								
								Allocate 2 pages per proc, with the top one unmapped.  
							
							 
							
							... 
							
							
							
							The page below the last proc is unmapped by default (because the
kernel doesn't map anything right below the kernel stacks). 
							
						 
						
							2019-07-22 14:30:45 -04:00  
						
						
							 
							
							
							
								 
							 
							
							
								 
							 
							
						 
					 
				
					
						
							
								
								
									 
									Frans Kaashoek 
								
							 
						 
						
							
							
							
							
								
							
							
								c5d48db045 
								
							 
						 
						
							
							
								
								Merge branch 'riscv-kstack' into riscv  
							
							 
							
							
							
						 
						
							2019-07-22 13:32:33 -04:00  
						
						
							 
							
							
							
								 
							 
							
							
								 
							 
							
						 
					 
				
					
						
							
								
								
									 
									Robert Morris 
								
							 
						 
						
							
							
							
							
								
							
							
								328204d9cc 
								
							 
						 
						
							
							
								
								not much  
							
							 
							
							
							
						 
						
							2019-07-20 18:51:31 -04:00  
						
						
							 
							
							
							
								 
							 
							
							
								 
							 
							
						 
					 
				
					
						
							
								
								
									 
									Robert Morris 
								
							 
						 
						
							
							
							
							
								
							
							
								06e49a58dc 
								
							 
						 
						
							
							
								
								pi for pipe, rather than p, to avoid confusion with proc's p->lock  
							
							 
							
							
							
						 
						
							2019-07-20 17:07:20 -04:00  
						
						
							 
							
							
							
								 
							 
							
							
								 
							 
							
						 
					 
				
					
						
							
								
								
									 
									Robert Morris 
								
							 
						 
						
							
							
							
							
								
							
							
								3333665ab6 
								
							 
						 
						
							
							
								
								not much  
							
							 
							
							
							
						 
						
							2019-07-20 10:17:26 -04:00  
						
						
							 
							
							
							
								 
							 
							
							
								 
							 
							
						 
					 
				
					
						
							
								
								
									 
									Robert Morris 
								
							 
						 
						
							
							
							
							
								
							
							
								2418ac380c 
								
							 
						 
						
							
							
								
								it's not clear that the release will always enable interrupts  
							
							 
							
							
							
						 
						
							2019-07-19 13:27:48 -04:00  
						
						
							 
							
							
							
								 
							 
							
							
								 
							 
							
						 
					 
				
					
						
							
								
								
									 
									Frans Kaashoek 
								
							 
						 
						
							
							
							
							
								
							
							
								06109901c9 
								
							 
						 
						
							
							
								
								x  
							
							 
							
							
							
						 
						
							2019-07-19 11:27:02 -04:00  
						
						
							 
							
							
							
								 
							 
							
							
								 
							 
							
						 
					 
				
					
						
							
								
								
									 
									Robert Morris 
								
							 
						 
						
							
							
							
							
								
							
							
								dbd729b32d 
								
							 
						 
						
							
							
								
								with per-proc locks, we don't need the intr_on() inside the loop.  
							
							 
							
							
							
						 
						
							2019-07-19 10:20:02 -04:00  
						
						
							 
							
							
							
								 
							 
							
							
								 
							 
							
						 
					 
				
					
						
							
								
								
									 
									Robert Morris 
								
							 
						 
						
							
							
							
							
								
							
							
								32168df609 
								
							 
						 
						
							
							
								
								no need to save/restore 14  
							
							 
							
							
							
						 
						
							2019-07-19 09:02:15 -04:00  
						
						
							 
							
							
							
								 
							 
							
							
								 
							 
							
						 
					 
				
					
						
							
								
								
									 
									Frans Kaashoek 
								
							 
						 
						
							
							
							
							
								
							
							
								9156632701 
								
							 
						 
						
							
							
								
								One way of supporting a guard page below kstack: allocate kstacks in  
							
							 
							
							... 
							
							
							
							procinit() and map them high up (below TRAMPOLNE) with an empty
mapping below each stack.  Never free a kernel stack.
Another way would be to allocate and map them dynamically, but then we
need to reload page table when switching processes in scheduler()
and/or have a kernel pagetable per proc (if we want k->stack to be the
same virtual address in each process).
One gotcha: kernel addresses are not equal to physical addresses for
stack addresses.  A stack address must be translated if we need its
physical address (e.g., virtio passes a stack address to the disk). 
							
						 
						
							2019-07-19 08:38:51 -04:00  
						
						
							 
							
							
							
								 
							 
							
							
								 
							 
							
						 
					 
				
					
						
							
								
								
									 
									Frans Kaashoek 
								
							 
						 
						
							
							
							
							
								
							
							
								b924e44f06 
								
							 
						 
						
							
							
								
								Merge branch 'riscv' of g.csail.mit.edu:xv6-dev into riscv  
							
							 
							
							
							
						 
						
							2019-07-17 05:53:47 -04:00  
						
						
							 
							
							
							
								 
							 
							
							
								 
							 
							
						 
					 
				
					
						
							
								
								
									 
									Frans Kaashoek 
								
							 
						 
						
							
							
							
							
								
							
							
								ce53416f49 
								
							 
						 
						
							
							
								
								Delete x86 comment  
							
							 
							
							
							
						 
						
							2019-07-17 05:53:34 -04:00  
						
						
							 
							
							
							
								 
							 
							
							
								 
							 
							
						 
					 
				
					
						
							
								
								
									 
									Robert Morris 
								
							 
						 
						
							
							
							
							
								
							
							
								ebc3937209 
								
							 
						 
						
							
							
								
								conservatively call sfence.vma before every satp load.  
							
							 
							
							
							
						 
						
							2019-07-16 17:02:21 -04:00  
						
						
							 
							
							
							
								 
							 
							
							
								 
							 
							
						 
					 
				
					
						
							
								
								
									 
									Robert Morris 
								
							 
						 
						
							
							
							
							
								
							
							
								6bbc2b2245 
								
							 
						 
						
							
							
								
								cosmetic changes  
							
							 
							
							
							
						 
						
							2019-07-11 10:38:56 -04:00  
						
						
							 
							
							
							
								 
							 
							
							
								 
							 
							
						 
					 
				
					
						
							
								
								
									 
									Robert Morris 
								
							 
						 
						
							
							
							
							
								
							
							
								7797a38423 
								
							 
						 
						
							
							
								
								another test, to help with locking exercises  
							
							 
							
							
							
						 
						
							2019-07-11 05:41:59 -04:00  
						
						
							 
							
							
							
								 
							 
							
							
								 
							 
							
						 
					 
				
					
						
							
								
								
									 
									Robert Morris 
								
							 
						 
						
							
							
							
							
								
							
							
								4bc900e78b 
								
							 
						 
						
							
							
								
								nits  
							
							 
							
							
							
						 
						
							2019-07-10 14:54:34 -04:00  
						
						
							 
							
							
							
								 
							 
							
							
								 
							 
							
						 
					 
				
					
						
							
								
								
									 
									Robert Morris 
								
							 
						 
						
							
							
							
							
								
							
							
								061e3be6f8 
								
							 
						 
						
							
							
								
								more comment cleanup  
							
							 
							
							
							
						 
						
							2019-07-10 10:13:08 -04:00  
						
						
							 
							
							
							
								 
							 
							
							
								 
							 
							
						 
					 
				
					
						
							
								
								
									 
									Robert Morris 
								
							 
						 
						
							
							
							
							
								
							
							
								c0266a877a 
								
							 
						 
						
							
							
								
								document which proc fields are protected by p->lock  
							
							 
							
							
							
						 
						
							2019-07-10 09:28:00 -04:00  
						
						
							 
							
							
							
								 
							 
							
							
								 
							 
							
						 
					 
				
					
						
							
								
								
									 
									Robert Morris 
								
							 
						 
						
							
							
							
							
								
							
							
								5eb1685700 
								
							 
						 
						
							
							
								
								have kill() lock before looking at p->pid  
							
							 
							
							... 
							
							
							
							document wait()'s use of np->parent w/o holding lock. 
							
						 
						
							2019-07-10 09:24:50 -04:00  
						
						
							 
							
							
							
								 
							 
							
							
								 
							 
							
						 
					 
				
					
						
							
								
								
									 
									Robert Morris 
								
							 
						 
						
							
							
							
							
								
							
							
								9981bb2270 
								
							 
						 
						
							
							
								
								tweak some comments.  
							
							 
							
							
							
						 
						
							2019-07-10 08:57:51 -04:00  
						
						
							 
							
							
							
								 
							 
							
							
								 
							 
							
						 
					 
				
					
						
							
								
								
									 
									Robert Morris 
								
							 
						 
						
							
							
							
							
								
							
							
								9d34838b4f 
								
							 
						 
						
							
							
								
								holding p->lock all the way through state=RUNNABLE means we don't need EMBRYO  
							
							 
							
							
							
						 
						
							2019-07-08 11:11:00 -04:00  
						
						
							 
							
							
							
								 
							 
							
							
								 
							 
							
						 
					 
				
					
						
							
								
								
									 
									Robert Morris 
								
							 
						 
						
							
							
							
							
								
							
							
								db72f3108f 
								
							 
						 
						
							
							
								
								eliminate ptable. ptable.lock -> pid_lock.  
							
							 
							
							
							
						 
						
							2019-07-07 15:20:13 -04:00  
						
						
							 
							
							
							
								 
							 
							
							
								 
							 
							
						 
					 
				
					
						
							
								
								
									 
									Robert Morris 
								
							 
						 
						
							
							
							
							
								
							
							
								4ce3a5fa21 
								
							 
						 
						
							
							
								
								nits  
							
							 
							
							
							
						 
						
							2019-07-07 14:57:16 -04:00  
						
						
							 
							
							
							
								 
							 
							
							
								 
							 
							
						 
					 
				
					
						
							
								
								
									 
									Robert Morris 
								
							 
						 
						
							
							
							
							
								
							
							
								c4f6a241cd 
								
							 
						 
						
							
							
								
								avoid a double-lock of initproc->lock if child of init is reparenting  
							
							 
							
							
							
						 
						
							2019-07-07 07:03:28 -04:00  
						
						
							 
							
							
							
								 
							 
							
							
								 
							 
							
						 
					 
				
					
						
							
								
								
									 
									Frans Kaashoek 
								
							 
						 
						
							
							
							
							
								
							
							
								dabbc348bc 
								
							 
						 
						
							
							
								
								Maybe fix two races identified by rtm (thx!):  
							
							 
							
							... 
							
							
							
							- during exit(), hold p's parent lock and p's lock across all changes
to p and its parent (e.g., reparenting and wakeup1).  the lock
ordering between concurrent exits of children, parent, and great
parent might work out because processes form a tree.
- in wakeup1() test and set p->state atomically by asking caller to
have p locked.
a correctness proof would be desirable. 
							
						 
						
							2019-07-06 16:38:41 -04:00  
						
						
							 
							
							
							
								 
							 
							
							
								 
							 
							
						 
					 
				
					
						
							
								
								
									 
									Frans Kaashoek 
								
							 
						 
						
							
							
							
							
								
							
							
								fab5e7c1de 
								
							 
						 
						
							
							
								
								Make size in stat.h be a uint64  
							
							 
							
							... 
							
							
							
							Supporting print long using %l (a bit of cheat)
Modify ls to print size using %l
We should probably update size in inode too. 
							
						 
						
							2019-07-04 08:57:23 -04:00  
						
						
							 
							
							
							
								 
							 
							
							
								 
							 
							
						 
					 
				
					
						
							
								
								
									 
									Frans Kaashoek 
								
							 
						 
						
							
							
							
							
								
							
							
								6bfb078b14 
								
							 
						 
						
							
							
								
								x  
							
							 
							
							
							
						 
						
							2019-07-04 08:54:16 -04:00  
						
						
							 
							
							
							
								 
							 
							
							
								 
							 
							
						 
					 
				
					
						
							
								
								
									 
									Frans Kaashoek 
								
							 
						 
						
							
							
							
							
								
							
							
								47e69250d0 
								
							 
						 
						
							
							
								
								Simplify wakeup1  
							
							 
							
							
							
						 
						
							2019-07-03 15:38:30 -04:00  
						
						
							 
							
							
							
								 
							 
							
							
								 
							 
							
						 
					 
				
					
						
							
								
								
									 
									Frans Kaashoek 
								
							 
						 
						
							
							
							
							
								
							
							
								cee830af24 
								
							 
						 
						
							
							
								
								Apply some corresponding bug fixes from wq branch here  
							
							 
							
							
							
						 
						
							2019-07-03 15:18:55 -04:00