41 Commits (de3ba3e871d57ae6b6c0776292a22b6bb1d110ee)

Author SHA1 Message Date
Andre Richter de3ba3e871 Refactor Tests and Makefile
- Carve out common files for tests
- Add boot tests starting tutorial 3
- Overhaul the Makefile for more structure
3 years ago
Andre Richter 7f666000ce
Init DRAM in assembly instead of Rust
See https://github.com/rust-embedded/cortex-m-rt/issues/300
3 years ago
Andre Richter 9f1920c2c6
Give the project a name
🦩
3 years ago
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 2f90304149
Add color and verbosity to Makefile 3 years ago
Andre Richter a5884321a7
Fix rustdoc warnings 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 44bb3f8942
Update copyright year 4 years ago
Andre Richter b30bc518c4
Switch to GCC objdump and nm
The GCC versions of `objdump` and `nm` seem to have better out-of-the-box
support (for AArch64). Demangling works better, and instructions in objdump are
presented as 4 bytes instead of 4 * 1 bytes, which helps a lot.

Hence, switch to the GCC versions for now until LLVM has caught up.
4 years ago
Andre Richter 8fc250fc08
Streamline READMEs 4 years ago
Andre Richter 22faff5229
Various finetunings 4 years ago
Andre Richter 37b9d1435e
Move anything wrt linker symbols to bsp::memory
Also, some rewording of data types.
4 years ago
Andre Richter f46c742289
Update README.md 4 years ago
Andre Richter cfc3bfc996
Switch to new Rust inline asm! syntax 4 years ago
Andre Richter 82f97c000b
Switch to llvm_asm! to avoid future breakage 4 years ago
Andre Richter 98d5d79acf
Don't check in binaries anymore 4 years ago
Andre Richter a4266ba978
More Makefile fixes 4 years ago
Andre Richter 474f58ced0
Add README diffs 4 years ago
Andre Richter 175d72ae8b
Refactor tutorial 03 4 years ago
Andre Richter bb78c779ca
Introducing Minipush, a raspbootcom replacement.
Gets rid of compiled C++, uses Ruby 💎
4 years ago
Andre Richter c64dd1197a
For educational purposes, use own zero_bss(). 5 years ago
Andre Richter a41190e298
Ensure kernel panic starts on newline 5 years ago
Andre Richter e690f8e7e4
Copyright bump to 2020 🎆 5 years ago
Andre Richter f6832bec31
Add ToC 5 years ago
Andre Richter 10090900cc
Add missing source comments 5 years ago
Andre Richter 821c7e2103
QEMU: Don't spawn a VNC session 5 years ago
Andre Richter 54137e8b38
Relicense as dual MIT OR Apache-2.0 5 years ago
Andre Richter 8c2b18e8ce
More robust, self-contained UART printing in panic! 5 years ago
Andre Richter 6119cf88b1
Actions: Add RPi4 build 5 years ago
Andre Richter 9547bf77af
Fix diff script
Closes #32
5 years ago
Andre Richter 7c92445a64
Update README.md 5 years ago
Andre Richter a507bba9da
Update README.md 5 years ago
Andre Richter 2fe2dcba6d
Add support for Raspberry Pi 4 🎉 5 years ago
Andre Richter 2933bcf162
Separate init from main 5 years ago
Andre Richter 56a650397d
Having a little code formatting party 5 years ago
Andre Richter d57cf418bf
Add arch use clause 5 years ago
Andre Richter 038c558ac8
Big restructuring for more modularity
- Make architecture code separate from BSP code
- Make BSPs pull in drivers from a generic folder
    - Enables reuse of drivers between different BSPs.
5 years ago
Andre Richter 515a96925d
Minor adaptions 5 years ago
Andre Richter de3957009b
Use distinct path for interfaces 5 years ago
Andre Richter 678bec0eca
Various fixes
- Make cortex-a crate an optional dependecy of the rpi3 bsp
- Introduce wildcards for dependencies
- Change readme diff generation
5 years ago
Andre Richter 651097d55e
Add first bunch of README stubs 5 years ago