Working on app data auto linking.
This commit is contained in:
parent
2c08dbfecb
commit
1943a50d0d
7 changed files with 62 additions and 18 deletions
|
@ -8,9 +8,11 @@
|
|||
mod console;
|
||||
mod lang_items;
|
||||
mod sbi;
|
||||
|
||||
mod syscall;
|
||||
mod trap;
|
||||
|
||||
global_asm!(include_str!("entry.asm"));
|
||||
global_asm!(include_str!("link_app.S"));
|
||||
|
||||
fn clear_bss() {
|
||||
extern "C" {
|
||||
|
@ -25,23 +27,11 @@ fn clear_bss() {
|
|||
#[no_mangle]
|
||||
pub fn rust_main() -> ! {
|
||||
extern "C" {
|
||||
fn stext();
|
||||
fn etext();
|
||||
fn srodata();
|
||||
fn erodata();
|
||||
fn sdata();
|
||||
fn edata();
|
||||
fn sbss();
|
||||
fn ebss();
|
||||
fn boot_stack();
|
||||
fn boot_stack_top();
|
||||
fn app_0_start();
|
||||
fn app_0_end();
|
||||
};
|
||||
clear_bss();
|
||||
println!("Hello, world!");
|
||||
println!(".text [{:#x}, {:#x})", stext as usize, etext as usize);
|
||||
println!(".rodata [{:#x}, {:#x})", srodata as usize, erodata as usize);
|
||||
println!(".data [{:#x}, {:#x})", sdata as usize, edata as usize);
|
||||
println!("boot_stack [{:#x}, {:#x})", boot_stack as usize, boot_stack_top as usize);
|
||||
println!(".bss [{:#x}, {:#x})", sbss as usize, ebss as usize);
|
||||
println!("app_0 [{:#x}, {:#x})", app_0_start as usize, app_0_end as usize);
|
||||
panic!("Shutdown machine!");
|
||||
}
|
2
os/src/syscall/mod.rs
Normal file
2
os/src/syscall/mod.rs
Normal file
|
@ -0,0 +1,2 @@
|
|||
const SYSCALL_WRITE: usize = 64;
|
||||
|
0
os/src/trap.rs
Normal file
0
os/src/trap.rs
Normal file
Loading…
Add table
Add a link
Reference in a new issue