formatting
This commit is contained in:
parent
29ff8d495c
commit
f1f8dd91bc
6 changed files with 63 additions and 4 deletions
3
pipe.c
3
pipe.c
|
@ -45,6 +45,7 @@ pipe_alloc(struct file **f0, struct file **f1)
|
|||
(*f1)->writable = 1;
|
||||
(*f1)->pipe = p;
|
||||
return 0;
|
||||
|
||||
oops:
|
||||
if(p)
|
||||
kfree((char*) p, PAGE);
|
||||
|
@ -78,6 +79,7 @@ pipe_close(struct pipe *p, int writable)
|
|||
kfree((char*) p, PAGE);
|
||||
}
|
||||
|
||||
//PAGEBREAK: 20
|
||||
int
|
||||
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);
|
||||
}
|
||||
|
||||
for(i = 0; i < n; i++){
|
||||
if(p->readp == p->writep)
|
||||
break;
|
||||
|
|
43
runoff
43
runoff
|
@ -35,6 +35,7 @@ pr -e8 -t runoff.list | awk '
|
|||
close(f)
|
||||
n=$1
|
||||
printf("%02d %s\n", n/100, s);
|
||||
printf("TOC: %04d %s\n", n, s) >"fmt/tocdata"
|
||||
next
|
||||
}
|
||||
{
|
||||
|
@ -42,6 +43,48 @@ pr -e8 -t runoff.list | awk '
|
|||
}' | pr -3 -t >>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
|
||||
cd fmt
|
||||
perl -e '
|
||||
|
|
11
runoff.spec
Normal file
11
runoff.spec
Normal 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
3
show1
Executable 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
|
|
@ -98,6 +98,7 @@ extern int sys_kill(void);
|
|||
extern int sys_link(void);
|
||||
extern int sys_mkdir(void);
|
||||
extern int sys_mknod(void);
|
||||
//PAGEBREAK: 0
|
||||
extern int sys_open(void);
|
||||
extern int sys_pipe(void);
|
||||
extern int sys_read(void);
|
||||
|
|
6
trap.c
6
trap.c
|
@ -40,11 +40,11 @@ trap(struct trapframe *tf)
|
|||
return;
|
||||
}
|
||||
|
||||
// PAGEBREAK: 10
|
||||
// Increment nlock to make sure interrupts stay off
|
||||
// during interrupt handler. Decrement before returning.
|
||||
cpus[cpu()].nlock++;
|
||||
|
||||
// PAGEBREAK: 10
|
||||
switch(tf->trapno){
|
||||
case IRQ_OFFSET + IRQ_TIMER:
|
||||
lapic_timerintr();
|
||||
|
@ -80,8 +80,8 @@ trap(struct trapframe *tf)
|
|||
default:
|
||||
if(cp) {
|
||||
// Assume process divided by zero or dereferenced null, etc.
|
||||
cprintf("pid %d %s: unhandled trap %d on cpu %d eip %x -- kill proc\n",
|
||||
cp->pid, cp->name, tf->trapno, cpu(), tf->eip);
|
||||
cprintf("pid %d %s: unhandled trap %d err %d on cpu %d eip %x -- kill proc\n",
|
||||
cp->pid, cp->name, tf->trapno, tf->err, cpu(), tf->eip);
|
||||
proc_exit();
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in a new issue