fix runoff complaints about pagination and long lines
This commit is contained in:
		
							parent
							
								
									164f4bae54
								
							
						
					
					
						commit
						4638cabf8c
					
				
					 11 changed files with 25 additions and 33 deletions
				
			
		
							
								
								
									
										26
									
								
								README
									
										
									
									
									
								
							
							
						
						
									
										26
									
								
								README
									
										
									
									
									
								
							|  | @ -34,22 +34,16 @@ Copyright 2006-2016 Frans Kaashoek, Robert Morris, and Russ Cox. | |||
| 
 | ||||
| ERROR REPORTS | ||||
| 
 | ||||
| If you spot errors or have suggestions for improvement, please send email to | ||||
| Frans Kaashoek and Robert Morris (kaashoek,rtm@csail.mit.edu).  If you have | ||||
| suggestions for improvements, please keep in mind that the main purpose of xv6 | ||||
| is as a teaching operating system for MIT's 6.828. For example, we are in | ||||
| particular interested in simplifications and clarifications, instead of | ||||
| suggestions for new systems calls, more portability, etc. | ||||
| Please send errors and suggestions to Frans Kaashoek and Robert Morris | ||||
| (kaashoek,rtm@mit.edu). The main purpose of xv6 is as a teaching | ||||
| operating system for MIT's 6.828, so we are more interested in | ||||
| simplifications and clarifications than new features. | ||||
| 
 | ||||
| BUILDING AND RUNNING XV6 | ||||
| 
 | ||||
| To build xv6 on an x86 ELF machine (like Linux or FreeBSD), run "make". | ||||
| On non-x86 or non-ELF machines (like OS X, even on x86), you will | ||||
| need to install a cross-compiler gcc suite capable of producing x86 ELF | ||||
| binaries.  See http://pdos.csail.mit.edu/6.828/2016/tools.html. | ||||
| Then run "make TOOLPREFIX=i386-jos-elf-". | ||||
| 
 | ||||
| To run xv6, install the QEMU PC simulators.  To run in QEMU, run "make qemu". | ||||
| 
 | ||||
