8 Commits (7c9b472e1e1746b47a6cb1cd45e14a5b6da9ed7a)

Author SHA1 Message Date
Andre Richter 2432c0d283
Revert to assembly boot code
It is too risky to rely on the compiler to not insert any operations using the
stack.

Having a stack-setting call in Rust using the cortex-a crate as the first action
in a Rust-only _start() function does not work if you're subsequently using the
stack, because the compiler often inserts the operations to make room on the
stack to prepare a function call BEFORE the call to set the stack, which crashes
the boot process.

Hence, keep on using a small piece of assembly boot code throughout.
3 years ago
Andre Richter 6db8b2bc72
Update toolchain 3 years ago
Andre Richter e7cb61b389
Refactoring
- Don't wildcard-import from arch modules. Make it explicit.
- Put translation table code into its own module.
- Put boot code in boot.rs instead of cpu.rs
- Other minor changes, most memory subsystem.
3 years ago
Andre Richter 269df3e25d
Update toolchain 4 years ago
Andre Richter d212348931
Bump compiler version.
We have to remove the `#[naked]` attribute from `_start` for now, since it emits
a warning now when used with non-asm statements in the function body. For now,
just hope for the compiler's mercy to not emit code using the stack pointer
before we've actually set up a stack.
4 years ago
Andre Richter 709b67f1ce
Introduce rust-toolchain
Make use of the new format, introduced in
https://blog.rust-lang.org/2020/11/27/Rustup-1.23.0.html#new-format-for-rust-toolchain
4 years ago
Andre Richter 1b164e50a1
Back to nightly for automations 5 years ago
Andre Richter fad90e8bb1
Update/force explicit toolchain 5 years ago