Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
X
xv6-public
项目
项目
详情
活动
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
统计图
问题
0
问题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
银宸时代
OS Lab Group
奖励实验
xv6-public
提交
558ab49f
提交
558ab49f
8月 27, 2007
创建
作者:
rsc
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
delete unnecessary #include lines
上级
99b11b6c
隐藏空白字符变更
内嵌
并排
正在显示
27 个修改的文件
包含
73 行增加
和
90 行删除
+73
-90
8253pit.c
8253pit.c
+1
-1
bio.c
bio.c
+1
-4
console.c
console.c
+3
-3
cuth
cuth
+48
-0
exec.c
exec.c
+0
-1
file.c
file.c
+1
-7
fs.c
fs.c
+2
-3
ide.c
ide.c
+1
-1
init.c
init.c
+0
-1
ioapic.c
ioapic.c
+0
-2
kalloc.c
kalloc.c
+0
-3
lapic.c
lapic.c
+0
-5
main.c
main.c
+3
-11
mkfs.c
mkfs.c
+1
-2
mp.c
mp.c
+1
-2
picirq.c
picirq.c
+0
-1
pipe.c
pipe.c
+1
-2
proc.c
proc.c
+2
-3
sh.c
sh.c
+0
-1
spinlock.c
spinlock.c
+1
-1
string.c
string.c
+0
-1
syscall.c
syscall.c
+1
-10
sysfile.c
sysfile.c
+2
-7
sysproc.c
sysproc.c
+1
-12
trap.c
trap.c
+1
-2
umalloc.c
umalloc.c
+2
-2
zombie.c
zombie.c
+0
-2
没有找到文件。
8253pit.c
浏览文件 @
558ab49f
#include "types.h"
#include "types.h"
#include "x86.h"
#include "defs.h"
#include "defs.h"
#include "traps.h"
#include "traps.h"
#include "x86.h"
// Register definitions for the Intel
// Register definitions for the Intel
// 8253/8254/82C54 Programmable Interval Timer (PIT).
// 8253/8254/82C54 Programmable Interval Timer (PIT).
...
...
bio.c
浏览文件 @
558ab49f
...
@@ -22,11 +22,8 @@
...
@@ -22,11 +22,8 @@
// and needs to be written to disk.
// and needs to be written to disk.
#include "types.h"
#include "types.h"
#include "param.h"
#include "x86.h"
#include "mmu.h"
#include "proc.h"
#include "defs.h"
#include "defs.h"
#include "param.h"
#include "spinlock.h"
#include "spinlock.h"
#include "buf.h"
#include "buf.h"
...
...
console.c
浏览文件 @
558ab49f
#include "types.h"
#include "types.h"
#include "x86.h"
#include "traps.h"
#include "defs.h"
#include "defs.h"
#include "param.h"
#include "traps.h"
#include "spinlock.h"
#include "spinlock.h"
#include "dev.h"
#include "dev.h"
#include "param.h"
#include "mmu.h"
#include "mmu.h"
#include "proc.h"
#include "proc.h"
#include "x86.h"
#include "kbd.h"
#include "kbd.h"
#define CRTPORT 0x3d4
#define CRTPORT 0x3d4
...
...
cuth
0 → 100755
浏览文件 @
558ab49f
#!/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"
);
}
exec.c
浏览文件 @
558ab49f
...
@@ -4,7 +4,6 @@
...
@@ -4,7 +4,6 @@
#include "proc.h"
#include "proc.h"
#include "defs.h"
#include "defs.h"
#include "x86.h"
#include "x86.h"
#include "fs.h"
#include "elf.h"
#include "elf.h"
int
int
...
...
file.c
浏览文件 @
558ab49f
#include "types.h"
#include "types.h"
#include "stat.h"
#include "param.h"
#include "x86.h"
#include "mmu.h"
#include "proc.h"
#include "defs.h"
#include "defs.h"
#include "param.h"
#include "file.h"
#include "file.h"
#include "spinlock.h"
#include "spinlock.h"
#include "dev.h"
#include "dev.h"
#include "fs.h"
#include "fsvar.h"
struct
devsw
devsw
[
NDEV
];
struct
devsw
devsw
[
NDEV
];
struct
spinlock
file_table_lock
;
struct
spinlock
file_table_lock
;
...
...
fs.c
浏览文件 @
558ab49f
...
@@ -11,12 +11,11 @@
...
@@ -11,12 +11,11 @@
// are in sysfile.c.
// are in sysfile.c.
#include "types.h"
#include "types.h"
#include "
stat
.h"
#include "
defs
.h"
#include "param.h"
#include "param.h"
#include "
x86
.h"
#include "
stat
.h"
#include "mmu.h"
#include "mmu.h"
#include "proc.h"
#include "proc.h"
#include "defs.h"
#include "spinlock.h"
#include "spinlock.h"
#include "buf.h"
#include "buf.h"
#include "fs.h"
#include "fs.h"
...
...
ide.c
浏览文件 @
558ab49f
// Simple PIO-based (non-DMA) IDE driver code.
// Simple PIO-based (non-DMA) IDE driver code.
#include "types.h"
#include "types.h"
#include "defs.h"
#include "param.h"
#include "param.h"
#include "mmu.h"
#include "mmu.h"
#include "proc.h"
#include "proc.h"
#include "defs.h"
#include "x86.h"
#include "x86.h"
#include "traps.h"
#include "traps.h"
#include "spinlock.h"
#include "spinlock.h"
...
...
init.c
浏览文件 @
558ab49f
#include "types.h"
#include "types.h"
#include "stat.h"
#include "stat.h"
#include "user.h"
#include "user.h"
#include "fs.h"
#include "fcntl.h"
#include "fcntl.h"
// init: The initial user-level program
// init: The initial user-level program
...
...
ioapic.c
浏览文件 @
558ab49f
...
@@ -2,9 +2,7 @@
...
@@ -2,9 +2,7 @@
// http://www.intel.com/design/chipsets/datashts/29056601.pdf
// http://www.intel.com/design/chipsets/datashts/29056601.pdf
#include "types.h"
#include "types.h"
#include "mp.h"
#include "defs.h"
#include "defs.h"
#include "x86.h"
#include "traps.h"
#include "traps.h"
#define IOAPIC 0xFEC00000 // Default physical address of IO APIC
#define IOAPIC 0xFEC00000 // Default physical address of IO APIC
...
...
kalloc.c
浏览文件 @
558ab49f
...
@@ -5,12 +5,9 @@
...
@@ -5,12 +5,9 @@
// One reason the page size is 4k is that the x86 segment size
// One reason the page size is 4k is that the x86 segment size
// granularity is 4k.
// granularity is 4k.
#include "param.h"
#include "types.h"
#include "types.h"
#include "defs.h"
#include "defs.h"
#include "param.h"
#include "param.h"
#include "mmu.h"
#include "proc.h"
#include "spinlock.h"
#include "spinlock.h"
struct
spinlock
kalloc_lock
;
struct
spinlock
kalloc_lock
;
...
...
lapic.c
浏览文件 @
558ab49f
...
@@ -2,12 +2,7 @@
...
@@ -2,12 +2,7 @@
// See Chapter 8 & Appendix C of Intel processor manual volume 3.
// See Chapter 8 & Appendix C of Intel processor manual volume 3.
#include "types.h"
#include "types.h"
#include "defs.h"
#include "param.h"
#include "x86.h"
#include "traps.h"
#include "traps.h"
#include "mmu.h"
#include "proc.h"
// Local APIC registers, divided by 4 for use as uint[] indices.
// Local APIC registers, divided by 4 for use as uint[] indices.
#define ID (0x0020/4) // ID
#define ID (0x0020/4) // ID
...
...
main.c
浏览文件 @
558ab49f
#include "types.h"
#include "types.h"
#include "defs.h"
#include "param.h"
#include "param.h"
#include "mmu.h"
#include "mmu.h"
#include "proc.h"
#include "proc.h"
#include "defs.h"
#include "x86.h"
#include "x86.h"
#include "traps.h"
#include "syscall.h"
#include "elf.h"
#include "param.h"
#include "spinlock.h"
extern
char
edata
[],
end
[];
extern
char
edata
[],
end
[];
void
bootothers
(
void
);
void
bootothers
(
void
);
// Bootstrap processor starts running C code here.
// 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
void
main0
(
void
)
main0
(
void
)
{
{
...
@@ -39,7 +31,7 @@ main0(void)
...
@@ -39,7 +31,7 @@ main0(void)
asm
volatile
(
"movl %0, %%ebp"
:
:
"r"
(
cpus
[
bcpu
].
mpstack
+
MPSTACK
));
asm
volatile
(
"movl %0, %%ebp"
:
:
"r"
(
cpus
[
bcpu
].
mpstack
+
MPSTACK
));
lapic_init
(
bcpu
);
lapic_init
(
bcpu
);
cprintf
(
"
\
\
ncpu%d: starting xv6
\\
n
\
\
n"
,
cpu
());
cprintf
(
"
\
n
cpu%d: starting xv6
\n
\n
"
,
cpu
());
pinit
();
// process table
pinit
();
// process table
binit
();
// buffer cache
binit
();
// buffer cache
...
@@ -69,7 +61,7 @@ main0(void)
...
@@ -69,7 +61,7 @@ main0(void)
void
void
mpmain
(
void
)
mpmain
(
void
)
{
{
cprintf
(
"cpu%d: starting
\
\
n"
,
cpu
());
cprintf
(
"cpu%d: starting
\n
"
,
cpu
());
idtinit
();
idtinit
();
lapic_init
(
cpu
());
lapic_init
(
cpu
());
setupsegs
(
0
);
setupsegs
(
0
);
...
...
mkfs.c
浏览文件 @
558ab49f
...
@@ -5,7 +5,6 @@
...
@@ -5,7 +5,6 @@
#include <fcntl.h>
#include <fcntl.h>
#include <assert.h>
#include <assert.h>
#include "types.h"
#include "types.h"
#include "param.h"
#include "fs.h"
#include "fs.h"
int
nblocks
=
995
;
int
nblocks
=
995
;
...
@@ -55,7 +54,7 @@ int
...
@@ -55,7 +54,7 @@ int
main
(
int
argc
,
char
*
argv
[])
main
(
int
argc
,
char
*
argv
[])
{
{
int
i
,
cc
,
fd
;
int
i
,
cc
,
fd
;
uint
bn
,
rootino
,
inum
,
off
;
uint
rootino
,
inum
,
off
;
struct
dirent
de
;
struct
dirent
de
;
char
buf
[
512
];
char
buf
[
512
];
struct
dinode
din
;
struct
dinode
din
;
...
...
mp.c
浏览文件 @
558ab49f
// http://developer.intel.com/design/pentium/datashts/24201606.pdf
// http://developer.intel.com/design/pentium/datashts/24201606.pdf
#include "types.h"
#include "types.h"
#include "mp.h"
#include "defs.h"
#include "defs.h"
#include "param.h"
#include "param.h"
#include "mp.h"
#include "x86.h"
#include "x86.h"
#include "traps.h"
#include "mmu.h"
#include "mmu.h"
#include "proc.h"
#include "proc.h"
...
...
picirq.c
浏览文件 @
558ab49f
#include "types.h"
#include "types.h"
#include "x86.h"
#include "x86.h"
#include "traps.h"
#include "traps.h"
#include "defs.h"
// I/O Addresses of the two 8259A programmable interrupt controllers
// I/O Addresses of the two 8259A programmable interrupt controllers
#define IO_PIC1 0x20 // Master (IRQs 0-7)
#define IO_PIC1 0x20 // Master (IRQs 0-7)
...
...
pipe.c
浏览文件 @
558ab49f
#include "types.h"
#include "types.h"
#include "defs.h"
#include "param.h"
#include "param.h"
#include "x86.h"
#include "mmu.h"
#include "mmu.h"
#include "proc.h"
#include "proc.h"
#include "defs.h"
#include "file.h"
#include "file.h"
#include "spinlock.h"
#include "spinlock.h"
...
...
proc.c
浏览文件 @
558ab49f
#include "types.h"
#include "types.h"
#include "defs.h"
#include "param.h"
#include "mmu.h"
#include "mmu.h"
#include "x86.h"
#include "x86.h"
#include "param.h"
#include "file.h"
#include "proc.h"
#include "proc.h"
#include "defs.h"
#include "spinlock.h"
#include "spinlock.h"
struct
spinlock
proc_table_lock
;
struct
spinlock
proc_table_lock
;
...
...
sh.c
浏览文件 @
558ab49f
#include "types.h"
#include "types.h"
#include "stat.h"
#include "stat.h"
#include "user.h"
#include "user.h"
#include "fs.h"
#include "fcntl.h"
#include "fcntl.h"
#define BUFSIZ 512
#define BUFSIZ 512
...
...
spinlock.c
浏览文件 @
558ab49f
...
@@ -2,9 +2,9 @@
...
@@ -2,9 +2,9 @@
#include "types.h"
#include "types.h"
#include "defs.h"
#include "defs.h"
#include "param.h"
#include "x86.h"
#include "x86.h"
#include "mmu.h"
#include "mmu.h"
#include "param.h"
#include "proc.h"
#include "proc.h"
#include "spinlock.h"
#include "spinlock.h"
...
...
string.c
浏览文件 @
558ab49f
#include "types.h"
#include "types.h"
#include "defs.h"
void
*
void
*
memset
(
void
*
dst
,
int
c
,
uint
n
)
memset
(
void
*
dst
,
int
c
,
uint
n
)
...
...
syscall.c
浏览文件 @
558ab49f
#include "types.h"
#include "types.h"
#include "
stat
.h"
#include "
defs
.h"
#include "param.h"
#include "param.h"
#include "mmu.h"
#include "mmu.h"
#include "proc.h"
#include "proc.h"
#include "defs.h"
#include "x86.h"
#include "x86.h"
#include "traps.h"
#include "syscall.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.
// User code makes a system call with INT T_SYSCALL.
// System call number in %eax.
// System call number in %eax.
...
...
sysfile.c
浏览文件 @
558ab49f
#include "types.h"
#include "types.h"
#include "
stat
.h"
#include "
defs
.h"
#include "param.h"
#include "param.h"
#include "stat.h"
#include "mmu.h"
#include "mmu.h"
#include "proc.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 "fs.h"
#include "fsvar.h"
#include "fsvar.h"
#include "file.h"
#include "file.h"
...
...
sysproc.c
浏览文件 @
558ab49f
#include "types.h"
#include "types.h"
#include "
stat
.h"
#include "
defs
.h"
#include "param.h"
#include "param.h"
#include "mmu.h"
#include "mmu.h"
#include "proc.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
int
sys_fork
(
void
)
sys_fork
(
void
)
...
...
trap.c
浏览文件 @
558ab49f
#include "types.h"
#include "types.h"
#include "defs.h"
#include "param.h"
#include "param.h"
#include "mmu.h"
#include "mmu.h"
#include "proc.h"
#include "proc.h"
#include "defs.h"
#include "x86.h"
#include "x86.h"
#include "traps.h"
#include "traps.h"
#include "syscall.h"
#include "spinlock.h"
#include "spinlock.h"
// Interrupt descriptor table (shared by all CPUs).
// Interrupt descriptor table (shared by all CPUs).
...
...
umalloc.c
浏览文件 @
558ab49f
...
@@ -3,8 +3,8 @@
...
@@ -3,8 +3,8 @@
#include "user.h"
#include "user.h"
#include "param.h"
#include "param.h"
// Memory allocator by Kernighan and Ritchie,
The C programming Language,
// Memory allocator by Kernighan and Ritchie,
// 2nd ed. Section 8.7.
//
The C programming Language,
2nd ed. Section 8.7.
typedef
long
Align
;
typedef
long
Align
;
...
...
zombie.c
浏览文件 @
558ab49f
...
@@ -8,8 +8,6 @@
...
@@ -8,8 +8,6 @@
int
int
main
(
void
)
main
(
void
)
{
{
int
i
;
if
(
fork
()
>
0
)
if
(
fork
()
>
0
)
sleep
(
5
);
// Let child exit before parent.
sleep
(
5
);
// Let child exit before parent.
exit
();
exit
();
...
...
编写
预览
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论