Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
X
xv6-public
项目
项目
详情
活动
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
统计图
问题
0
问题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
银宸时代
OS Lab Group
奖励实验
xv6-public
提交
f2e95a4d
提交
f2e95a4d
4月 10, 2012
创建
作者:
Silas Boyd-Wickizer
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Make the major numbers accessible to init
上级
c822bacf
隐藏空白字符变更
内嵌
并排
正在显示
9 个修改的文件
包含
31 行增加
和
25 行删除
+31
-25
init.cc
bin/init.cc
+6
-5
file.hh
include/file.hh
+0
-7
major.h
include/major.h
+6
-0
cmdline.cc
kernel/cmdline.cc
+3
-2
console.cc
kernel/console.cc
+3
-2
net.cc
kernel/net.cc
+3
-2
sampler.cc
kernel/sampler.cc
+4
-3
sched.cc
kernel/sched.cc
+3
-2
spinlock.cc
kernel/spinlock.cc
+3
-2
没有找到文件。
bin/init.cc
浏览文件 @
f2e95a4d
...
@@ -5,6 +5,7 @@
...
@@ -5,6 +5,7 @@
#include "user.h"
#include "user.h"
#include "fcntl.h"
#include "fcntl.h"
#include "lib.h"
#include "lib.h"
#include "major.h"
static
const
char
*
sh_argv
[]
=
{
"sh"
,
0
};
static
const
char
*
sh_argv
[]
=
{
"sh"
,
0
};
static
const
char
*
app_argv
[][
MAXARG
]
=
{
static
const
char
*
app_argv
[][
MAXARG
]
=
{
...
@@ -18,11 +19,11 @@ static struct {
...
@@ -18,11 +19,11 @@ static struct {
const
char
*
name
;
const
char
*
name
;
int
major
;
int
major
;
}
dev
[]
=
{
}
dev
[]
=
{
{
"/dev/netif"
,
2
},
{
"/dev/netif"
,
MAJ_NETIF
},
{
"/dev/sampler"
,
3
},
{
"/dev/sampler"
,
MAJ_SAMPLER
},
{
"/dev/lockstat"
,
4
},
{
"/dev/lockstat"
,
MAJ_LOCKSTAT
},
{
"/dev/stat"
,
5
},
{
"/dev/stat"
,
MAJ_STAT
},
{
"/dev/cmdline"
,
6
},
{
"/dev/cmdline"
,
MAJ_CMDLINE
},
};
};
static
int
static
int
...
...
include/file.hh
浏览文件 @
f2e95a4d
...
@@ -80,10 +80,3 @@ struct devsw {
...
@@ -80,10 +80,3 @@ struct devsw {
};
};
extern
struct
devsw
devsw
[];
extern
struct
devsw
devsw
[];
#define CONSOLE 1
#define NETIF 2
#define SAMPLER 3
#define DEVLOCKSTAT 4
#define DEVSTAT 5
#define DEVCMDLINE 6
include/major.h
0 → 100644
浏览文件 @
f2e95a4d
#define MAJ_CONSOLE 1
#define MAJ_NETIF 2
#define MAJ_SAMPLER 3
#define MAJ_LOCKSTAT 4
#define MAJ_STAT 5
#define MAJ_CMDLINE 6
kernel/cmdline.cc
浏览文件 @
f2e95a4d
...
@@ -6,6 +6,7 @@
...
@@ -6,6 +6,7 @@
#include "condvar.h"
#include "condvar.h"
#include "fs.h"
#include "fs.h"
#include "file.hh"
#include "file.hh"
#include "major.h"
extern
char
cmdline
[];
extern
char
cmdline
[];
...
@@ -28,6 +29,6 @@ initcmdline(void)
...
@@ -28,6 +29,6 @@ initcmdline(void)
if
(
VERBOSE
)
if
(
VERBOSE
)
cprintf
(
"cmdline: %s
\n
"
,
cmdline
);
cprintf
(
"cmdline: %s
\n
"
,
cmdline
);
devsw
[
DEV
CMDLINE
].
write
=
nullptr
;
devsw
[
MAJ_
CMDLINE
].
write
=
nullptr
;
devsw
[
DEV
CMDLINE
].
read
=
cmdlineread
;
devsw
[
MAJ_
CMDLINE
].
read
=
cmdlineread
;
}
}
kernel/console.cc
浏览文件 @
f2e95a4d
...
@@ -18,6 +18,7 @@
...
@@ -18,6 +18,7 @@
#include "fmt.hh"
#include "fmt.hh"
#include "sperf.hh"
#include "sperf.hh"
#include "wq.hh"
#include "wq.hh"
#include "major.h"
#define BACKSPACE 0x100
#define BACKSPACE 0x100
...
@@ -341,8 +342,8 @@ initconsole(void)
...
@@ -341,8 +342,8 @@ initconsole(void)
initlock
(
&
cons
.
lock
,
"console"
,
LOCKSTAT_CONSOLE
);
initlock
(
&
cons
.
lock
,
"console"
,
LOCKSTAT_CONSOLE
);
cons
.
locking
=
1
;
cons
.
locking
=
1
;
devsw
[
CONSOLE
].
write
=
consolewrite
;
devsw
[
MAJ_
CONSOLE
].
write
=
consolewrite
;
devsw
[
CONSOLE
].
read
=
consoleread
;
devsw
[
MAJ_
CONSOLE
].
read
=
consoleread
;
picenable
(
IRQ_KBD
);
picenable
(
IRQ_KBD
);
ioapicenable
(
IRQ_KBD
,
0
);
ioapicenable
(
IRQ_KBD
,
0
);
...
...
kernel/net.cc
浏览文件 @
f2e95a4d
...
@@ -7,6 +7,7 @@
...
@@ -7,6 +7,7 @@
#include "fs.h"
#include "fs.h"
#include "file.hh"
#include "file.hh"
#include "net.hh"
#include "net.hh"
#include "major.h"
#ifdef LWIP
#ifdef LWIP
extern
"C"
{
extern
"C"
{
...
@@ -249,8 +250,8 @@ initnet(void)
...
@@ -249,8 +250,8 @@ initnet(void)
{
{
struct
proc
*
t
;
struct
proc
*
t
;
devsw
[
NETIF
].
write
=
nullptr
;
devsw
[
MAJ_
NETIF
].
write
=
nullptr
;
devsw
[
NETIF
].
read
=
netifread
;
devsw
[
MAJ_
NETIF
].
read
=
netifread
;
t
=
threadalloc
(
initnet_worker
,
nullptr
);
t
=
threadalloc
(
initnet_worker
,
nullptr
);
if
(
t
==
nullptr
)
if
(
t
==
nullptr
)
...
...
kernel/sampler.cc
浏览文件 @
f2e95a4d
...
@@ -10,6 +10,7 @@
...
@@ -10,6 +10,7 @@
#include "amd64.h"
#include "amd64.h"
#include "cpu.hh"
#include "cpu.hh"
#include "sampler.h"
#include "sampler.h"
#include "major.h"
#define LOGHEADER_SZ (sizeof(struct logheader) + \
#define LOGHEADER_SZ (sizeof(struct logheader) + \
sizeof(((struct logheader*)0)->cpu[0])*NCPU)
sizeof(((struct logheader*)0)->cpu[0])*NCPU)
...
@@ -273,7 +274,7 @@ initsamp(void)
...
@@ -273,7 +274,7 @@ initsamp(void)
pmulog
[
myid
()].
event
=
(
pmuevent
*
)
p
;
pmulog
[
myid
()].
event
=
(
pmuevent
*
)
p
;
pmulog
[
myid
()].
capacity
=
PERFSIZE
/
sizeof
(
struct
pmuevent
);
pmulog
[
myid
()].
capacity
=
PERFSIZE
/
sizeof
(
struct
pmuevent
);
devsw
[
SAMPLER
].
write
=
sampwrite
;
devsw
[
MAJ_
SAMPLER
].
write
=
sampwrite
;
devsw
[
SAMPLER
].
read
=
sampread
;
devsw
[
MAJ_
SAMPLER
].
read
=
sampread
;
devsw
[
SAMPLER
].
stat
=
sampstat
;
devsw
[
MAJ_
SAMPLER
].
stat
=
sampstat
;
}
}
kernel/sched.cc
浏览文件 @
f2e95a4d
...
@@ -13,6 +13,7 @@
...
@@ -13,6 +13,7 @@
#include "wq.hh"
#include "wq.hh"
#include "percpu.hh"
#include "percpu.hh"
#include "sperf.hh"
#include "sperf.hh"
#include "major.h"
enum
{
sched_debug
=
0
};
enum
{
sched_debug
=
0
};
enum
{
steal_nonexec
=
1
};
enum
{
steal_nonexec
=
1
};
...
@@ -327,6 +328,6 @@ initsched(void)
...
@@ -327,6 +328,6 @@ initsched(void)
for
(
int
i
=
0
;
i
<
NCPU
;
i
++
)
for
(
int
i
=
0
;
i
<
NCPU
;
i
++
)
new
(
&
schedule_
[
i
])
schedule
();
new
(
&
schedule_
[
i
])
schedule
();
devsw
[
DEV
STAT
].
write
=
nullptr
;
devsw
[
MAJ_
STAT
].
write
=
nullptr
;
devsw
[
DEV
STAT
].
read
=
statread
;
devsw
[
MAJ_
STAT
].
read
=
statread
;
}
}
kernel/spinlock.cc
浏览文件 @
f2e95a4d
...
@@ -10,6 +10,7 @@
...
@@ -10,6 +10,7 @@
#include "condvar.h"
#include "condvar.h"
#include "fs.h"
#include "fs.h"
#include "file.hh"
#include "file.hh"
#include "major.h"
#if LOCKSTAT
#if LOCKSTAT
static
int
lockstat_enable
;
static
int
lockstat_enable
;
...
@@ -241,8 +242,8 @@ lockstat_write(struct inode *ip, const char *buf, u32 off, u32 n)
...
@@ -241,8 +242,8 @@ lockstat_write(struct inode *ip, const char *buf, u32 off, u32 n)
void
void
initlockstat
(
void
)
initlockstat
(
void
)
{
{
devsw
[
DEV
LOCKSTAT
].
write
=
lockstat_write
;
devsw
[
MAJ_
LOCKSTAT
].
write
=
lockstat_write
;
devsw
[
DEV
LOCKSTAT
].
read
=
lockstat_read
;
devsw
[
MAJ_
LOCKSTAT
].
read
=
lockstat_read
;
}
}
#else
#else
void
void
...
...
编写
预览
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论