formatting

This commit is contained in:
rsc 2007-08-14 18:42:34 +00:00
parent 29ff8d495c
commit f1f8dd91bc
6 changed files with 63 additions and 4 deletions

3
pipe.c
View file

@ -45,6 +45,7 @@ pipe_alloc(struct file **f0, struct file **f1)
(*f1)->writable = 1; (*f1)->writable = 1;
(*f1)->pipe = p; (*f1)->pipe = p;
return 0; return 0;
oops: oops:
if(p) if(p)
kfree((char*) p, PAGE); kfree((char*) p, PAGE);
@ -78,6 +79,7 @@ pipe_close(struct pipe *p, int writable)
kfree((char*) p, PAGE); kfree((char*) p, PAGE);
} }
//PAGEBREAK: 20
int int
pipe_write(struct pipe *p, char *addr, int n) pipe_write(struct pipe *p, char *addr, int n)
{ {
@ -117,7 +119,6 @@ pipe_read(struct pipe *p, char *addr, int n)
} }
sleep(&p->readp, &p->lock); sleep(&p->readp, &p->lock);
} }
for(i = 0; i < n; i++){ for(i = 0; i < n; i++){
if(p->readp == p->writep) if(p->readp == p->writep)
break; break;

43
runoff
View file

@ -35,6 +35,7 @@ pr -e8 -t runoff.list | awk '
close(f) close(f)
n=$1 n=$1
printf("%02d %s\n", n/100, s); printf("%02d %s\n", n/100, s);
printf("TOC: %04d %s\n", n, s) >"fmt/tocdata"
next next
} }
{ {
@ -42,6 +43,48 @@ pr -e8 -t runoff.list | awk '
}' | pr -3 -t >>fmt/toc }' | pr -3 -t >>fmt/toc
cat toc.ftr >>fmt/toc cat toc.ftr >>fmt/toc
# check for bad alignments
perl -e '
while(<>){
chomp;
s!#.*!!;
s!\s+! !g;
s! +$!!;
next if /^$/;
if(/TOC: (\d+) (.*)/){
$toc{$2} = $1;
next;
}
if(/even: (.*)/){
$file = $1;
if(!defined($toc{$file})){
print STDERR "Have no toc for $file\n";
next;
}
if($toc{$file} =~ /^\d\d[^0]/){
print STDERR "$file does not start on a fresh page.\n";
}
next;
}
if(/odd: (.*)/){
$file = $1;
if(!defined($toc{$file})){
print STDERR "Have no toc for $file\n";
next;
}
if($toc{$file} =~ /^\d\d[^5]/){
print STDERR "$file does not start on a second half page.\n";
}
next;
}
print STDERR "Unknown spec: $_\n";
}
' fmt/tocdata runoff.spec
# make definition list # make definition list
cd fmt cd fmt
perl -e ' perl -e '

11
runoff.spec Normal file
View file

@ -0,0 +1,11 @@
even: mmu.h
even: bootasm.S
even: bootother.S
even: bootmain.c
even: main.c
even: spinlock.c
even: proc.h
even: proc.c
odd: kalloc.c
even: trap.c
odd: bio.c

3
show1 Executable file
View file

@ -0,0 +1,3 @@
#!/bin/sh
runoff1 "$@" | pr.pl -h "xv6/$@" | mpage -m50t50b -o -bLetter -T -t -2 -FCourier -L60 >x.ps; gv --swap x.ps

View file

@ -98,6 +98,7 @@ extern int sys_kill(void);
extern int sys_link(void); extern int sys_link(void);
extern int sys_mkdir(void); extern int sys_mkdir(void);
extern int sys_mknod(void); extern int sys_mknod(void);
//PAGEBREAK: 0
extern int sys_open(void); extern int sys_open(void);
extern int sys_pipe(void); extern int sys_pipe(void);
extern int sys_read(void); extern int sys_read(void);

6
trap.c
View file

@ -40,11 +40,11 @@ trap(struct trapframe *tf)
return; return;
} }
// PAGEBREAK: 10
// Increment nlock to make sure interrupts stay off // Increment nlock to make sure interrupts stay off
// during interrupt handler. Decrement before returning. // during interrupt handler. Decrement before returning.
cpus[cpu()].nlock++; cpus[cpu()].nlock++;
// PAGEBREAK: 10
switch(tf->trapno){ switch(tf->trapno){
case IRQ_OFFSET + IRQ_TIMER: case IRQ_OFFSET + IRQ_TIMER:
lapic_timerintr(); lapic_timerintr();
@ -80,8 +80,8 @@ trap(struct trapframe *tf)
default: default:
if(cp) { if(cp) {
// Assume process divided by zero or dereferenced null, etc. // Assume process divided by zero or dereferenced null, etc.
cprintf("pid %d %s: unhandled trap %d on cpu %d eip %x -- kill proc\n", cprintf("pid %d %s: unhandled trap %d err %d on cpu %d eip %x -- kill proc\n",
cp->pid, cp->name, tf->trapno, cpu(), tf->eip); cp->pid, cp->name, tf->trapno, tf->err, cpu(), tf->eip);
proc_exit(); proc_exit();
} }