You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
e8d787f627 | 5 years ago | |
---|---|---|
.. | ||
.vscode | 5 years ago | |
src | 5 years ago | |
Cargo.lock | 5 years ago | |
Cargo.toml | 5 years ago | |
Makefile | 5 years ago | |
README.md | 5 years ago | |
kernel | 5 years ago | |
kernel8.img | 5 years ago |
README.md
Tutorial 02 - Runtime Init
tl;dr
We extend cpu.S
to call into Rust code for the first time. There,we zero the bss section before
execution is halted with a call to panic()
. Check out make qemu
again to see the additional code
run.
Notable additions
- More sections in linker script:
.rodata
,.data
.bss
_start()
:- Halt core if core !=
core0
. core0
jumps to theruntime_init()
Rust function.
- Halt core if core !=
runtime_init()
inruntime_init.rs
- Zeros the
.bss
section. - Calls
kernel_init()
, which callspanic!()
, which eventually haltscore0
as well.
- Zeros the