| To create a typeset version of the code, run "make xv6.pdf".  This | ||||
| requires the "mpage" utility.  See http://www.mesa.nl/pub/mpage/. | ||||
| To build xv6 on an x86 ELF machine (like Linux or FreeBSD), run | ||||
| "make". On non-x86 or non-ELF machines (like OS X, even on x86), you | ||||
| will need to install a cross-compiler gcc suite capable of producing | ||||
| x86 ELF binaries. See http://pdos.csail.mit.edu/6.828/2016/tools.html. | ||||
| Then run "make TOOLPREFIX=i386-jos-elf-". Now install the QEMU PC | ||||
| simulator and run "make qemu". | ||||
|  |  | |||
							
								
								
									
										3
									
								
								elf.h
									
										
									
									
									
								
							
							
						
						
									
										3
									
								
								elf.h
									
										
									
									
									
								
							|  | @ -40,6 +40,3 @@ struct proghdr { | |||
| #define ELF_PROG_FLAG_EXEC      1 | ||||
| #define ELF_PROG_FLAG_WRITE     2 | ||||
| #define ELF_PROG_FLAG_READ      4 | ||||
| 
 | ||||
| //PAGEBREAK!
 | ||||
| // Blank page.
 | ||||
|  |  | |||
							
								
								
									
										3
									
								
								file.h
									
										
									
									
									
								
							
							
						
						
									
										3
									
								
								file.h
									
										
									
									
									
								
							|  | @ -35,6 +35,3 @@ struct devsw { | |||
| extern struct devsw devsw[]; | ||||
| 
 | ||||
| #define CONSOLE 1 | ||||
| 
 | ||||
| //PAGEBREAK!
 | ||||
| // Blank page.
 | ||||
|  |  | |||
							
								
								
									
										4
									
								
								fs.c
									
										
									
									
									
								
							
							
						
						
									
										4
									
								
								fs.c
									
										
									
									
									
								
							|  | @ -155,12 +155,12 @@ bfree(int dev, uint b) | |||
| // have locked the inodes involved; this lets callers create
 | ||||
| // multi-step atomic operations.
 | ||||
| //
 | ||||
| // The icache.lock spin-lock defends the allocation of icache
 | ||||
| // The icache.lock spin-lock protects the allocation of icache
 | ||||
| // entries. Since ip->ref indicates whether an entry is free,
 | ||||
| // and ip->dev and ip->inum indicate which i-node an entry
 | ||||
| // holds, one must hold icache.lock while using any of those fields.
 | ||||
| //
 | ||||
| // An ip->lock sleep-lock defends all ip-> fields other than ref,
 | ||||
| // An ip->lock sleep-lock protects all ip-> fields other than ref,
 | ||||
| // dev, and inum.  One must hold ip->lock in order to
 | ||||
| // read or write that inode's ip->valid, ip->size, ip->type, &c.
 | ||||
| 
 | ||||
|  |  | |||
							
								
								
									
										1
									
								
								kalloc.c
									
										
									
									
									
								
							
							
						
						
									
										1
									
								
								kalloc.c
									
										
									
									
									
								
							|  | @ -51,7 +51,6 @@ freerange(void *vstart, void *vend) | |||
|   for(; p + PGSIZE <= (char*)vend; p += PGSIZE) | ||||
|     kfree(p); | ||||
| } | ||||
| 
 | ||||
| //PAGEBREAK: 21
 | ||||
| // Free the page of physical memory pointed at by v,
 | ||||
| // which normally should have been returned by a
 | ||||
|  |  | |||
							
								
								
									
										2
									
								
								lapic.c
									
										
									
									
									
								
							
							
						
						
									
										2
									
								
								lapic.c
									
										
									
									
									
								
							|  | @ -43,13 +43,13 @@ | |||
| 
 | ||||
| volatile uint *lapic;  // Initialized in mp.c
 | ||||
| 
 | ||||
| //PAGEBREAK!
 | ||||
| static void | ||||
| lapicw(int index, int value) | ||||
| { | ||||
|   lapic[index] = value; | ||||
|   lapic[ID];  // wait for write to finish, by reading
 | ||||
| } | ||||
| //PAGEBREAK!
 | ||||
| 
 | ||||
| void | ||||
| lapicinit(void) | ||||
|  |  | |||
							
								
								
									
										4
									
								
								main.c
									
										
									
									
									
								
							
							
						
						
									
										4
									
								
								main.c
									
										
									
									
									
								
							|  | @ -110,3 +110,7 @@ pde_t entrypgdir[NPDENTRIES] = { | |||
| //PAGEBREAK!
 | ||||
| // Blank page.
 | ||||
| //PAGEBREAK!
 | ||||
| // Blank page.
 | ||||
| //PAGEBREAK!
 | ||||
| // Blank page.
 | ||||
| 
 | ||||
|  |  | |||
							
								
								
									
										1
									
								
								mmu.h
									
										
									
									
									
								
							
							
						
						
									
										1
									
								
								mmu.h
									
										
									
									
									
								
							|  | @ -49,7 +49,6 @@ | |||
| // cpu->gdt[NSEGS] holds the above segments.
 | ||||
| #define NSEGS     6 | ||||
| 
 | ||||
| //PAGEBREAK!
 | ||||
| #ifndef __ASSEMBLER__ | ||||
| // Segment Descriptor
 | ||||
| struct segdesc { | ||||
|  |  | |||
							
								
								
									
										4
									
								
								proc.c
									
										
									
									
									
								
							
							
						
						
									
										4
									
								
								proc.c
									
										
									
									
									
								
							|  | @ -32,8 +32,8 @@ cpuid() { | |||
|   return mycpu()-cpus; | ||||
| } | ||||
| 
 | ||||
| // Must be called with interrupts disabled to avoid the caller being rescheduled
 | ||||
| // between reading lapicid and running through the loop.
 | ||||
| // Must be called with interrupts disabled to avoid the caller being
 | ||||
| // rescheduled between reading lapicid and running through the loop.
 | ||||
| struct cpu* | ||||
| mycpu(void) | ||||
| { | ||||
|  |  | |||
							
								
								
									
										7
									
								
								trap.c
									
										
									
									
									
								
							
							
						
						
									
										7
									
								
								trap.c
									
										
									
									
									
								
							|  | @ -89,8 +89,8 @@ trap(struct trapframe *tf) | |||
|     // In user space, assume process misbehaved.
 | ||||
|     cprintf("pid %d %s: trap %d err %d on cpu %d " | ||||
|             "eip 0x%x addr 0x%x--kill proc\n", | ||||
|             myproc()->pid, myproc()->name, tf->trapno, tf->err, cpuid(), tf->eip, | ||||
|             rcr2()); | ||||
|             myproc()->pid, myproc()->name, tf->trapno, | ||||
|             tf->err, cpuid(), tf->eip, rcr2()); | ||||
|     myproc()->killed = 1; | ||||
|   } | ||||
| 
 | ||||
|  | @ -102,7 +102,8 @@ trap(struct trapframe *tf) | |||
| 
 | ||||
|   // Force process to give up CPU on clock tick.
 | ||||
|   // If interrupts were on while locks held, would need to check nlock.
 | ||||
|   if(myproc() && myproc()->state == RUNNING && tf->trapno == T_IRQ0+IRQ_TIMER) | ||||
|   if(myproc() && myproc()->state == RUNNING && | ||||
|      tf->trapno == T_IRQ0+IRQ_TIMER) | ||||
|     yield(); | ||||
| 
 | ||||
|   // Check if the process has been killed since we yielded
 | ||||
|  |  | |||
							
								
								
									
										3
									
								
								vm.c
									
										
									
									
									
								
							
							
						
						
									
										3
									
								
								vm.c
									
										
									
									
									
								
							|  | @ -164,7 +164,8 @@ switchuvm(struct proc *p) | |||
|     panic("switchuvm: no pgdir"); | ||||
| 
 | ||||
|   pushcli(); | ||||
|   mycpu()->gdt[SEG_TSS] = SEG16(STS_T32A, &mycpu()->ts, sizeof(mycpu()->ts)-1, 0); | ||||
|   mycpu()->gdt[SEG_TSS] = SEG16(STS_T32A, &mycpu()->ts, | ||||
|                                 sizeof(mycpu()->ts)-1, 0); | ||||
|   mycpu()->gdt[SEG_TSS].s = 0; | ||||
|   mycpu()->ts.ss0 = SEG_KDATA << 3; | ||||
|   mycpu()->ts.esp0 = (uint)p->kstack + KSTACKSIZE; | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue
	
	 Robert Morris
						Robert Morris