summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--8253pit.c2
-rw-r--r--bio.c5
-rw-r--r--console.c6
-rwxr-xr-xcuth48
-rw-r--r--exec.c1
-rw-r--r--file.c8
-rw-r--r--fs.c5
-rw-r--r--ide.c2
-rw-r--r--init.c1
-rw-r--r--ioapic.c2
-rw-r--r--kalloc.c3
-rw-r--r--lapic.c5
-rw-r--r--main.c14
-rw-r--r--mkfs.c3
-rw-r--r--mp.c3
-rw-r--r--picirq.c1
-rw-r--r--pipe.c3
-rw-r--r--proc.c5
-rw-r--r--sh.c1
-rw-r--r--spinlock.c2
-rw-r--r--string.c1
-rw-r--r--syscall.c11
-rw-r--r--sysfile.c9
-rw-r--r--sysproc.c13
-rw-r--r--trap.c3
-rw-r--r--umalloc.c4
-rw-r--r--zombie.c2
27 files changed, 73 insertions, 90 deletions
diff --git a/8253pit.c b/8253pit.c
index 12867fb..1d98dc1 100644
--- a/8253pit.c
+++ b/8253pit.c
@@ -1,7 +1,7 @@
#include "types.h"
-#include "x86.h"
#include "defs.h"
#include "traps.h"
+#include "x86.h"
// Register definitions for the Intel
// 8253/8254/82C54 Programmable Interval Timer (PIT).
diff --git a/bio.c b/bio.c
index 5d09acf..eba8e02 100644
--- a/bio.c
+++ b/bio.c
@@ -22,11 +22,8 @@
// and needs to be written to disk.
#include "types.h"
-#include "param.h"
-#include "x86.h"
-#include "mmu.h"
-#include "proc.h"
#include "defs.h"
+#include "param.h"
#include "spinlock.h"
#include "buf.h"
diff --git a/console.c b/console.c
index b1518c0..3e45e3e 100644
--- a/console.c
+++ b/console.c
@@ -1,12 +1,12 @@
#include "types.h"
-#include "x86.h"
-#include "traps.h"
#include "defs.h"
+#include "param.h"
+#include "traps.h"
#include "spinlock.h"
#include "dev.h"
-#include "param.h"
#include "mmu.h"
#include "proc.h"
+#include "x86.h"
#include "kbd.h"
#define CRTPORT 0x3d4
diff --git a/cuth b/cuth
new file mode 100755
index 0000000..cce8c0c
--- /dev/null
+++ b/cuth
@@ -0,0 +1,48 @@
+#!/usr/bin/perl
+
+$| = 1;
+
+sub writefile($@){
+ my ($file, @lines) = @_;
+
+ sleep(1);
+ open(F, ">$file") || die "open >$file: $!";
+ print F @lines;
+ close(F);
+}
+
+# Cut out #include lines that don't contribute anything.
+for($i=0; $i<@ARGV; $i++){
+ $file = $ARGV[$i];
+ if(!open(F, $file)){
+ print STDERR "open $file: $!\n";
+ next;
+ }
+ @lines = <F>;
+ close(F);
+
+ $obj = "$file.o";
+ $obj =~ s/\.c\.o$/.o/;
+ system("touch $file");
+
+ if(system("make CC='gcc -Werror' $obj >/dev/null 2>\&1") != 0){
+ print STDERR "make $obj failed: $rv\n";
+ next;
+ }
+
+ system("cp $file =$file");
+ for($j=@lines-1; $j>=0; $j--){
+ if($lines[$j] =~ /^#include/){
+ $old = $lines[$j];
+ $lines[$j] = "/* CUT-H */\n";
+ writefile($file, @lines);
+ if(system("make CC='gcc -Werror' $obj >/dev/null 2>\&1") != 0){
+ $lines[$j] = $old;
+ }else{
+ print STDERR "$file $old";
+ }
+ }
+ }
+ writefile($file, grep {!/CUT-H/} @lines);
+ system("rm =$file");
+}
diff --git a/exec.c b/exec.c
index 9f06605..5905c16 100644
--- a/exec.c
+++ b/exec.c
@@ -4,7 +4,6 @@
#include "proc.h"
#include "defs.h"
#include "x86.h"
-#include "fs.h"
#include "elf.h"
int
diff --git a/file.c b/file.c
index 273ba2a..7f17b65 100644
--- a/file.c
+++ b/file.c
@@ -1,15 +1,9 @@
#include "types.h"
-#include "stat.h"
-#include "param.h"
-#include "x86.h"
-#include "mmu.h"
-#include "proc.h"
#include "defs.h"
+#include "param.h"
#include "file.h"
#include "spinlock.h"
#include "dev.h"
-#include "fs.h"
-#include "fsvar.h"
struct devsw devsw[NDEV];
struct spinlock file_table_lock;
diff --git a/fs.c b/fs.c
index fb82f91..e92ffda 100644
--- a/fs.c
+++ b/fs.c
@@ -11,12 +11,11 @@
// are in sysfile.c.
#include "types.h"
-#include "stat.h"
+#include "defs.h"
#include "param.h"
-#include "x86.h"
+#include "stat.h"
#include "mmu.h"
#include "proc.h"
-#include "defs.h"
#include "spinlock.h"
#include "buf.h"
#include "fs.h"
diff --git a/ide.c b/ide.c
index 092b8ce..aa8fe29 100644
--- a/ide.c
+++ b/ide.c
@@ -1,10 +1,10 @@
// Simple PIO-based (non-DMA) IDE driver code.
#include "types.h"
+#include "defs.h"
#include "param.h"
#include "mmu.h"
#include "proc.h"
-#include "defs.h"
#include "x86.h"
#include "traps.h"
#include "spinlock.h"
diff --git a/init.c b/init.c
index e873f3b..d3e1182 100644
--- a/init.c
+++ b/init.c
@@ -1,7 +1,6 @@
#include "types.h"
#include "stat.h"
#include "user.h"
-#include "fs.h"
#include "fcntl.h"
// init: The initial user-level program
diff --git a/ioapic.c b/ioapic.c
index a009ca8..8da3151 100644
--- a/ioapic.c
+++ b/ioapic.c
@@ -2,9 +2,7 @@
// http://www.intel.com/design/chipsets/datashts/29056601.pdf
#include "types.h"
-#include "mp.h"
#include "defs.h"
-#include "x86.h"
#include "traps.h"
#define IOAPIC 0xFEC00000 // Default physical address of IO APIC
diff --git a/kalloc.c b/kalloc.c
index eb78212..e0b9765 100644
--- a/kalloc.c
+++ b/kalloc.c
@@ -5,12 +5,9 @@
// One reason the page size is 4k is that the x86 segment size
// granularity is 4k.
-#include "param.h"
#include "types.h"
#include "defs.h"
#include "param.h"
-#include "mmu.h"
-#include "proc.h"
#include "spinlock.h"
struct spinlock kalloc_lock;
diff --git a/lapic.c b/lapic.c
index 6afc3b8..5df4f86 100644
--- a/lapic.c
+++ b/lapic.c
@@ -2,12 +2,7 @@
// See Chapter 8 & Appendix C of Intel processor manual volume 3.
#include "types.h"
-#include "defs.h"
-#include "param.h"
-#include "x86.h"
#include "traps.h"
-#include "mmu.h"
-#include "proc.h"
// Local APIC registers, divided by 4 for use as uint[] indices.
#define ID (0x0020/4) // ID
diff --git a/main.c b/main.c
index a8b3f62..570c164 100644
--- a/main.c
+++ b/main.c
@@ -1,23 +1,15 @@
#include "types.h"
+#include "defs.h"
#include "param.h"
#include "mmu.h"
#include "proc.h"
-#include "defs.h"
#include "x86.h"
-#include "traps.h"
-#include "syscall.h"
-#include "elf.h"
-#include "param.h"
-#include "spinlock.h"
extern char edata[], end[];
void bootothers(void);
// Bootstrap processor starts running C code here.
-// This is called main0 not main so that it can have
-// a void return type. Gcc can't handle functions named
-// main that don't return int. Really.
void
main0(void)
{
@@ -39,7 +31,7 @@ main0(void)
asm volatile("movl %0, %%ebp" : : "r" (cpus[bcpu].mpstack+MPSTACK));
lapic_init(bcpu);
- cprintf("\\ncpu%d: starting xv6\\n\\n", cpu());
+ cprintf("\ncpu%d: starting xv6\n\n", cpu());
pinit(); // process table
binit(); // buffer cache
@@ -69,7 +61,7 @@ main0(void)
void
mpmain(void)
{
- cprintf("cpu%d: starting\\n", cpu());
+ cprintf("cpu%d: starting\n", cpu());
idtinit();
lapic_init(cpu());
setupsegs(0);
diff --git a/mkfs.c b/mkfs.c
index b367f61..32bf4e7 100644
--- a/mkfs.c
+++ b/mkfs.c
@@ -5,7 +5,6 @@
#include <fcntl.h>
#include <assert.h>
#include "types.h"
-#include "param.h"
#include "fs.h"
int nblocks = 995;
@@ -55,7 +54,7 @@ int
main(int argc, char *argv[])
{
int i, cc, fd;
- uint bn, rootino, inum, off;
+ uint rootino, inum, off;
struct dirent de;
char buf[512];
struct dinode din;
diff --git a/mp.c b/mp.c
index edd85df..563a401 100644
--- a/mp.c
+++ b/mp.c
@@ -1,11 +1,10 @@
// http://developer.intel.com/design/pentium/datashts/24201606.pdf
#include "types.h"
-#include "mp.h"
#include "defs.h"
#include "param.h"
+#include "mp.h"
#include "x86.h"
-#include "traps.h"
#include "mmu.h"
#include "proc.h"
diff --git a/picirq.c b/picirq.c
index b7d0116..7c5f713 100644
--- a/picirq.c
+++ b/picirq.c
@@ -1,7 +1,6 @@
#include "types.h"
#include "x86.h"
#include "traps.h"
-#include "defs.h"
// I/O Addresses of the two 8259A programmable interrupt controllers
#define IO_PIC1 0x20 // Master (IRQs 0-7)
diff --git a/pipe.c b/pipe.c
index cd27cbf..83afb35 100644
--- a/pipe.c
+++ b/pipe.c
@@ -1,9 +1,8 @@
#include "types.h"
+#include "defs.h"
#include "param.h"
-#include "x86.h"
#include "mmu.h"
#include "proc.h"
-#include "defs.h"
#include "file.h"
#include "spinlock.h"
diff --git a/proc.c b/proc.c
index 776c8b4..eb7d1f8 100644
--- a/proc.c
+++ b/proc.c
@@ -1,10 +1,9 @@
#include "types.h"
+#include "defs.h"
+#include "param.h"
#include "mmu.h"
#include "x86.h"
-#include "param.h"
-#include "file.h"
#include "proc.h"
-#include "defs.h"
#include "spinlock.h"
struct spinlock proc_table_lock;
diff --git a/sh.c b/sh.c
index 1b517ef..205b445 100644
--- a/sh.c
+++ b/sh.c
@@ -1,7 +1,6 @@
#include "types.h"
#include "stat.h"
#include "user.h"
-#include "fs.h"
#include "fcntl.h"
#define BUFSIZ 512
diff --git a/spinlock.c b/spinlock.c
index af0c2e9..236235c 100644
--- a/spinlock.c
+++ b/spinlock.c
@@ -2,9 +2,9 @@
#include "types.h"
#include "defs.h"
+#include "param.h"
#include "x86.h"
#include "mmu.h"
-#include "param.h"
#include "proc.h"
#include "spinlock.h"
diff --git a/string.c b/string.c
index 2f9fc25..5720245 100644
--- a/string.c
+++ b/string.c
@@ -1,5 +1,4 @@
#include "types.h"
-#include "defs.h"
void*
memset(void *dst, int c, uint n)
diff --git a/syscall.c b/syscall.c
index 9fed725..bc6c316 100644
--- a/syscall.c
+++ b/syscall.c
@@ -1,19 +1,10 @@
#include "types.h"
-#include "stat.h"
+#include "defs.h"
#include "param.h"
#include "mmu.h"
#include "proc.h"
-#include "defs.h"
#include "x86.h"
-#include "traps.h"
#include "syscall.h"
-#include "spinlock.h"
-#include "buf.h"
-#include "fs.h"
-#include "fsvar.h"
-#include "elf.h"
-#include "file.h"
-#include "fcntl.h"
// User code makes a system call with INT T_SYSCALL.
// System call number in %eax.
diff --git a/sysfile.c b/sysfile.c
index 105fb48..71b8785 100644
--- a/sysfile.c
+++ b/sysfile.c
@@ -1,14 +1,9 @@
#include "types.h"
-#include "stat.h"
+#include "defs.h"
#include "param.h"
+#include "stat.h"
#include "mmu.h"
#include "proc.h"
-#include "defs.h"
-#include "x86.h"
-#include "traps.h"
-#include "syscall.h"
-#include "spinlock.h"
-#include "buf.h"
#include "fs.h"
#include "fsvar.h"
#include "file.h"
diff --git a/sysproc.c b/sysproc.c
index 48fbe37..b769216 100644
--- a/sysproc.c
+++ b/sysproc.c
@@ -1,19 +1,8 @@
#include "types.h"
-#include "stat.h"
+#include "defs.h"
#include "param.h"
#include "mmu.h"
#include "proc.h"
-#include "defs.h"
-#include "x86.h"
-#include "traps.h"
-#include "syscall.h"
-#include "spinlock.h"
-#include "buf.h"
-#include "fs.h"
-#include "fsvar.h"
-#include "elf.h"
-#include "file.h"
-#include "fcntl.h"
int
sys_fork(void)
diff --git a/trap.c b/trap.c
index e045aed..5955cfc 100644
--- a/trap.c
+++ b/trap.c
@@ -1,11 +1,10 @@
#include "types.h"
+#include "defs.h"
#include "param.h"
#include "mmu.h"
#include "proc.h"
-#include "defs.h"
#include "x86.h"
#include "traps.h"
-#include "syscall.h"
#include "spinlock.h"
// Interrupt descriptor table (shared by all CPUs).
diff --git a/umalloc.c b/umalloc.c
index 30f970d..401ee6a 100644
--- a/umalloc.c
+++ b/umalloc.c
@@ -3,8 +3,8 @@
#include "user.h"
#include "param.h"
-// Memory allocator by Kernighan and Ritchie, The C programming Language,
-// 2nd ed. Section 8.7.
+// Memory allocator by Kernighan and Ritchie,
+// The C programming Language, 2nd ed. Section 8.7.
typedef long Align;
diff --git a/zombie.c b/zombie.c
index 07ad798..077c02c 100644
--- a/zombie.c
+++ b/zombie.c
@@ -8,8 +8,6 @@
int
main(void)
{
- int i;
-
if(fork() > 0)
sleep(5); // Let child exit before parent.
exit();