Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
OpenXiangShan
NEMU
提交
49ef8f25
N
NEMU
项目概览
OpenXiangShan
/
NEMU
11 个月 前同步成功
通知
7
Star
171
Fork
67
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
N
NEMU
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
49ef8f25
编写于
8月 11, 2019
作者:
Z
Zihao Yu
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
device: add argsrom to support mainargs in AM
上级
7293c4a9
变更
3
隐藏空白更改
内联
并排
Showing
3 changed file
with
24 addition
and
1 deletion
+24
-1
src/device/argsrom.c
src/device/argsrom.c
+13
-0
src/device/device.c
src/device/device.c
+4
-0
src/monitor/monitor.c
src/monitor/monitor.c
+7
-1
未找到文件。
src/device/argsrom.c
0 → 100644
浏览文件 @
49ef8f25
#include "common.h"
#include "device/map.h"
#define ARGSROM_MMIO 0xa2000000
static
uint8_t
*
argsrom_base
;
char
*
get_mainargs
(
void
);
void
init_argsrom
()
{
argsrom_base
=
new_space
(
4096
);
strcpy
((
char
*
)
argsrom_base
,
get_mainargs
());
add_mmio_map
(
"argsrom"
,
ARGSROM_MMIO
,
argsrom_base
,
4096
,
NULL
);
}
src/device/device.c
浏览文件 @
49ef8f25
#include "common.h"
void
init_argsrom
();
#ifdef HAS_IOE
#include <sys/time.h>
...
...
@@ -64,6 +66,7 @@ void sdl_clear_event_queue() {
}
void
init_device
()
{
init_argsrom
();
init_serial
();
init_timer
();
init_vga
();
...
...
@@ -83,6 +86,7 @@ void init_device() {
#else
void
init_device
()
{
init_argsrom
();
}
#endif
/* HAS_IOE */
src/monitor/monitor.c
浏览文件 @
49ef8f25
...
...
@@ -9,6 +9,7 @@ void init_device();
void
init_difftest
(
char
*
ref_so_file
,
long
img_size
);
FILE
*
log_fp
=
NULL
;
static
char
*
mainargs
=
""
;
static
char
*
log_file
=
NULL
;
static
char
*
diff_so_file
=
NULL
;
static
char
*
img_file
=
NULL
;
...
...
@@ -68,9 +69,10 @@ static inline long load_img() {
static
inline
void
parse_args
(
int
argc
,
char
*
argv
[])
{
int
o
;
while
(
(
o
=
getopt
(
argc
,
argv
,
"-bl:d:"
))
!=
-
1
)
{
while
(
(
o
=
getopt
(
argc
,
argv
,
"-bl:d:
a:
"
))
!=
-
1
)
{
switch
(
o
)
{
case
'b'
:
is_batch_mode
=
true
;
break
;
case
'a'
:
mainargs
=
optarg
;
break
;
case
'l'
:
log_file
=
optarg
;
break
;
case
'd'
:
diff_so_file
=
optarg
;
break
;
case
1
:
...
...
@@ -83,6 +85,10 @@ static inline void parse_args(int argc, char *argv[]) {
}
}
char
*
get_mainargs
(
void
)
{
return
mainargs
;
}
int
init_monitor
(
int
argc
,
char
*
argv
[])
{
/* Perform some global initialization. */
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录