nits
This commit is contained in:
		
							parent
							
								
									3e1eaf226d
								
							
						
					
					
						commit
						c1b100e930
					
				
					 9 changed files with 24 additions and 61 deletions
				
			
		| 
						 | 
				
			
			@ -105,7 +105,7 @@ printint(int xx, int base, int sgn)
 | 
			
		|||
    cons_putc(buf[i]);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// Print to the input. only understands %d, %x, %p, %s.
 | 
			
		||||
// Print to the console. only understands %d, %x, %p, %s.
 | 
			
		||||
void
 | 
			
		||||
cprintf(char *fmt, ...)
 | 
			
		||||
{
 | 
			
		||||
| 
						 | 
				
			
			@ -200,7 +200,6 @@ console_intr(int (*getc)(void))
 | 
			
		|||
    case C('P'):  // Process listing.
 | 
			
		||||
      procdump();
 | 
			
		||||
      break;
 | 
			
		||||
    
 | 
			
		||||
    case C('U'):  // Kill line.
 | 
			
		||||
      while(input.e > input.w &&
 | 
			
		||||
            input.buf[(input.e-1) % INPUT_BUF] != '\n'){
 | 
			
		||||
| 
						 | 
				
			
			@ -208,14 +207,12 @@ console_intr(int (*getc)(void))
 | 
			
		|||
        cons_putc(BACKSPACE);
 | 
			
		||||
      }
 | 
			
		||||
      break;
 | 
			
		||||
  
 | 
			
		||||
    case C('H'):  // Backspace
 | 
			
		||||
      if(input.e > input.w){
 | 
			
		||||
        input.e--;
 | 
			
		||||
        cons_putc(BACKSPACE);
 | 
			
		||||
      }
 | 
			
		||||
      break;
 | 
			
		||||
  
 | 
			
		||||
    default:
 | 
			
		||||
      if(c != 0 && input.e < input.r+INPUT_BUF){
 | 
			
		||||
        input.buf[input.e++] = c;
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
							
								
								
									
										40
									
								
								fsvar.h
									
										
									
									
									
								
							
							
						
						
									
										40
									
								
								fsvar.h
									
										
									
									
									
								
							| 
						 | 
				
			
			@ -16,43 +16,3 @@ struct inode {
 | 
			
		|||
 | 
			
		||||
#define I_BUSY 0x1
 | 
			
		||||
#define I_VALID 0x2
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
// Blank page.
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
							
								
								
									
										6
									
								
								ide.c
									
										
									
									
									
								
							
							
						
						
									
										6
									
								
								ide.c
									
										
									
									
									
								
							| 
						 | 
				
			
			@ -52,7 +52,7 @@ ide_init(void)
 | 
			
		|||
  ide_wait_ready(0);
 | 
			
		||||
  
 | 
			
		||||
  // Check if disk 1 is present
 | 
			
		||||
  outb(0x1f6, 0xE0 | (1<<4));
 | 
			
		||||
  outb(0x1f6, 0xe0 | (1<<4));
 | 
			
		||||
  for(i=0; i<1000; i++){
 | 
			
		||||
    if(inb(0x1f7) != 0){
 | 
			
		||||
      disk_1_present = 1;
 | 
			
		||||
| 
						 | 
				
			
			@ -61,7 +61,7 @@ ide_init(void)
 | 
			
		|||
  }
 | 
			
		||||
  
 | 
			
		||||
  // Switch back to disk 0.
 | 
			
		||||
  outb(0x1f6, 0xE0 | (0<<4));
 | 
			
		||||
  outb(0x1f6, 0xe0 | (0<<4));
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// Start the request for b.  Caller must hold ide_lock.
 | 
			
		||||
| 
						 | 
				
			
			@ -77,7 +77,7 @@ ide_start_request(struct buf *b)
 | 
			
		|||
  outb(0x1f3, b->sector & 0xff);
 | 
			
		||||
  outb(0x1f4, (b->sector >> 8) & 0xff);
 | 
			
		||||
  outb(0x1f5, (b->sector >> 16) & 0xff);
 | 
			
		||||
  outb(0x1f6, 0xE0 | ((b->dev&1)<<4) | ((b->sector>>24)&0x0f));
 | 
			
		||||
  outb(0x1f6, 0xe0 | ((b->dev&1)<<4) | ((b->sector>>24)&0x0f));
 | 
			
		||||
  if(b->flags & B_DIRTY){
 | 
			
		||||
    outb(0x1f7, IDE_CMD_WRITE);
 | 
			
		||||
    outsl(0x1f0, b->data, 512/4);
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
							
								
								
									
										2
									
								
								main.c
									
										
									
									
									
								
							
							
						
						
									
										2
									
								
								main.c
									
										
									
									
									
								
							| 
						 | 
				
			
			@ -57,7 +57,7 @@ main(void)
 | 
			
		|||
}
 | 
			
		||||
 | 
			
		||||
// Additional processors start here.
 | 
			
		||||
void
 | 
			
		||||
static void
 | 
			
		||||
mpmain(void)
 | 
			
		||||
{
 | 
			
		||||
  cprintf("cpu%d: starting\n", cpu());
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
							
								
								
									
										18
									
								
								runoff
									
										
									
									
									
								
							
							
						
						
									
										18
									
								
								runoff
									
										
									
									
									
								
							| 
						 | 
				
			
			@ -134,7 +134,19 @@ perl -e '
 | 
			
		|||
	}
 | 
			
		||||
' $files >defs
 | 
			
		||||
 | 
			
		||||
perl -n -e 'print if s/^([0-9]+ [a-zA-Z0-9_]+)\(.*$/\1/;' $files |
 | 
			
		||||
(for i in $files
 | 
			
		||||
do
 | 
			
		||||
	case "$i" in
 | 
			
		||||
	*.S)
 | 
			
		||||
		cat $i | sed 's;#.*;;; s;//.*;;;'
 | 
			
		||||
		;;
 | 
			
		||||
	*)
 | 
			
		||||
		cat $i | sed 's;//.*;;; s;"([^"\\]|\\.)*";;;'
 | 
			
		||||
	esac
 | 
			
		||||
done
 | 
			
		||||
) >alltext
 | 
			
		||||
 | 
			
		||||
perl -n -e 'print if s/^([0-9]+ [a-zA-Z0-9_]+)\(.*$/\1/;' alltext |
 | 
			
		||||
	egrep -v ' (usage|main|if|for)$' >>defs
 | 
			
		||||
(
 | 
			
		||||
>s.defs
 | 
			
		||||
| 
						 | 
				
			
			@ -144,9 +156,11 @@ for i in `awk '{print $2}' defs | sort -fu`
 | 
			
		|||
do
 | 
			
		||||
	defs=`egrep '^[0-9]+ '$i'( |$)' defs | awk '{print $1}'`
 | 
			
		||||
	echo $i $defs >>s.defs
 | 
			
		||||
	uses=`egrep -h '([^a-zA-Z_0-9])'$i'($|[^a-zA-Z_0-9])' $files | awk '{print $1}'`
 | 
			
		||||
	uses=`egrep -h '([^a-zA-Z_0-9])'$i'($|[^a-zA-Z_0-9])' alltext | awk '{print $1}'`
 | 
			
		||||
	if [ "x$defs" != "x$uses" ]; then
 | 
			
		||||
		echo $i $defs
 | 
			
		||||
		echo $uses |fmt -24 | sed 's/^/    /'
 | 
			
		||||
	fi
 | 
			
		||||
done
 | 
			
		||||
) >refs
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
							
								
								
									
										1
									
								
								toc.ftr
									
										
									
									
									
								
							
							
						
						
									
										1
									
								
								toc.ftr
									
										
									
									
									
								
							| 
						 | 
				
			
			@ -1,6 +1,5 @@
 | 
			
		|||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
The source listing is preceded by a cross-reference that lists every defined 
 | 
			
		||||
constant, struct, global variable, and function in xv6.  Each entry gives,
 | 
			
		||||
on the same line as the name, the line number (or, in a few cases, numbers)
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
							
								
								
									
										1
									
								
								toc.hdr
									
										
									
									
									
								
							
							
						
						
									
										1
									
								
								toc.hdr
									
										
									
									
									
								
							| 
						 | 
				
			
			@ -4,4 +4,3 @@ lines per column, giving one hundred lines per sheet (or page).
 | 
			
		|||
Thus there is a convenient relationship between line numbers and sheet numbers.
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
							
								
								
									
										4
									
								
								trap.c
									
										
									
									
									
								
							
							
						
						
									
										4
									
								
								trap.c
									
										
									
									
									
								
							| 
						 | 
				
			
			@ -48,7 +48,6 @@ trap(struct trapframe *tf)
 | 
			
		|||
  // during interrupt handler.  Decrement before returning.
 | 
			
		||||
  cpus[cpu()].nlock++;
 | 
			
		||||
 | 
			
		||||
  // PAGEBREAK: 10
 | 
			
		||||
  switch(tf->trapno){
 | 
			
		||||
  case IRQ_OFFSET + IRQ_TIMER:
 | 
			
		||||
    if(cpu() == 0){
 | 
			
		||||
| 
						 | 
				
			
			@ -59,17 +58,14 @@ trap(struct trapframe *tf)
 | 
			
		|||
    }
 | 
			
		||||
    lapic_eoi();
 | 
			
		||||
    break;
 | 
			
		||||
 | 
			
		||||
  case IRQ_OFFSET + IRQ_IDE:
 | 
			
		||||
    ide_intr();
 | 
			
		||||
    lapic_eoi();
 | 
			
		||||
    break;
 | 
			
		||||
  
 | 
			
		||||
  case IRQ_OFFSET + IRQ_KBD:
 | 
			
		||||
    kbd_intr();
 | 
			
		||||
    lapic_eoi();
 | 
			
		||||
    break;
 | 
			
		||||
  
 | 
			
		||||
  case IRQ_OFFSET + IRQ_SPURIOUS:
 | 
			
		||||
    cprintf("spurious interrupt from cpu %d eip %x\n", cpu(), tf->eip);
 | 
			
		||||
    lapic_eoi();
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,11 +1,9 @@
 | 
			
		|||
.text
 | 
			
		||||
.globl trap
 | 
			
		||||
.globl trapret1
 | 
			
		||||
.globl alltraps
 | 
			
		||||
 | 
			
		||||
.set SEG_KDATA_SEL, 0x10   # selector for SEG_KDATA
 | 
			
		||||
 | 
			
		||||
  # vectors.S sends all traps here.
 | 
			
		||||
.globl alltraps
 | 
			
		||||
alltraps:
 | 
			
		||||
  # Build trap frame.
 | 
			
		||||
  pushl %ds
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		
		Reference in a new issue