Auto link multiple applications in kernel.
This commit is contained in:
parent
1943a50d0d
commit
220397e5a5
5 changed files with 64 additions and 9 deletions
19
os/build.rs
19
os/build.rs
|
@ -20,13 +20,30 @@ fn insert_app_data() -> Result<()> {
|
|||
})
|
||||
.collect();
|
||||
|
||||
writeln!(f, r#"
|
||||
.align 4
|
||||
.section .data
|
||||
.global _num_app
|
||||
_num_app:
|
||||
.quad {}
|
||||
"#, apps.len())?;
|
||||
|
||||
for i in 0..apps.len() {
|
||||
writeln!(f, r#"
|
||||
.quad app_{}_start
|
||||
"#, i)?;
|
||||
}
|
||||
writeln!(f, r#"
|
||||
.quad app_{}_end
|
||||
"#, apps.len() - 1)?;
|
||||
|
||||
for (idx, app_with_extension) in apps.iter().enumerate() {
|
||||
writeln!(f, r#"
|
||||
.section .data
|
||||
.global app_{0}_start
|
||||
.global app_{0}_end
|
||||
app_{0}_start:
|
||||
.incbin "{2}{1}"
|
||||
.incbin "{2}{1}.bin"
|
||||
app_{0}_end:
|
||||
"#, idx, app_with_extension, TARGET_PATH)?;
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue