Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
X
xv6-public
项目
项目
详情
活动
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
统计图
问题
0
问题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
银宸时代
OS Lab Group
奖励实验
xv6-public
提交
aaf63e62
提交
aaf63e62
10月 07, 2009
创建
作者:
Frans Kaashoek
浏览文件
操作
浏览文件
下载
差异文件
Merge branch 'master' of
git+ssh://amsterdam.csail.mit.edu/home/am0/6.828/xv6
上级
ab777a9a
2c536bff
隐藏空白字符变更
内嵌
并排
正在显示
4 个修改的文件
包含
28 行增加
和
9 行删除
+28
-9
.gdbinit.tmpl
.gdbinit.tmpl
+3
-4
Makefile
Makefile
+8
-4
console.c
console.c
+10
-1
string.c
string.c
+7
-0
没有找到文件。
.gdbinit.tmpl
浏览文件 @
aaf63e62
set $lastcs = -1
# This fails on Darwin because the default gdb has no ELF support
# echo + symbol-file obj/kern/kernel\n
# symbol-file obj/kern/kernel
define hook-stop
# There doesn't seem to be a good way to detect if we're in 16- or
# 32-bit mode, but in 32-bit mode we always run with CS == 8 in the
...
...
@@ -26,3 +22,6 @@ end
echo + target remote localhost:1234\n
target remote localhost:1234
echo + symbol-file kernel\n
symbol-file kernel
Makefile
浏览文件 @
aaf63e62
...
...
@@ -39,7 +39,7 @@ OBJCOPY = $(TOOLPREFIX)objcopy
OBJDUMP
=
$(TOOLPREFIX)
objdump
CFLAGS
=
-fno-pic
-static
-fno-builtin
-fno-strict-aliasing
-O2
-Wall
-MD
-ggdb
-m32
CFLAGS
+=
$(
shell
$(CC)
-fno-stack-protector
-E
-x
c /dev/null
>
/dev/null 2>&1
&&
echo
-fno-stack-protector
)
ASFLAGS
=
-m32
ASFLAGS
=
-m32
-gdwarf-2
# FreeBSD ld wants ``elf_i386_fbsd''
LDFLAGS
+=
-m
$(
shell
$(LD)
-V
|
grep
elf_i386 2>/dev/null
)
...
...
@@ -143,9 +143,9 @@ GDBPORT = $(shell expr `id -u` % 5000 + 25000)
QEMUOPTS
=
-smp
2
-hdb
fs.img xv6.img
qemu
:
fs.img xv6.img
qemu
-
paralle
l
mon:stdio
$(QEMUOPTS)
qemu
-
seria
l
mon:stdio
$(QEMUOPTS)
qemu
tty
:
fs.img xv6.img
qemu
-nox
:
fs.img xv6.img
qemu
-nographic
$(QEMUOPTS)
.gdbinit
:
.gdbinit.tmpl
...
...
@@ -153,7 +153,11 @@ qemutty: fs.img xv6.img
qemu-gdb
:
fs.img xv6.img .gdbinit
@
echo
"*** Now run 'gdb'."
1>&2
qemu
-parallel
mon:stdio
$(QEMUOPTS)
-s
-S
-p
$(GDBPORT)
qemu
-serial
mon:stdio
$(QEMUOPTS)
-s
-S
-p
$(GDBPORT)
qemu-gdb-nox
:
fs.img xv6.img .gdbinit
@
echo
"*** Now run 'gdb'."
1>&2
qemu
-nographic
$(QEMUOPTS)
-s
-S
-p
$(GDBPORT)
# CUT HERE
# prepare dist for students
...
...
console.c
浏览文件 @
aaf63e62
...
...
@@ -163,7 +163,12 @@ consputc(int c)
;
}
uartputc
(
c
);
if
(
c
==
BACKSPACE
)
{
uartputc
(
'\b'
);
uartputc
(
' '
);
uartputc
(
'\b'
);
}
else
uartputc
(
c
);
cgaputc
(
c
);
}
...
...
@@ -198,6 +203,7 @@ consoleintr(int (*getc)(void))
}
break
;
case
C
(
'H'
):
// Backspace
case
'\x7f'
:
if
(
input
.
e
!=
input
.
w
){
input
.
e
--
;
consputc
(
BACKSPACE
);
...
...
@@ -205,6 +211,9 @@ consoleintr(int (*getc)(void))
break
;
default:
if
(
c
!=
0
&&
input
.
e
-
input
.
r
<
INPUT_BUF
){
// The serial port produces 0x13, not 0x10
if
(
c
==
'\r'
)
c
=
'\n'
;
input
.
buf
[
input
.
e
++
%
INPUT_BUF
]
=
c
;
consputc
(
c
);
if
(
c
==
'\n'
||
c
==
C
(
'D'
)
||
input
.
e
==
input
.
r
+
INPUT_BUF
){
...
...
string.c
浏览文件 @
aaf63e62
...
...
@@ -44,6 +44,13 @@ memmove(void *dst, const void *src, uint n)
return
dst
;
}
// memcpy exists to placate GCC. Use memmove.
void
*
memcpy
(
void
*
dst
,
const
void
*
src
,
uint
n
)
{
return
memmove
(
dst
,
src
,
n
);
}
int
strncmp
(
const
char
*
p
,
const
char
*
q
,
uint
n
)
{
...
...
编写
预览
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论