54 lines
		
	
	
	
		
			1.3 KiB
		
	
	
	
		
			Text
		
	
	
	
	
	
			
		
		
	
	
			54 lines
		
	
	
	
		
			1.3 KiB
		
	
	
	
		
			Text
		
	
	
	
	
	
| index:
 | |
| 	SEG_NULL, SEG_ASM not in the index
 | |
| 
 | |
| mmu.h:
 | |
| 	funny \ alignment in mmu.h
 | |
| 
 | |
| main.c:
 | |
| 	should use static int bcpu to avoid having live
 | |
| 	stack variable across the asm volatile that 
 | |
| 	changes %esp and %ebp.
 | |
| 
 | |
| 	cpus[0] -> cpus[bcpu]
 | |
| 
 | |
| proc.c:
 | |
| 	comment at top of scheduler() should say
 | |
| 		via longjmp back to the scheduler
 | |
| 	not
 | |
| 		via longjmp back to the top of scheduler
 | |
| 
 | |
| 	sched should panic if state == RUNNING.
 | |
| 
 | |
| 	forkret comment should say "Return" not "return"
 | |
| 	
 | |
| 	as a consequence of the implementation of proc_kill,
 | |
| 	any loop calling sleep should check for p->killed
 | |
| 	and be able to break out with an error return.
 | |
| 
 | |
| 	can swap procdump up after proc_kill
 | |
| 	and then have proc_exit and proc_wait on same sheet
 | |
| 
 | |
| 	proc_exit should wake up proc[1] if any
 | |
| 	reparenting was done.
 | |
| 
 | |
| 	sched ->  switch2scheduler?  or just switch?
 | |
| 
 | |
| 	factor out switching and scheduling code from process code
 | |
| 
 | |
| trap.c
 | |
| 	if spin locks are ever held without cli,
 | |
| 	trap should call yield() only if nlock == 0
 | |
| 
 | |
| main.c, proc.c, trap.c:
 | |
| 	use a constant for 3 (USER).
 | |
| 
 | |
| ide.c: synchronous disk write -> polling disk write.  search for
 | |
|        (a)synchronous; xv6 doesn't have asynchronous writes.
 | |
| 
 | |
| fs.c: split all name operations off in name.c?  (starting with namei but move 
 | |
|       wdir keep in fs.c)
 | |
| 
 | |
|       unlink . and .. should be disallowed
 | |
| 
 | |
| ls.c: apply tim's patch
 | |
| 
 |