Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
OS
U-Boot.Mirror
提交
e559a690
U
U-Boot.Mirror
项目概览
OS
/
U-Boot.Mirror
通知
1
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
U
U-Boot.Mirror
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
e559a690
编写于
1月 11, 2006
作者:
K
Kumar Gala
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Add support for passing initrd information via flat device tree
Patch by Kumar Gala 11 Jan 2006
上级
c2871f03
变更
4
隐藏空白更改
内联
并排
Showing
4 changed file
with
22 addition
and
10 deletion
+22
-10
CHANGELOG
CHANGELOG
+3
-0
common/cmd_bootm.c
common/cmd_bootm.c
+10
-6
common/ft_build.c
common/ft_build.c
+8
-3
include/ft_build.h
include/ft_build.h
+1
-1
未找到文件。
CHANGELOG
浏览文件 @
e559a690
...
@@ -2,6 +2,9 @@
...
@@ -2,6 +2,9 @@
Changes since U-Boot 1.1.4:
Changes since U-Boot 1.1.4:
======================================================================
======================================================================
* Add support for passing initrd information via flat device tree
Patch by Kumar Gala 11 Jan 2006
* Added OF_STDOUT_PATH and OF_SOC
* Added OF_STDOUT_PATH and OF_SOC
OF_STDOUT_PATH specifies the path to the device the kernel can use
OF_STDOUT_PATH specifies the path to the device the kernel can use
...
...
common/cmd_bootm.c
浏览文件 @
e559a690
...
@@ -819,7 +819,7 @@ do_bootm_linux (cmd_tbl_t *cmdtp, int flag,
...
@@ -819,7 +819,7 @@ do_bootm_linux (cmd_tbl_t *cmdtp, int flag,
(
*
kernel
)
(
kbd
,
initrd_start
,
initrd_end
,
cmd_start
,
cmd_end
);
(
*
kernel
)
(
kbd
,
initrd_start
,
initrd_end
,
cmd_start
,
cmd_end
);
#else
#else
ft_setup
(
of_flat_tree
,
OF_FLAT_TREE_MAX_SIZE
,
kbd
);
ft_setup
(
of_flat_tree
,
OF_FLAT_TREE_MAX_SIZE
,
kbd
,
initrd_start
,
initrd_end
);
/* ft_dump_blob(of_flat_tree); */
/* ft_dump_blob(of_flat_tree); */
#if defined(CFG_INIT_RAM_LOCK) && !defined(CONFIG_E500)
#if defined(CFG_INIT_RAM_LOCK) && !defined(CONFIG_E500)
...
@@ -828,12 +828,16 @@ do_bootm_linux (cmd_tbl_t *cmdtp, int flag,
...
@@ -828,12 +828,16 @@ do_bootm_linux (cmd_tbl_t *cmdtp, int flag,
/*
/*
* Linux Kernel Parameters:
* Linux Kernel Parameters:
* r3: ptr to OF flat tree, followed by the board info data
* r3: ptr to OF flat tree, followed by the board info data
* r4:
initrd_start or 0 if no initrd
* r4:
physical pointer to the kernel itself
* r5:
initrd_end - unused if r4 is 0
* r5:
NULL
* r6:
Start of command line string
* r6:
NULL
* r7:
End of command line string
* r7:
NULL
*/
*/
(
*
kernel
)
((
bd_t
*
)
of_flat_tree
,
initrd_start
,
initrd_end
,
cmd_start
,
cmd_end
);
if
(
getenv
(
"disable_of"
)
!=
NULL
)
(
*
kernel
)
((
bd_t
*
)
of_flat_tree
,
initrd_start
,
initrd_end
,
cmd_start
,
cmd_end
);
else
(
*
kernel
)
((
bd_t
*
)
of_flat_tree
,
(
ulong
)
kernel
,
0
,
0
,
0
);
#endif
#endif
}
}
...
...
common/ft_build.c
浏览文件 @
e559a690
...
@@ -163,7 +163,7 @@ void ft_add_rsvmap(struct ft_cxt *cxt, u64 physaddr, u64 size)
...
@@ -163,7 +163,7 @@ void ft_add_rsvmap(struct ft_cxt *cxt, u64 physaddr, u64 size)
((
u64
*
)
cxt
->
pres
)[
0
]
=
cpu_to_be64
(
physaddr
);
/* phys = 0, size = 0, terminate */
((
u64
*
)
cxt
->
pres
)[
0
]
=
cpu_to_be64
(
physaddr
);
/* phys = 0, size = 0, terminate */
((
u64
*
)
cxt
->
pres
)[
1
]
=
cpu_to_be64
(
size
);
((
u64
*
)
cxt
->
pres
)[
1
]
=
cpu_to_be64
(
size
);
cxt
->
pres
+=
1
8
;
/* advance */
cxt
->
pres
+=
1
6
;
/* advance */
((
u64
*
)
cxt
->
pres
)[
0
]
=
0
;
/* phys = 0, size = 0, terminate */
((
u64
*
)
cxt
->
pres
)[
0
]
=
0
;
/* phys = 0, size = 0, terminate */
((
u64
*
)
cxt
->
pres
)[
1
]
=
0
;
((
u64
*
)
cxt
->
pres
)[
1
]
=
0
;
...
@@ -577,7 +577,7 @@ static const struct {
...
@@ -577,7 +577,7 @@ static const struct {
};
};
#endif
#endif
void
ft_setup
(
void
*
blob
,
int
size
,
bd_t
*
bd
)
void
ft_setup
(
void
*
blob
,
int
size
,
bd_t
*
bd
,
ulong
initrd_start
,
ulong
initrd_end
)
{
{
u32
*
p
;
u32
*
p
;
int
len
;
int
len
;
...
@@ -602,7 +602,8 @@ void ft_setup(void *blob, int size, bd_t * bd)
...
@@ -602,7 +602,8 @@ void ft_setup(void *blob, int size, bd_t * bd)
ft_begin
(
&
cxt
,
blob
,
size
);
ft_begin
(
&
cxt
,
blob
,
size
);
/* fs_add_rsvmap not used */
if
(
initrd_start
&&
initrd_end
)
ft_add_rsvmap
(
&
cxt
,
initrd_start
,
initrd_end
-
initrd_start
+
1
);
ft_begin_tree
(
&
cxt
);
ft_begin_tree
(
&
cxt
);
...
@@ -645,6 +646,10 @@ void ft_setup(void *blob, int size, bd_t * bd)
...
@@ -645,6 +646,10 @@ void ft_setup(void *blob, int size, bd_t * bd)
ft_prop_str
(
&
cxt
,
"name"
,
"chosen"
);
ft_prop_str
(
&
cxt
,
"name"
,
"chosen"
);
ft_prop_str
(
&
cxt
,
"bootargs"
,
getenv
(
"bootargs"
));
ft_prop_str
(
&
cxt
,
"bootargs"
,
getenv
(
"bootargs"
));
ft_prop_int
(
&
cxt
,
"linux,platform"
,
0x600
);
/* what is this? */
ft_prop_int
(
&
cxt
,
"linux,platform"
,
0x600
);
/* what is this? */
if
(
initrd_start
&&
initrd_end
)
{
ft_prop_int
(
&
cxt
,
"linux,initrd-start"
,
initrd_start
);
ft_prop_int
(
&
cxt
,
"linux,initrd-end"
,
initrd_end
);
}
#ifdef OF_STDOUT_PATH
#ifdef OF_STDOUT_PATH
ft_prop_str
(
&
cxt
,
"linux,stdout-path"
,
OF_STDOUT_PATH
);
ft_prop_str
(
&
cxt
,
"linux,stdout-path"
,
OF_STDOUT_PATH
);
#endif
#endif
...
...
include/ft_build.h
浏览文件 @
e559a690
...
@@ -57,7 +57,7 @@ void ft_prop_int(struct ft_cxt *cxt, const char *name, int val);
...
@@ -57,7 +57,7 @@ void ft_prop_int(struct ft_cxt *cxt, const char *name, int val);
void
ft_begin
(
struct
ft_cxt
*
cxt
,
void
*
blob
,
int
max_size
);
void
ft_begin
(
struct
ft_cxt
*
cxt
,
void
*
blob
,
int
max_size
);
void
ft_add_rsvmap
(
struct
ft_cxt
*
cxt
,
u64
physaddr
,
u64
size
);
void
ft_add_rsvmap
(
struct
ft_cxt
*
cxt
,
u64
physaddr
,
u64
size
);
void
ft_setup
(
void
*
blob
,
int
size
,
bd_t
*
bd
);
void
ft_setup
(
void
*
blob
,
int
size
,
bd_t
*
bd
,
ulong
initrd_start
,
ulong
initrd_end
);
void
ft_dump_blob
(
const
void
*
bphp
);
void
ft_dump_blob
(
const
void
*
bphp
);
void
ft_merge_blob
(
struct
ft_cxt
*
cxt
,
void
*
blob
);
void
ft_merge_blob
(
struct
ft_cxt
*
cxt
,
void
*
blob
);
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录